OData web services are a new addition to Microsoft Dynamics NAV 2013, complementing the SOAP web services that have been available since Microsoft Dynamics NAV 2009. Developers planning to create Microsoft Dynamics NAV web services may need to decide which type of web service is better suited to their needs. First, there are some absolute limitations:

SOAP Web Services

SOAP web services allow full flexibility for building operation-centric services. They provide industry standard interoperability. Windows Communication Framework (WCF) has supported SOAP services since its initial release in .NET Framework 3.0, and .NET 4 adds additional support and default bindings to make it easier to build SOAP services using WCF.

The most common type of messaging pattern in SOAP is the Remote Procedure Call (RPC), where one network node (the client) sends a request message to another node (the server), and the server sends a response message to the client.

OData Web Services

The OData standard is well suited for web service applications that require a uniform, flexible, general purpose interface for exposing create retrieve update delete (CRUD) operations on a tabular data model to clients. OData is less suited for applications that are primarily RPC-oriented or in which data operations are constrained to certain prescribed patterns. OData supports Representational State Transfer (REST)-based data services, which enable resources, identified using Uniform Resource Identifiers (URIs), and defined in an abstract data model (EDM), to be published and edited by web clients within corporate networks and across the Internet using simple Hypertext Transfer Protocol (HTTP) messages. OData services are lightweight, with functionality often referenced directly in the URI.

.NET Framework 4.0 has been enhanced with WCF Data Services, which implement all the non-NAV specific parts of the OData stack. Visual Studio service references “understand” OData services and can generate EDM-based proxies, enabling the developer to use LINQ to write the data access logic.

Whereas SOAP web services expose a WSDL document, OData web services expose an EDMX document containing metadata for all published web services.

OData is supported in PowerPivot, a data-analysis add-in to Microsoft Excel 2010 that provides enhanced Business Intelligence capabilities. PowerPivot supports sharing and collaboration on user-generated Business Intelligence solutions in a Microsoft SharePoint Server 2010 environment. For more information about PowerPivot, see http://www.powerpivot.com/.

The extensions to the Atom Publishing Protocol defined in the AtomPub extensions to the OData protocol documentation (which you can download here) describe how REST-based data services can enable resources, identified using URIs and defined in an abstract data model (EDM), to be published and edited by web clients within corporate networks and across the Internet using simple HTTP messages.

In addition to the AtomPub format, the OData implementation in Microsoft Dynamics NAV 2013 also supports the JSON format, a somewhat less verbose format that may perform better in low-bandwidth environments.