Identify modernization requirements
- Last Updated: March 30, 2020
- 2 minute read
- OpenEdge
- Version 12.2
- Identifying the end-user workflow, the UI screens that will be presented to the user, types of client applications, the frontend technologies that will be used to build the client applications, etc.
- Designing APIs that will be consumed by the UI screens and other types of client applications.
- Determining the ABL classes and procedures that will live underneath the APIs.
- Optionally, choosing frameworks that implement design patterns like the Common Component Specification.
- Identifying databases, database tables, etc that will be used by the ABL business logic.
- Determining the type of database connection appropriate for your needs—shared-memory connections (where the application and database are on the same machine) or network connections (where the application and database communicate over TCP/IP)1.
- Determining how context and application state will be managed.
- Determining other factors such as containerization, load balancing, failover, monitoring, performance, etc.
By the end of your analysis, you should have arrived at a set of actions that you need to perform. These actions typically span across different components and roles, such as for example, a database administrator setting up a multi-tenant database, a DevOps engineer working on a CI-CD pipeline, etc. However, since the focus of this guide is the application itself, its remainder will illustrate how to design and develop a modern OpenEdge application.
1 Although shared-memory connections (also called
self-service connections) are faster in certain situations, network
connections enable scalability and are therefore the recommended way to
connect to a database in a modern deployment design.