REST APIs & Streaming APIs: Aviation Data Access for Everyone
The aviation industry, and more specifically the Air Traffic Management (ATM) industry has seen a substantial push towards modernizing the way in which data is managed and shared across borders. With initiatives such as SESAR in Europe and NextGen in North America pushing interoperability through System Wide Information Management (SWIM), data exchange plays a key role in the modernization of the industry. There is an increasing wealth of data being made available each day through both commercial and authoritative aviation sources, with the demand for access to this data growing alongside it. Although the data is being made available, it often comes in different formats and through different technologies – making it difficult to consume by the end user. By mitigating this pain and making data accessible through easy to use APIs (Application Programming Interfaces), it becomes a lot easier for users to unlock the potential value of the data within new exciting and innovative applications for stakeholders across the ATM industry.
For us here at Snowflake, we’ve been a part of this aviation data exchange revolution through the use of REST and Streaming APIs since the launch of our Laminar Data platform in early 2016. While both types of APIs offer easy access to harmonized data, we have customers who want to consume the data in different ways, depending on the specific problem their organization is trying to solve. In this blog, we’ll briefly cover the difference between REST and Streaming APIs and then illustrate how each can be applied and used to answer key operational use cases within the aviation and ATM industry.
A REpresentational State Transfer API is a web service that follows a request-response pattern. The user will make an individual request for information from the REST API and receive the appropriate data in a single response. After the response is sent back to the user, the connection closes only to be re-opened when the user makes another request to the API. REST APIs are perfect for users wanting a “snapshot” of data where the information does not change very frequently.
Streaming APIs maintain a persistent connection that continuously sends updated data to the user until the connection is terminated. Streaming APIs are perfect when a user needs to consume a constant flow of rapidly updating live data. The server repeatedly sends responses back with updated information until the connection is eventually closed
by the user.
So if you are a developer building an application targeting demand and capacity prediction, or are interested in knowing how many flights were completed at the end of each day for a given airport, Request Response / REST APIs are perfectly adequate. Using REST APIs facilitates answers on demand by providing the user with the specific information they need right away.
On the other hand, if you are looking to build applications using frequently updated real-time flight information, using REST APIs can result in complex multi-threaded applications that rely on heavy computing resources in order to run and keep up with information in real time. Streaming APIs are the perfect answer to this obstacle, as they provide an easy access point to live real-time information, while offering low latency. While one data access method may suit a specific use-case, there is ultimately no right or wrong way to access data – both methods are proven to work for different stakeholders looking to solve different problems within the aviation space.
Key questions to ask yourself if you are not sure which type of API caters to your needs:
- Are you building an application that requires live real-time information? (Streaming)
- Are you interested in a snapshot of information that doesn’t change as frequently as flight data, like weather, NOTAMs etc.? (REST)
- Are you looking for full flight information to store and analyze various patterns pertaining to route and flight times? (Streaming)
- Are you building an application that requires alerting when certain conditions are met? For example, generate alerts for flights affected by NOTAMs (Streaming)
- Are you looking for information that you need specifically on demand? For example: how many flights flew between a city pair this morning? How many flights are going to interact with my FIR of interest and when? (REST). Not all users need access to every piece of data – If you are after a very specific set of information that does not need to be real-time, REST API is the way to go
If you found that you’ve been asking yourself some of these questions, or if you’re interested in learning more about how REST and/or Streaming APIs answer key use cases within aviation, make sure to join us on December 12th at 2:00 PM GMT, for the webinar “REST vs Streaming: Making Aviation Data Accessible”. Click on the link below to register your attendance!
As we’ve looked at, APIs are a simple way of accessing data, and the increasing need for interoperability through data exchange within aviation has seen both types of APIs becoming a perfect tool to access this information. Laminar Data Hub offers a wide range of easy-to-use developer-friendly REST and Streaming APIs, each optimised to provide the data you require through the most appropriate and efficient mechanism. Access to the platform’s cleaned, fused and harmonized aviation data allows users to build powerful data-centric applications. Whether you’re building an app requiring access to live flight data through a streaming API or access to a list of all flights yesterday between LHR and CDG through a rest API, the Laminar Data Hub alleviates the pain of accessing data from disparate sources, often of different quality, by providing a single source of truth for aggregated aviation data.