By Rebecca Rowley, Solutions Architect, Jade Logistics
With the constantly evolving landscape of terminal operating systems and their role within wider supply chain management, Jade Logistics has recently reviewed their API offering to ensure it continues to support easy and cost-effective integration with third party systems and excellent performance at scale.
The increase in demand for agile application development — providing applications which can be built quickly to explore new ideas, ways of working and growth opportunities — paves the way for an integration strategy that provides clear, concise APIs that require little system knowledge, have a low maintenance burden, are easily extendable and simple to interact with.
EDI continues to be a staple of the logistics industry and Master Terminal’s existing capabilities in this area are an important aspect of the TOS solution. As well as FTP drop and operator upload, the Master Terminal SOAP web service supports EDI data transfer via a SOAP interface and this existing web service will be maintained. This mechanism works well for this type of data transfer and is already a standalone web service endpoint which does not require frequent definition updates, and as such requires little support beyond the initial integration development.
An increasingly important area of data for port operators is real-time, event-driven updates. Jade Logistics will continue to use, and further enhance, the Event Stream framework for event driven data transfer direct from Master Terminal. As this data is driven from the existing SQL extract mappings, it is an ideal interface to provide information into a data warehouse for targeted, customer specific, BI analysis.
For data integration beyond the port environment and into the wider supply chain, Master Terminal integrates directly with CargoChain. This ensures information about cargo and its movements generated at the terminal is available to all supply chain participants, eliminating the need for complex point-to-point data sharing and providing one integrated view of cargo. Third-party applications can take advantage of this by using CargoChain to redefine the global information supply chain, safe in the knowledge that the relevant Master Terminal activity will be captured by CargoChain.
Master Terminal currently exposes a user interface SOAP web service, which will continue to be supported and used by both Jade Logistics applications and third parties. However, in the future new integrations will be supported by REST web services.
The Master Terminal REST API suite is designed with the single responsibility principle at its heart; specific interfaces are responsible for single functions, producing loosely-coupled modular systems with scope for extension without impacting existing services. This reduces the maintenance burden and provides an uninterrupted API service for third parties, removing barriers to upgrade.
The Master Terminal REST API suite supports both JSON and XML data output enabling easy integration. In keeping with the separation of concerns principle, only the object data relating to a specific interface is transferred. This reduces the size of data transmitted as well as providing a clear and concise interface. Where as the existing SOAP Web service data objects are tightly coupled to the Master Terminal implementation, this is decoupled in the REST APIs providing a user-friendly interface requiring less system knowledge to integrate.
At Jade Logistics, we appreciate that every port is unique, with different workflows and handling procedures. Customers with specific and unique integration requirements, for example to assist in implementing custom applications for terminal functions, will have a specific REST API developed to meet their needs. This can be used in conjunction with the Master Terminal REST APIs to provide the functional coverage required to build a bespoke application.
It is important to Jade Logistics that port operators can choose the third-party applications on the periphery of their TOS (such as an external VBS System) that work best for their business, while still being able to easily integrate these systems with Master Terminal. The Master Terminal REST API suite includes generic interfaces for commonly required functions. If additional feature support is required, an application specific interface can be developed with little overhead.
MASTER TERMINAL API OFFERING
REST interfaces now represent more than 70% of public APIs. This popularity is because REST, with JSON data, is simpler to interact with and faster to integrate to. Highly extendable, flexible and fast, REST is ideal for APIs in today’s agile environment.
The size of a REST API call and data transmission is significantly smaller than a SOAP request. This improves performance and requires less bandwidth, reducing load on the system. REST calls are lightweight and simple, allowing easy, quick calls to a URL for fast return responses.
REST inherently supports a variety of data formats, but the predominant use of JSON means better support for browser clients. JSON data is easily serialized into application specific objects without the need for a full service definition and intermediary proxy classes. This greatly simplifies the development required to interact with the client interface as well as removing the need to update a previous definition when changes are made, providing backwards compatibility.
Because REST is stateless, the same request can be made multiple times with the same response. This is ideal for mobile applications, allowing the process to be retried without major interruption in case connectivity is lost, as well as supporting caching of the results.
With REST web services, the client and server are loosely coupled. This means the server (i.e. the web service provider) can extend or modify the exposed interfaces without impacting the client (i.e. the application calling the web service). This is in stark contrast with SOAP web services, where the published API (web service definition) must be kept in sync and any changes must be made by both the client and server at the same time. This is a significant barrier to continuing enhancements and agile development.