Project business component: the essence of our work on the project was the rapid introduction of distribution channels for the global network of SaaS suppliers, and integration with CRM and provisioning systems. Our team was directly involved in the development of software, the function of which is to provide licenses for various enterprises for free GNU/GPL software. Further the received tokens are used by consumers as a multi-factor authentication tool.
The task of JazzTeam was to design an integration layer responsible for communication and synchronization of various high-level systems and databases with each other. In addition, two UI portals were developed, which provide end users with the ability to conveniently search and process data.
Technical description of the project: the project includes many different layers and components developed using Mule technology, modern frameworks and Java core. In addition to interacting with each other, components at various levels cooperate with platforms of other services (Fig.1), which allows combining various information systems based on the principles of messaging, data matching, message management, reliability, and security (using https and optional connectors).
The prepared integration solutions make it possible to work with any element of the customer’s corporate architecture when making low-cost changes.
In the process of work, JazzTeam performed the following tasks:
- development of integration layers which provide interaction between the GPL license provider and end systems;
- migration of existing customer solutions from Mule 3 to Mule 4;
- development of new components (backend and UI);
- unit, end-to-end and load testing;
- using the classic CI/CD pipeline (getting the source code from the repository, building the project, executing tests, deploying a ready-made solution, sending reports);
- conducting research aimed at further improvement of functionality, for example, the use of OAuth 2.0;
- improved performance and response times of components;
- daily support for deployed applications;
- maintenance of technical documentation.
Stack: Mule Runtime 3, Mule Runtime 4, Java, Apache Maven, Spring, VueJS, CSS, HTML.
Infrastructure: CloudHub Engine, Anypoint platform, SonarQube, BitBucket, Jenkins.
Test Automation Libraries: MUnit, JMeter.
DB: Salesforce, MySQL, Snowflake.
Protocols: HTTPS, JDBC.
Other libraries: Apache commons libraries, Log4j.
Figure 1 – Project architecture
- High level of responsibility at every step, since even a small change can affect a long chain of integrations, processing and the final state of a business object.
- Distributed team in different time zones and countries.
- High pace of project development, frequent releases to production.
- All customer’s requirements were met.
- Testing was carried out to confirm the reliability and high performance of the applied solutions.
- The software product made it possible to integrate the internal systems of the end customer with each other and with external services.
- The customer was satisfied with both the result of all iterations and the final product as a whole.
- The technological practice based on Mule technology was developed and implemented in the company.
Company’s achievements during the project:
- A convenient UI portal was created for quick search and visualization of transactions that made it possible to obtain information about the state of business objects at one or another stage of processing.
- Participation in the customer’s HackDay with our own developments. Many distributed teams worked on the project, which led to the use of different approaches and methods when processing transactions, errors and notifications. A system was developed to unify these processes.
- The team proposed and implemented a number of the best practices on the project: code style, branch and deploy strategies, as well as functional testing of Mule components.
- Successful migration of components from Mule 3 to Mule 4.