OERA Group

This group serves to provide notification for postings related to OERA


Stage 1: UML Profile for ABL

This stage is directed at defining a UML Profile for ABL Code and Progress dictionary information. The goal is to arrive at an open standard since there will be far greater potential synergy if all people working on UML modeling are using a common vocabulary. This stage will occur in three phases:


OERA Strategies: Object-Oriented or Not?

The OpenEdge Reference Architecture (OERA) describes an overall structure and pattern for the architecture of modern applications, but does not in itself specify any particular implementation. Progress Software (PSC) has generated a series of whitepapers over recent years which discuss various aspects of this architecture with some sample code, but this code is limited in scope and there is no pretense of it illustrating production-ready techniques. More recently, PSC introduced AutoEdge, an “application example” meant to illustrate one way in which OERA principles might be applied in a real application, but it too is built on a number of simplifying assumptions and does not pretend to offer production ready code on which customers might build real systems without significant further work.


Documenting how to use ProDataSets

This page was created with the idea that it would be the beginning entry in a series of contributions by multiple authors, eventually turning into general documentation on ProDataSets. After one early contribution by Tim not much got added until Miles came along with his large contribution which covers a lot of ground. While that was a big help, I am sure there can always be more, so I have left this page as a pointer for those who might consider making contributions. What I would like in particular I am describing below:

I would like two documentation hierarchies.


Harvesting Editor

Purpose


Problem with 29 Feb Birthdate

Reported by Tim Kuehn

BUG:

in src/server/autoedge/becustomer.p:

ASSIGN
dLicDate = DATE( MONTH(eCustomer.CustomerBirthDate),
DAY(eCustomer.CustomerBirthDate),
YEAR(eCustomer.CustomerBirthDate) + dLicYear)
.

will not work for people born on Feb 29.

I've been in other shops that made this mistake, and in one of them it cost ~$20K to fix, plus the reputation hit in the marketplace.


AutoEdge Programming Standards and Naming Conventions

From the introduction:

"This document outlines a set of Programming standards and naming conventions to be used on the OpenEdge Application Example application. These standards are a culmination of many other works including guidelines from education, John Sadd’s whitepapers and the Developers Guide."


AutoEdge Project Documentation

One of the remarkable aspects of the AutoEdge application is that it is provided with an unusual amount of documentation. One of the categories of this documentation is the "Project" documentation, which covers programming and naming standards, UI guidelines, and an overall documentation of the structure. It is unlikely that everyone will agree with the choices made in this documentation, indeed, it seems apparent that the team that did the work learned from the experience and would do some things differently if they had to do the whole thing all over again. This node has been created in order to provide a place to exchange different points of view about these design documents.


AutoEdge

PSC has created AutoEdge as an example application example to illustrate the OpenEdge Reference Architecture. The idea and purpose of AutoEdge is to provide practical definition and examples of OERA and illustrates many aspects of modern ABL and Sonic code and technique. AutoEdge is what an application, with certain ‘business requirements’, might look like if architected and designed following the OERA guidelines.


Welcome

Welcome to the OERA forum. Please use this forum to ask questions, raise ideas, make suggestions or anything that will contribute to improving the Hive content with respect to the OpenEdge Reference Architecture.


ESB As An Application Architecture

In recent years, there has been a dramatic rise in the popularity of the concept of an Enterprise Service Bus (ESB) over a Service-Oriented Architecture (SOA). This popularity has been especially notable in the context of Enterprise Application Integration (EAI) and related domains where the requirement is for multiple applications to interact, often from multiple companies and distributed across multiple computers. Sonic Software has been one of the most notable evangelists of this concept and arguably provides the best overall infrastructure for implementing this approach.


Summary Use Case for Multi-threading Progress Sessions

A use case prepared for Progress Software to document the need for a multi-threaded client.


Exception and Condition Handling Classes

One of the problems faced by ABL programmers for many years is the lack of a true exception handling mechanism in the language. By “exception handling”, we mean a mechanism by which a program encounters an error or unexpected condition then can communicate up the call stack with the purpose of:
1. Signaling that requested execution has not completed as expected;
2. Communicating any necessary information about the details of why this condition occurred; and
3. Providing a structure such that the condition is “handled” in a graceful fashion at an appropriate level in the code.


Collection and Map Classes for OOABL

In developing a foundation framework for Object-Oriented ABL, it seems natural to consider creating a set of Collection classes since they have a broad utility in OO design in other languages. It also seems natural to consider imitating the Collection classes in Java since that is a tried and true implementation into which there has been a considerable investment of thought and effort.


#
Syndicate content