Reverse engineering and code reengineering were, therefore, the main activities of the development. The various applications, implemented in multiple languages (Cobol, VB, C++, Java 4), have been rewritten in the new presentation dashboard using Java 8, JSF-PrimeFaces and Spring-WebFlow, used for the management of application flows. Some functionalities and flows have been organized in modules allowing access to more applications, an activity that has seen proactively involved some of our resources from design to implementation. The portal presents itself with a modern graphic identity, easier and more intuitive navigation, and dynamics suitable for everyone. This is a fundamental element within a wider project of reform of the entire banking information system. For example, the web-oriented architectural evolution has made it necessary to redesign the way applications interact with physically connected devices such as the check reader, cash dispenser, graphometric signature tablet and barcode readers. The Visual Basic libraries and drivers that directly interacted with the different HW devices were exposed through the REST API by a new application installed on the various user terminals and made available to developers through a high-level Javascript library.
The rework of the masks in charge of the various streams inevitably brought out the need for coordinated work. The Reply team supported the Client's IT department in the definition of standards and guidelines to be followed during implementations; it contributed to the creation of reusable components that could be adapted to the different needs and interaction methods users were used to with previous applications.
The decoupling between front-end and back-end is achieved using a proprietary API Gateway of the Customer (integrated within the Application Server). Queries to databases and calls to Cobol host transactions have been converted to REST services available via API. The application has also been equipped with a workflow engine interface that allows the reorganization of specific application paths to processes.
Considerable efforts have been made to eliminate the complexity of the previous operations by transforming them into reusable atomic services (avoiding code redundancy). Reply has also contributed to the centralization of the configuration of the different applications (physical devices, print flows...) with the removal of local initialization files, centralization of authorization and profiling aspects, in favour of an intrinsic reinforcement of safety, the creation of a converter for the generation of masks from a proprietary language to the new JSF paradigm. Reply also has given support in the Maven configuration of the different projects, and Jenkins configuration to create a structured automatism for Continuous Integration to reduce delivery times.