OERA Framework

Code, whitepapers, and discussions related to components for building an OERA-compliant application.


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. However, while Java Collection classes need to use relatively low level constructs like arrays and hash tables for implementation, in OOABL we have temp-tables, which not only provide a very easy and flexible way of maintaining a set, but which has the significant advantage of being open-ended (unlike an array) and having an automatic extension to disk. This use of temp-tables is likely to lead to a number of appropriate differences between a good OOABL implementation and the Java implementation.


Advanced Business Logic Sample Code

This sample code complements Implementing the OpenEdge® Reference Architecture: 7: Advanced Business Logic. Seventh in a series by Progress Fellow John Sadd on applying the OpenEdge Reference Architecture principles to building applications, this white paper and accompanying code samples discuss in depth best practices regarding database trigger procedures, transaction scoping, referencing between business entities, and extending exception handling.


Context Management Sample Code

This sample code complements Implementing the OpenEdge® Reference Architecture: 8: Context Management. Eighth in John Sadds series on the OpenEdge Reference Architecture, this paper is aimed at complex WebSpeed applications and describes how to implement a context management service for using ProDataSets in large database transactions consisting of several changes.

added by:
Progress Software Developers Network


Syndicate content