Back to Blog

What is OData and why should you care?

Post by |

In a few short weeks, a number of us from the LexisOne development team will be presenting a variety of sessions at the Microsoft AXUG Summit EMEA (Microsoft Dynamics 365 and AX user community) in Dublin ( My presentation is a one-and-a-half-hour deep dive session, titled "Building External Applications for Dynamics 365 for Finance and Operations Enterprise Using OData".

Now as I am not a Dynamics developer, this could be what is typically called ‘a tough gig’. The audience will be a mixture of roles and skill levels with possibly little exposure to the technologies and tools used for building external applications.

So why did I choose this topic? And more importantly, why do I think that this topic will be of interest to the user group community?

First a bit of background...

I joined LexisNexis just over three years ago as an Integration Architect to provide an integration capability across our suite of enterprise solution products. This was my first exposure to Dynamics AX 2012, which at the time was the current platform for our LexisOne (ERP for law firms) product. Without going into details, I found the business services available through the Windows Communication Foundation (WCF) via AIF – Application Integration Framework awful: difficult to use, cumbersome, inflexible and bloated (making them slow). This platform was superseded by Dynamics AX7 (Now Dynamics 365 for Finance and Operations) with a move to the cloud and boasting a full range of OData capabilities. For me, this was a game changer. After working with these new capabilities, integration has been made so much simpler and with great performance allowing so much more to be done externally to the Dynamics environment.

So, what is OData and why should you care?

At the start of this century, there was a big focus on Service Orientated Architecture (SOA), which was focused on the provision of business services and application interoperability. Microsoft's main solution for this was WCF and I spent a great deal of time using this technology to integrate applications inside organisations.

Meanwhile, web sites were quickly evolving. Initially most web sites involved the user requesting pages from a server, which would gather the required information and layout and send the whole thing back to the browser. Over time, these evolved and more work was being done in JavaScript within the browser to fetch the required data over web services – without all the need to get the whole page from the server. For this to work, a lightweight service protocol was required that could operate over fairly low network speeds (or if on mobiles; the old 3G networks). The solution was Representation State Transfer, or REST. It provided a fast and secure way to work with data as a service but didn’t enforce any particular standards for the actual content of the services.

The next step was OData (Open Data Protocol), which is simply a set of standards and conventions for how to interact with REST services. This opened the door to make use of REST/OData to provide services across application boundaries that are very efficient over the bandwidth that is available across the internet.

So, in terms of providing services and Application Programme Interfaces (API's), if WCF dominated the last decade, REST/OData dominates now.

How OData is changing the way we work

From thinking only about integration, I started using OData everywhere to help with various scenarios – from tools to help with the build and test pipeline, approaches to generating simulated large volumes of data; through to building web, desktop and mobile applications – oh and still doing the integration thing.

So, this is the real focus of my presentation. Not to teach people about the technicalities of OData, but to expose them to what is possible and hopefully change their mindset so that when solutioning a problem, the question moves from "How do I solve this in X++" to "What’s the best tool and approach to solve this".

This is what OData has done for us.

I’ll let you know how I get on...

About the Author:

Over 20 years experience designing/developing applications on the Microsoft platform. Primary skillset is with the design of large scale/enterprise solutions based on MS technologies and the implementation of these designs through the full lifecycle. Have project experience within the following roles: Architect, Lead Developer, Developer, Development Manager.

| See all our contributors
Back to Blog