Adding "Web" to our API

Sunday, April 27, 2014 by Rainer Stropek

Years ago when we defined the cornerstones of time cockpit, we decided that extensibility should be a major unique selling proposition of our time tracking software. Depending on your level of programming skills, you can configure time cockpit so that it perfectly fits your needs. Here are some examples:

  • A user without programming skills might use time cockpit's expression language to setup custom formatting profiles or add validation rules reflecting business processes specific for her company.
  • The SQL Server Reporting Services integration allows users even without programming skills to create custom reports and make them available to others in her organization.
  • A power user with limited programming skills could use time cockpit's scripting language (Python) to e.g. define advanced lists or automate routine tasks like importing data or sending out project status emails.

Users and administrators with programming skills can go even further when customizing time cockpit. From the very first day, we made the entire .NET-based business logic and data access API available to customers. It is the same API that we internally use for building the time cockpit client.

Embracing the Web with Our Brand New OData Web API

Times are changing and therefore we had to change, too. For the last 12+ months we have been working on our web strategy that will be the foundation for time cockpit in the upcoming years. We looked at numerous technologies, built prototypes, had conversations with customers and partners, made decisions and discarded them again.

This month, we are very proud that we can publish the first preview of a major keystone of our technological strategy: Say hello to time cockpit's new OData Web API.

In the next months you will see us moving more and more towards a plugin-free browser client for time cockpit. The existing browser client based on Microsoft Silverlight works fine but it has an expiration date. The future belongs to a thin client which you can use from any mainstream browser without any additional software installed. We are not there yet, there is still a long way to go for us until we reach this goal. However, this OData Web API is an important intermediate goal for us.

We continue to believe that offering an API for advanced customization and extensibility is a key success factor for modern business software. So just like in the days of the .NET API, we will continue to give you access to the same underlying API which we internally use.

Why OData? How Will You Benefit?

What's OData?

OData is a platform-independent standard for data Web APIs. You might have already accessed databases like Oracle, SQL Server, or DB2 with tools like Excel, Reporting Services, etc. The underlying protocols that enabled you to do that are perfectly fine in a world where your database is available in your local network. However, they have major drawbacks in a world of Software-as-a-Service (SaaS). These protocols simply were not designed for such scenarios.

OData is a standard that can connect application like time cockpit or Excel with SaaS services like time cockpit running in the cloud. It is available on many different platforms and it works perfectly for smart clients like time cockpit's offline-enabled full client as well as for thin clients running in the browser.

If you are new to OData, we recommend watching the following video (source: http://www.odata.org):

Let's look at some scenarios where you can already benefit from the new Web API today. They are just examples. Let them inspire you, build you solution with the new Web API and let us know about your experiences.

Data Analysis

Although time cockpit contains a powerful reporting engine, many customers love Excel. We fully respect that and we want to make accessing time cockpit from Excel as simple as possible. Excel 2013 has good OData support built in. It becomes even better if you install Power Query (works for Excel 2010, too).

You can access your time cockpit database today using this Excel feature. Just enter your time cockpit user and password and you are ready to go.

Find a more detailed description of time cockpit's OData integration in Alexander's blog post Your Data in a Geographical Context.

Data Integration

Do you want to read data from time cockpit and integrated it in your existing reporting or Data Warehouse database? In the past you had to use time cockpit's .NET API to do that. Now you can start using time cockpit's OData Web API for that. Microsoft added OData support to its data integration tool SSIS (SQL Server Integration Services) recently. The following screenshot shows an SSIS package accessing time cockpit's Timesheet table (click to enlarge):


Custom Apps

OData has been designed with browser apps in mind. Therefore accessing OData feeds from JavaScript works like a charm. We try to do our very best to make the standard time cockpit UI as good as possible. However, we know that some customers have very specific ideas about how they want to access time cockpit. Using the time cockpit OData endpoint you can build your own custom app using the time cockpit infrastructure in the background.

Note that you will see us publishing additional components that make it even simpler to build custom apps or add ins with HTML and JavaScript/Typescript. We will give you all the tools that we use for building the standard time cockpit client.

Find more information about how to develop software with time cockpit's OData Web API in the time cockpit online help.

FAQ

What does "preview" mean?

"Preview" means that the OData endpoint has not gone through the same level of testing that our production software artifacts had. We will support you if you have troubles with the OData endpoint. However, you might have to wait longer for fixes than you would have to for production software.

Additionally, "preview" means that the API is not 100% stable yet. We might change the names, URIs, etc. until the OData endpoint reaches general availability.

Will the .NET API be deprecated?

The existing .NET API will still be fully supported. There will be some point in time in the future when the .NET API will be deprecated. However, this point in time is still far away. We do not have concrete plans or dates for that.

Is the OData endpoint read-only?

No, it is read/write. If fully supports adding, updating, and deleting data. Therefore you are not limited to data analysis when writing apps based on time cockpit's OData Web API.

Will I see my custom data structures via the OData Web API?

Of course you will. All your custom tables, fields, permissions, validation rules, etc. will be reflected in the data structures of the OData Web API.

Do I have a custom URI for my time cockpit subscription?

No, we handle subscription managed based on your credentials. During preview phase, you can access the OData Web API at https://apipreview.timecockpit.com/odata. This URI will change for production.

comments powered by Disqus

Rainer Stropek

Rainer Stropek

Co-founder, architect, developer

Bio

I am co-founder and CEO of the company software architects and have been serving this role since 2008. At software architects my team and I are developing the award-winning SaaS solution time cockpit. Previously, I founded and led IT consulting firms that worked in the area of developing software solutions based on the Microsoft technology stack.

In my work I focus on .NET development and software architecture. I have written some books and articles on C#, database development, Windows Azure, Windows 8 development, WPF, and Silverlight. Regularly I speak at conferences, do workshops and conduct trainings in Europe and the US. Since 2010 I have been MVP for Windows Azure.

I graduated the Higher Technical School Leonding (AT) for MIS with honors and hold a BSc (Hons) Computer Studies of the University of Derby (UK).

Contact

Twitter: @rstropek
Facebook
Google+
Xing
LinkedIn

Authors