Corporate data manager app example with Microsoft Dynamics CRM and JayData

Author: Robert Bonay July 3rd, 2013

This article will show you a live example of Microsoft Dynamics CRM managed via OData protocol and demonstrate the real power of JayData library in corporate environment.

Dynamics CRM is a feature-rich platform for enterprise software both for the SMB and large enterprise scale, it even fits even in solutions targeting the public sector. Software vendors can build custom software on top of CRM easily not only because the flexibility of the product but its OData endpoint as well. The latter makes CRM a number one player for data integration projects. There was only on thing missing: a developer-friendly tool to consume the OData service of CRM from JavaScript – but now we have got JayData.

Typical corporate data manager apps aren’t complicated: they display a list of records retrieved from the server and a couple of inputs to save new items. It’s like the SAP Leave Request app with its clear leave request list and creation screens – the important thing isn’t the rich application feature set, but the easy two-way integration with your corporate backend system.

90% of the corporate data manager apps provide simple CRUD functionality and this simple create/retrieve/update/delete mechanism delivers a huge business value to companies.

Business apps over OData

As the main feature of the business apps is the data integration itself, it’s a wise idea to make it happen over a standardized protocol to speak the same language at each frontier of the digital realms the system is composed of. The developers of the JayData library believe that OData is the most important standard for business data integration and the roadmap of the library follows the announcements of the OData community, Microsoft, IBM and SAP.

CRM and JayData in action – The expense claim example app

Libraries and technologies are usually demonstrated with a todo list or a Northwind schema, we presented many of these examples with JayData.

The first public example for CRM and JayData integration is an expense claim app that lets you to create new items with multiple expenses.


Submitting the form posts the values to Dynamics CRM via OData with the help of the JayData library.

The demo app retrieves the list of saved claims from CRM and displays it in a list.


This little example app is simple, but lets you access and manage data in your corporate Dynamics CRM and we can assure you that the code for this is simple, too.

What happens in the background:

  • JayData CRM module authenticates you to Microsoft Dynamics CRM
  • JayData initializes an OData context to provide you data managing capabilities with typed JavaScript objects
  • JayData issues HTTP requests to the OData endpoint of CRM in standard format, parses the results and provides you typed JavaScript entities
  • JayData serializes typed JavaScript objects to HTTP requests in OData format to save new entities and dispatches requests to avoid batch inserts and updates.

Stay tuned! The next post will explain the development of this app in the PhoneGap/Cordova environment and will provide you hands-on experience in CRM and JayData development. In the meantime, try the live CRM example – the credentials are displayed at the first screen of the app.