The Presentation Layer in OERA

The OERA Presentation layer communicates with the Common Infrastructure and Business Components layers; the latter communication happens via a Service Adapter which talks to the relevant Service Interface. The Progress Communities Architecture, SaaS & Cloud Computing community has more information on the OERA, including a variety of documents and discussions.

Broadly speaking, the Presentation layer interacts with the Business Component and Common Infrastructure layers.

mvp_in_pl.png

The interaction between the individual elements of the MVP pattern, as well as their interactions with other OERA component is shown below.

Model-View-Presenter

The OERA recommends the use of the Model-View-Presenter (MVP) pattern for the design of a Presentation Layer's code.

Model View Presenter Architecture

Service Adapter and Request/Response flow

The Service Adapter handles Presentation Layer service requests. The Presentation Layer may use more than one Service Adapter and uses Common Infrastructure components to discover and manage Service Adapters. The Model and Presenter uses the ServiceMessageManager to manage communication with the Service Adapter.

Service Message Architecture

Data Request Flows

Code package

The root package for all presentation layer components is OpenEdge.PresentationLayer. The code is structured according to these general principles.

PackageDescription
Common Code shared within Presentation Layer
InjectABL Presentation layer customisations for InjectABL
Model Supporting code for Models
Presenter Support code for Presenters
View Contains all View-related support code. Each UI technology will have its own sub-package
View.ABLGui ABL GUI view code
View.GuiForDotNet GUI for .NET View-related code
View.RiaGui RIA UI View-related code