Modernising Software Technology in a Major Bank
For a major German Bank we were engaged to modernise their Tech Stack. The initial situation was the following: There is an Application used for manually placing orders (central order platform) for the financial products the customer sells. It was continually developed for 15 years with Java, Seam, JSF and Primefaces as main technology. The metrics of the existing piece of software were showing a bad state with security issues, bugs and overly complex logic (a lot of logic had a visual complexity of 60 and more). The software was mainly developed in a time when these technologies were state of the art and SonarQube not yet. Since Seam, JSF and primefaces will not receive any more updates, the customer was seeking support to replace these technologies with Java EE and Angular that are communicating with a REST interface, and thus renewing the architectural idea with domain driven design. The customer already developed a proof of concept (PoC) supporting their idea.
We were called in to provide staff for speeding up the migration process. The tasks for us were:
- Keeping the entities untouched, if possible
- Creating Data Transfer Objects (DTOs) and mappers for the communication objects that are transferred between client and server through REST interfaces
- Creating the angular front end with reactive forms.
- Porting the services and validators, separating logic and extracting data access objects to communicate with the database.
- In a final step unit tests with high coverage of the logic were created to validate the correctness of the logic and to support the last step: Simplification of complex logic, backed by tests to ensure correctness of the development process.
While development of two modules where finished and tests and preparation of roll out was already finished, we continued with development while supporting the roll out process smoothing and polishing the software to be rolled out on findings discovered during testing.
We are happy to continue supporting this customer in this successful collaboration in the following time.