Virgin Atlantic Partner with Transparity for Virgin Red
About Virgin Atlantic
Virgin Atlantic Airways (VAA) is a British airline based out of nearby Crawley. With its first flight in 1984, Virgin Atlantic planes now take people from the UK directly to USA, the Caribbean and other destinations.
The situation that we were presented with was to provide an MVP build to support the new loyalty program, Virgin Red. Virgin had an existing loyalty program hosted on-premises that they wanted to retire. The new service was to be hosted on the Microsoft Azure platform and operate as a loosely coupled microservice architecture.
Development was split across multiple, loosely coordinated, independent teams working across numerous processes including business intelligence, reporting, UI development and an external team building a new platform API.
API Service Layer
Transparity was tasked with building a new API service layer that would support the UI requirements; creating and querying customer accounts, retrieving flight data, updating accounts and posting new transactions.
It would achieve this whilst fusing together the data coming in from a variety of other services. However, there was a problem. The services the microservice would integrate with included not just other microservices but a complicated mixture of Azure-hosted microservice APIs alongside older or legacy Soap web services. Some services were available only via direct connection to an Oracle database.
The solution adopted was to build a new microservice-based REST API that would act as a façade layer using the API gateway pattern. This would be the only service that the UI would communicate with, to the UI it would be the API. This allowed the service to present a clean, straightforward, consistent REST API for the front-end application. All the messy details of communicating with the multiple service dependencies built on different tech stacks would be hidden from view. Where the API needed to bring data from multiple services, API composition techniques were used to aggregate the data from all the disparate services.
Along with the API service layer, Transparity additionally took on the UI development. This was achieved using Microsoft Power Apps, a development platform well suited to the fast-paced project. The ability to quickly prototype new UI components allowed the team to respond to the rapidly evolving business requirements. Integration with the API service layer from PowerApps was solved by ingesting the API interface into PowerApps using a custom connector. This allowed the team to give regular presentations to the business, demonstrating the latest UI development work along with the progress on integrating the API.
Despite the project as a whole being severely short-circuited by the coronavirus outbreak the team was able to achieve a successful outcome for the client with a successful MVP and ultimately a successful production rollout of the new Virgin Red programme.