Decouple ABL business logic from UI code
- Last Updated: February 11, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
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.
Review the GUI or character-based user interface (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 Create/Read/Update/Delete (CRUD) operations on your data resources.
After your business logic is isolated in its own layer as a set of ABL classes or procedures, you can create ABL services that connect the business logic with different types of client applications, ranging from your existing GUI and ChUI clients to new web-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 meet your needs. A Business Entity is an ABL class that enables you to easily implement CRUD and Submit operations on data resources. ABL Business Entities can also be exposed as Progress Data Object Services, which are used by a JSDO client application.
To learn more about creating ABL Business Entities, see "Developing Business Entities for Progress OpenEdge Data Object Services" on the Progress Education Community site.