Business challenge
Development of solution in the travel industry which will interact with such global distributing systems as GDS and Galileo. JazzTeam was responsible for creating a stable, predictable backend that could be easily extended with business rules and scripting.
Technological features of the project
- In the process of working on the project, JazzTeam needed to master OTA schemas (including XSD, XML) in short time. Due to the fact that our company already had specific experience related to the Travel industry, we managed to do this within the required time frame.
- It was necessary to develop easy extensibile backend. Using Drools and business rules helped to provide it.
- There were serious architecture challenges on the project. Part of functionality has been realized on microservice architecture. Also because of different requirements to performance, relational and non-relational data bases have been used.
- Because of the specifics of the project it was required to have fundamental understanding of JTA (Java Transaction API).
- In the process of working our team offered untypical using of Apache Solr technology.
Project features
In the process of backend development it’s necessary to take into account serious requirements for load level and also to ensure efficiency of solution — backend should realize minimal quantity of requests to global systems.
Technologies
Spring Boot, Swagger, Redis, Apache Kafka, Apache Solr, MongoDB, JTA, XSD, XML, Drools, Robot Framework, Selenide.
Approaches and solutions
- Combination of traditional approach to development with microservice architecture where it was really reasonable. Such approach allowed to solve the problems, but at the same time maximum save customer’s funds.
- Because of the large number of situation combinations for handling on backend level, it was decided to create a test automation framework on the basis of Robot Framework. Development of tools for automation took a large part of this project.
- Testing of nontrivial UI-components with Selenide library.
Project results
- Backend-part of the nontrivial system has been developed based on all quality and performance requirements from the customer.
- Complex automated testing of the backend part of the system has been held.
- The requirements for peak load on the system have been taken into account. Performance of developed components had been measured after implementation of the necessary works.
- A full set of scripts for building and installing of application components has been created, also with containerization.
Company’s achievements during the projects
At the beginning the work process was organized by a waterfall model. But under our initiative the customer agreed to move to Scrum methodology and short iterations. It helped to achieve good results in a short time.