To avoid a large volume of data transmission the application was architected to optimize data loading. Only the required data for a particular task are pre-loaded and the rest of the data is loaded based on user actions. This approach provides better application performance, responsiveness and application stability.
Avoiding duplicate code was the next challenge the team tackled. A single codebase framework has been built which allow for enables/disables /adds/removes/changes of options based on the deployment target. The application dynamically changes its behavior based on the configuration environment, so only one code base must be maintained.
The team also implemented a creative configuration-driven Continues Integration and Continues Deployment (CI/CD) pipeline process. This process performs end-to-end verification and validation and then based on configuration, it deploys the application. The deployment pipeline steps remain independent, and it leverages the one code base framework to modify the application behavior and deployment configuration parameters to support the target deployment and minimize or eliminate the manual intervention.
Development wasn't the only consideration. Ensuring a consistent UI/UX experience was important for our customers. To achieve this the team has followed a model-view-controller (MVC) application design pattern, where the application’s presentation layer is re-architected using an adapter pattern. The UI layer interacts with the adapter layer to provide the backend services information based on the deployment configuration. In short, the Presentation Layer (UI) remains consistent and the backend layer changes based on the deployment. In this manner, the complexity is hidden from users who are simply presented with a familiar interface.
To learn more about the types of solutions these technology advances allow, explore GE Digital's Asset Performance Management.