Microservices-Based Backend for an Innovative Self-Service App Used in 15 Large European Hotels
Customer
The Customer is a European startup company developing an innovative hotel self-service app to sell to various hotel facilities around the world. The new application is aimed to cover multiple hotel services at once. For example, it allows guests to check in on the way to a hotel, open a locked room door with their mobile device without any keys and plastic cards, quickly and easily manage room, food, and spa services offered by a hotel from any location and more.
Challenge
The Customer needed to create Java backend that would become the basis for their web-based solution as well as Android and iOS mobile apps. The backend had to support complex functionality (check-in, door opening, extra services management, check-out, etc.) as well as enable the application’s multitenancy, flexibility, sustainability and impeccable UX.
Solution
Turning to the microservices-based architecture, ScienceSoft’s team managed to ensure quick ongoing Agile development and simplified future scaling and integration processes. The first release of the system consisted of 9 independent services, each being responsible for a set of functions.
The developers used Spring 5 WebFlux stack of reactive technologies for communication between microservices. This helped them to ensure that the application will stay fast and responsive in the context of multi-userness and high-volume data processing.
The implementation of the app’s functionality and expected multitenancy required a number of future integrations with external applications (e.g., applications of door lock providers, internal hotel management systems, etc.). To reduce time of future integration and necessary efforts, ScienceSoft’s team created reliable, secure, and reusable APIs for microservices. As a result, only minor tweaks were needed to introduce new components to the system.
Future multitenancy was also backed by careful application design that provided for easy scalability and flexibility to address customization needs and ability to extend performance.
Results
To date, the demo version of the application has been successfully presented to future end users and received their endorsement. Satisfied with the results, the Customer continues cooperation with ScienceSoft as new features and integrations are continuously added. In the nearest future, the app should be adopted by about 100 hotels around the globe.
Technologies and tools
Java 8, Spring 5.1, SpringBoot 2.1, WebFlux, Project Lombok, Spring Data/Hibernate, microservices, SOAP, Swagger, FlyWay, Maven, Docker, PostgreSQL, Kubernetes, Google Cloud.