Decouple ABL business logic from UI code
- Last Updated: March 30, 2020
- 1 minute read
- OpenEdge
- Version 12.2
OpenEdge Application Architecture (OEAA) emphasizes the separation of business logic code from UI code. Doing so enables those parts of your application to evolve independently in response to changing requirements. It also makes your application code easier to maintain in the long run.
Review GUI or ChUI components in your application. If they contain business logic or data access logic, extract those parts of the code and put them in ABL classes or procedures. As you do this, you may want to consider using ABL Business Entity classes, which enable you to easily implement CRUD (Create/Read/Update/Delete) operations on your data resources.
Once your business logic is isolated in its own layer as a set of ABL classes or procedures, you can then create ABL services that connect the business logic with different types of client applications, ranging from your existing GUI/ChUI clients to new web and browser-based clients that you want to develop as part of the modernization project.
Business Entities
Depending on your use case, an ABL Business Entity may be right for your needs. A Business Entity is an ABL class that enables you to easily implement CRUD and Submit operations on data resources. They can also be exposed as Progress Data Object Services, which are used by a JSDO client application.
To learn more about creating Business Entities, see the course "Developing Business Entities for Progress OpenEdge Data Object Services" on the Progress Education Site.