OData & the Exploding API
APIs are exploding. We live in an interconnected world where the number of software systems and APIs (Application Programming Interfaces) is increasing daily. APIs are the method software systems use to communicate. Because there are so many methods of communication, a standardized protocol was created as a way to increase simplicity across the process. OData (the open data protocol) web-service standard was developed in 2007.
The OData standard is maintained by OASIS (Advancing open standards for the information society) in order to “break down data silos and increase the shared value of data… enabling more applications to make sense of a broader set of data…” In theory this should allow everyone who takes part in the ecosystem as either a producer or consumer of data to reap the benefits of scale and efficiency. Wow. Who wouldn’t want to increase the overall value of their systems and their data?
Basic Advantages of OData
OData allows for best practices in building and consuming RESTful APIs
Modern informatics systems increasingly need to be able to interchange data with other software systems, legacy and novel, across a broad spectrum of purposes. OData compliant APIs enable simple plug-and-play interoperability between relational databases, file systems, content management systems, and traditional web sites. Developers wishing to consume from OData sources have access to a large set of libraries, in multiple technology stacks, to remove much of the boilerplate coding that needs to happen for utilizing ad hoc APIs (i.e., those that do not conform to a standard). Achieving this level of interoperability often requires coding custom point-to-point solutions that can be time consuming, expensive to build, and cause system upgrade headaches down the road.
Integral to the specification is the concept of a metadata service. This service describes all the available data exposed by the OData API. Because of this metadata service, consumers of the API can discover the data and build bindings to it dynamically. Examples of this include OData consumers such as Excel (via its power query plugin), Tableau, and integration platforms such as Mulesoft, Dell Boomi, and Informatica. There’s NO custom coding required in these tools to get data from an OData data source. That’s awesome!
Increased Use of OData
OData is expanding by leaps and bounds. According to the ProgrammableWeb, in 2015 12,000- APIs were exposed via OData compliancy—now the number is over 14,600 and counting. Thanks to OData, instead of custom coding links between systems, an OData compliant system can easily speak to any other OData compliant entity. This saves time and money.
Programmers do not need to write custom code for every integration which will need to be updated every time a party makes a change to their API. For example, capturing a state change in a queue for an NGS sequencing run could inform a billing system that the sequencing run has been completed and then update the billing state. These types of integrations can be leveraged with ZERO coding effort – if you have access to OData compliant APIs.
APIs are taking over the web, and with good reason. They make communication faster, more efficient, and more secure. From a business standpoint, they accelerate the pace of development for integration efforts, and in some cases, remove software engineering entirely. The future of research is enabled by systems which can handle huge amounts of data and share the information quickly and easily. It is only natural that organizations would optimize their APIs to enable communication between systems in their labs as well as systems around the world.