Client: A national transporter of industrial, commercial and retail goods
Development Category: Modernization
Services Performed: Architecture Analysis, Technical Strategy, Application Development
In this project, almost 1,000 existing Model 204 batch applications were converted to Java Spring and Spring Batch-based applications.
The goal of this engagement was for Keyhole Software to help the client to implement an application architecture and platform that supports the conversion of its Model 204 applications into Spring Boot-based application modules. There were many modules, both batch and online-based, so this platform needed to allow for scalability and durability. On-demand deployment was also necessary.
A Microservices style of architecture was selected. Keyhole Software provided expertise to help implement the platform to support the converted M204 applications.
Application Architecture
Existing Model 204 applications were converted into Spring Batch-like applications. Online-based applications interacted with an AngularJS-based UI that was generated. Batch applications were be converted to Java Spring Batch-based applications.
API Gateway
Online applications AngularJS-based user interfaces interacted via a reverse proxy through an existing Node.js-based API Gateway.
Service(Program) Discovery
The location of converted Model 204 programs deployed into a runtime environment was registered and discovered from a Spring/Eureka discovery server. This allowed application programs to be started and located anywhere in the client environment without side effects or dependent applications. Also, multiple instances could then be started in order to achieve failover and scalability.
Continuous Integration
The existing Jenkins-based build process was augmented to build Docker-based images as opposed to WAR deployments. Docker-based images eased the ability to deploy multiple instances of applications along with all supporting software.
Wherever necessary, Docker concepts and knowledge were transferred through hands-on mentoring and lab/exercise type courseware.