Build, protect and deploy apps across any platform and mobile device
Leverage a complete UI toolbox for web, mobile and desktop development
Automate UI, load and performance testing for web, desktop and mobile
Rapidly develop, manage and deploy business apps, delivered as SaaS in the cloud
Build mobile apps for iOS, Android and Windows Phone
Optimize data integration with high-performance connectivity
Connect to any cloud or on-premise data source using a standard interface
Build engaging multi-channel web and digital experiences with intuitive web content management
Automate decision processes with a no-code business rules engine
OData, or "SQL for the Web"—what is it? Do you need it? Here is a comprehensive guide to OData to help you answer these questions.
OData is a REST-based protocol for querying and updating data. It is built on technologies like HTTP, ATOM/XML and JSON. It is more flexible than other REST-based web services and provides a uniform way to describe the data and the data model for easy interoperability between data sources, applications, services and clients. Similar to ODBC and JDBC, OData gives you a single way of accessing various data sources.
Consumers of OData master one API and use it to consume multiple data sources. As a producer, OData relieves you from spending your resources to defining and maintaining data access and discovery API. OData is an OASIS standard and is beginning the standardization process with ISO. It defines the best practice for building and consuming RESTful APIs.
With the vast amount of data from web browsers, mobile apps and business intelligence tools, how could you possibly combine all of this disparate data and make use of it in applications? The monumental task of crafting unique code for every different data source to create a unified, robust application discourages organizations from approaching serious application development.
What OData does is take this interconnected ecosystem of data from all these disparate sources and builds upon existing web standards to facilitate simple, high caliber data connectivity. These standards enable greater efficiency than ever before in everything from custom applications, to cloud storage, to content management.
The best part about OData is that it is basically a standardized REST interface. So, when you think OData, you should also think REST/JSON. This enables you to use the OData standards with any RESTful interface—whether you are programming in Android, iOS, Salesforce Connect or other similar interfaces.
Feeds (collections of typed entries) are at the center of OData. Every entry is represented by a structured record with a key that holds a list of properties of both primitive and complex types. Entries can be part of a hierarchy and can also have related entries and related feeds through links. OData services also have the ability to expose Service Operations (simple, service-specific functions that accept input parameters and return entries or complex/primitive values).
In order to find the shape of an OData Service along with its structure, known links and service operations, OData services also expose a Service Metadata Document. These documents describe a given service’s Entity Data Model (the underlying abstract data model used by OData services to formalize the description of the resources it exposes).
In its most basic form, the OData model is fundamentally broken down into four different pieces:
Another key aspect of the model is an OData metadata document. They describe the Entity Data Model (EDM) for a given service, which is the underlying abstract data model used by OData services to formalize the description of the resources it exposes.
OData, originally started by Microsoft in 2007, began to grow until the Microsoft team realized that for the standard to be fully embraced, it would need to move to Open Group (Open Standards Organization). Following this move, Microsoft approached our team at Progress DataDirect (known as the Switzerland of data access) to cosign the project. We believe in a future of open standards and writing them in such a way as to apply to as many data sources as possible.
We care about standards like OData, JDBC and ODBC and take part in their development and innovation because this is how we make the highest quality data connectivity products in the industry. We connect any data source to any application via OData, JDBC or ODBC.
The OData standard is powerful. From producers to consumers, it offers tremendous benefits. Knowing this, what are your next steps? How do you expose your data as OData or consume it? That’s where both DataDirect Cloud and our newest solution, Hybrid Data Pipeline, become your best friend.
DataDirect Cloud accepts OData query requests, translates the query to SQL, and then forwards the SQL to the backend data source to be executed. Applications can invoke the DataDirect Cloud OData service endpoints using any of the common clients that provide HTTP or web service access. This solution is hosted by Progress DataDirect servers.
Learn how to get started with OData and DataDirect Cloud.
Sumit Sarkar is a Chief Data Evangelist at Progress, with over 10 years experience working in the data connectivity field. The world's leading consultant on open data standards connectivity with cloud data, Sumit's interests include performance tuning of the data access layer for which he has developed a patent pending technology for its analysis; business intelligence and data warehousing for SaaS platforms; and data connectivity for aPaaS environments, with a focus on standards such as ODBC, JDBC, ADO.NET and ODATA. He is an IBM Certified Consultant for IBM Cognos Business Intelligence and TDWI member. He has presented sessions on data connectivity at various conferences including Dreamforce, Oracle OpenWorld, Strata Hadoop, MongoDB World and SAP Analytics and Business Objects Conference, among many others.
Copyright © 2017, Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks or appropriate markings.