Overview
Developing a service takes a lot of time and effort. Not only the end product (which implements the service) needs to be built, but also other essential aspects such as error handling, code analysis and reviews. However, many of the repetitive steps in the whole process can be automated.
As the application grows, its interaction with different services makes development more complex; especially when a Monolithic application is broken into Microservices. It is important to ensure that each service has the same practices and versions for various teams. This is where using the API (Application Programming Interface)-First Service Framework comes to rescue.
What is API-First?
In an API-First approach, the programming process begins with planning the API like a product manager would do: looking at APIs more like products and less like technologies. It starts with designing, planning, mock- ups, and testing an interface for its application before beginning coding.
Such a framework enables a fast-paced Java-based service development, with client-stub generation and artifact reuse. Essentially, it is a toolkit of existing components (Maven artifacts), united together to provide a readily usable tool set. It also ensures a common code style and test case targets for the development, thereby maintaining best practices and code quality.
Challenges
- It was important to integrate GetThere (Sabre’s corporate booking tool) with the Content Service for Lodging (CSL) API for hotel shopping and bookings, to offer more varied hotel options and a more consistent shopping/booking experience to corporations. CSL is a set of lodging APIs extending the lodging landscape from GDS hosted properties to include aggregator content.
- The strategic goal was to break down the monolith portion of the application and move towards microservices.
- The team needed to plan for transitioning to a cloud infrastructure and have the design in sync with cloud migration.
All these called for tricky integration within very short deadlines
Solution
What GetThere did?
Balancing the new requirements – carving out code from legacy and tricky integration – within the time constraints called for an innovative, intelligent approach. The team decided to move the architecture away from the current connector-style integration service, towards an independently deployable one. Therefore, an API-first approach was chosen.
Why did GetThere take an API-First Framework?
- API-first development enables product features to be developed independently of UI/UX. API-First Service Framework was an effective solution: to save time and effort; to integrate the infrastructure of the connection and the business logic seamlessly; and to test for any error/service’s durability and overall performance
- API-first design has become the key principle of microservice implementations. As the monolith portion of the application is broken down and moved towards microservices, API-first was the choice to reap the benefits.
- While transitioning to a cloud infrastructure, an API-first approach can help manage the complexity of working in the cloud.
How GetThere did it?
API-First Service Framework carved out an efficient hotel shopping and booking mechanism. The team set up the infrastructure quickly, hastening the process through parallel development, lessening the need for rectification of errors, and making testing and troubleshooting more convenient. All the while, developers’ productivity was clearly increasing, since they were working on the entirety of business logic.
As the team utilized the extra time to exploit the support from CSL, it used the enriched data content to transform the UI to enhance user experience. Moving away from the display where the entire content was arranged as is, the new UI arranged the hotel description systematically.
Results:
- GetThere and CSL API were integrated in an incredible short span.
- Also, this now enables corporate lodging – shopping and booking – APIs.
- The new UI in the hotel detail which presents the information systematically has provided enriched user experience to all our customers.
Authored by: Sathyaprakash MC & Tarun Verma