Provided services
Backend Development, Manual Testing Services, Software Reengineering, Refactoring and Modernization. Cloud Migration, Software Integration Services
Client
Our client is the European market leader for Telecom Management Technology. Its solutions are provided in over 42 countries and are available for over 150 carriers.
Product
The primary project objective was to develop a proxy using Mule technology, facilitating the integration of the client’s internal system with external services. The application receives SOAP requests from the internal system or external service, processes them, and forwards them to the recipient. The app allows safely exchanging messages between two systems. And it doesn’t require any changes in the integrable services.
Challenge
Our customer actively invested in the unification of their infrastructure, having a development plan for unified (reusable) components. However, the customer had an expensive support cycle for these components. The primary challenge became the necessity to develop a component that was not only easy to use but also possessed a high level of reliability. The key requirement was the ability for reuse in various scenarios, meaning it should be easily extensible. As a significant number of other components and products of the customer will be dependent on this component, we anticipated the inevitability of multiple product versions.
Project Context
- Our team had to work in compliance with strict safety rules. There was not even direct access to the test environment: databases, servers, etc.
- Part of the customer requirements arose and was applied at the stage of active development.
- The rather complex and required good communication skills integration with the third-party teams, situated in other countries, was required.
Solution
To address this, we implemented a CI/CD (Continuous Integration/Continuous Deployment) process, fully automating manual operations, and trained the product owner in launching necessary CI/CD tasks. We configured the application versioning process to enhance transparency, change management, and ensure stability during the development of various application versions.
Consequently, we not only delivered the required component but also implemented a lifecycle management system for this component. This became a key factor in accelerating the unification process, fostering an optimistic outlook from the client regarding the possibilities of unification and stimulated the creation of dozens of new components.
Technological Overview
The following mechanisms were used on the project:
- validation of SOAP messages;
- authentication according to WS-Security specification;
- conversion of the message into the required format.
During development, the engineers used approaches that make it easy to reorient the application for integration with other services. This has made the app universal, and significantly reduced the costs of integration with other systems.
Result
- All planned functionalities were implemented, and all requirements, received during the development, were applied. The client got an easily extensible, reliable component with a low-cost support cycle.
- The application is widely used by the client and does not cause any complaints about stability and performance.
- Comprehensive documentation on application operation was meticulously prepared.
- The implementation of CI/CD principles in this project was successfully applied to all subsequent components. The overall time for routine operations decreased by a factor of 5.
JazzTeam Achievement
- JazzTeam performed well during integration with third-party team, often taking the lead in synchronization activities. It made the integration process open and understandable for the customer.
- The team has taken the initiative to profile the application and adapt it for usage with maximum loading.
- In the conditions of close cooperation between all the teams, the clear process of manual testing was adjusted, the unit tests were created, and load testing was done.
Technologies
Stack: Mule ESB, Java, Spring, Log4j, Apache commons libraries, XML, XSLT, XPath.
Infrastructure: Jenkins, SVN, Anypoint Studio.
Test Automation Libraries: JUnit.
DB: Oracle.
Protocols: HTTPS, JDBC, SOAP.