As you design your application, you may want to factor in how your application will be deployed in a distributed PAS for OpenEdge environment. The hierarchy of components in a PAS for OpenEdge environment is as follows:
  • You can create and run more than one instance of PAS for OpenEdge, and configure the instances separately. Each instance shares the executables and libraries of a common Apache Tomcat server, but each instance is a separate process, running in a separate JVM, with its own configuration (ports, security framework, Web applications, etc.).
  • Each PAS for OpenEdge instance can contain multiple ABL applications.
  • Each ABL application can contain multiple web applications.
  • Each web application, in turn, can contain multiple ABL services.
  • Each ABL service is bound to a PAS for OpenEdge transport and is mapped to ABL resources (ABL classes and procedures).
  • Each ABL application has its own PROPATH and a multisession agent configuration.

Incorporate continuous availability in your deployment design

Perhaps the most important goal of deployment design is to enable continuous availability and scalability. Continuous availability is the ability to deliver your application to end users without interruption. To achieve continuous availability, your deployment design should exhibit the following traits:

  • No single point of failure
  • Use of at least two availability zones in a cloud environment
  • Stateless applications
  • Infrastructure as code

Deployment architecture for continuous availability

A continuously available deployment architecture is composed of several key structures:

  • Load balancer– A full featured load balancer is a required part of the OpenEdge Continuous Operations solution. This is not an OpenEdge product, so finding the correct load balancer with the needed features is crucial. The load balancer redirects traffic from any PAS for OpenEdge instance that runs the risk of becoming over loaded, to an instance with less traffic.
  • Progress Application Server (PAS) for OpenEdge– PAS for OpenEdge has be deigned for scalability and to be able to work seamlessly with load balancers for continuous operation.
  • ABL and SQL Applications– Continuous operations can be achieved with applications written in ABL or SQL programing languages as they have been designed to push updates and schema changes while the application is online. This eliminates the need to take your application offline for updates or maintenance.
  • OpenEdge database– OpenEdge 12 databases are designed with continuous operation in mind and provide a means to update parameters, schemas, and more while online.
  • Data replication– Data replication provides helps you avoid single points of failure by enabling a disaster recovery or a failover site. This ensures availability of an application and distributes copies of data to one or more sites for horizontal scaling. Using OpenEdge Database replication is the best way to make your application highly available and fault tolerant. If for any reason your production database, database machine, or network becomes unavailable you can quickly transition to the replicated database.
  • Monitor the system– To have a continuously operating application, an enterprise must constantly monitor their application ecosystem, and have a system of alerts to warn of issues. Monitoring the application ecosystem allows an enterprise to observe and act on possible issues before they arise. In OpenEdge 12, this can be accomplished with the OpenEdge HealthScanner and deferred logging.