OpenEdge Application Architecture (OEAA) is the recommended way to design a Progress OpenEdge application.

OEAA consists of the following layers:
  • A Data Access layer that manages the retrieval of data from sources such as an OpenEdge database.
  • A Business Components layer that contains the core business logic.
  • A Service Interfaces layer that translates requests into a format that the Business Components layer can process.
  • An Enterprise Services layer that exposes the business logic to applications and services that exist beyond the bounds of the OpenEdge application.
  • A Presentation layer that contains the user interface.
  • A Common Infrastructure layer containing framework code to support the application business logic.
Developing a Progress OpenEdge application based on OEAA typically involves many roles:
  • Software Architects gather application requirements and design the architecture of the application. They identify use cases and determine the types of data, business components, and workflows that are needed for each use case.
  • Business Logic Developers work on the Business Components and Data Access layers. They write business entities in their ABL code.
  • Web UI Developers and Client Developers work on the Presentation layer. They develop web, Java, .NET, and other types of client applications.
  • Service Developers define Service Interfaces and build the Enterprise Services layer. They develop APIs to expose functionality in the Business Components layer and develop mobile, REST, SOAP, and other types of services that are consumed by client applications.

About this guide

The primary aim of the Service Developer guide is to provide a content pathway for Service Developers. If you are a Service Developer, this guide will help you learn how to create ABL services, write PAS for OpenEdge event procedures, and implement service-level authorization.

To get the most from this guide, it is helpful to have a strong foundation in writing procedural and object-oriented ABL programs.

Note: Many of the examples assume that you are using Progress Developer Studio for OpenEdge, which is the recommended tool for developing OpenEdge ABL applications.