OERA OSI Group

This is the group for the OERA Open Source Initiative. All those interested in keeping track of the work on this project should join this group in order to receive e-mail notifications.

If you would like to start proposing the design of a new component or would like to contribute a component, please just create a new book page and parent it into the structure in an appropriate place.

If you are commenting on a specific contribution or proposal which already has its own page, please add comments to the page so the page author can respond and consider integrating your material into the page.

Use the forum below for early stage proposals, discussion of general principles, issues of interaction, etc.


The OERA OSI Forum


Temp-table to COM Excel

This is a procedure i wrote some years ago now. want to do the same for xml csv , then seperate one for pdf and rtf templates if you want full details of project let me know


OERA from .Net?

Hi,

I wonder if the .Net framework supported in the upcoming 10.2A already have classes defined to be just what we'd need for the OERA components (from the beta presentation site, .Net 3.0 and 3.5 seem to be supported)?
I know almost nothing about .Net, but there seems to be a large API with a well thought structure.

Since 10.2A will support ABL classes inheriting from .Net classes, we'll probably be able to override .Net component methods to use our own ABL implementation if needed, and in many cases, we'll probably don't even need to have an ABL implementation!


Rails

There's been some good discussion about what should and should not be in a framework, which components should be required and which should be optional, etc.

Of course the blueprint for this framework is OERA, but I believe that what's missing from this discussion is an example implementation of a modern Rapid Application Development framework.


UI Components

This category will be used to discuss principles of building UI components, sample UI component code, and helper classes for ABL UI.

It may be necessary or appropriate for us to subdivide this are according to the UI technology since contributions might deal with a variety of technologies.


UI Service Components

This category will be used to discuss principles of building UI service components, sample UI service component code, and helper classes for UI services.

UI services are components which run on the server and provide an interface between clients and the business logic layer. They contain no UI themselves. It is likely that some will be specific to a given UI and will serve to isolate the business logic layer from the specifics of the particular UI. Some may be UI independent.


Enterprise Service Components

This category will be used to discuss principles of building enterprise service components, sample enterprise service component code, and helper classes for enterprise services.


Business Logic Components

This category will be used to discuss principles of building business logic components, sample business logic component code, and helper classes for business logic.


Data Access Components

This category will be used to discuss principles of building data access components, sample data access component code, and helper classes for data access.

For initial background reading, consult OERA Strategies: Object-Oriented or Not?


Exception Handling Service

Bruce Gruenbaum:
Let me start out by saying that this is service that hitherto has not worked as well for me in OpenEdge as it does in Java/.NET. In a nutshell, it is a service that is responsible for receiving exceptions that have been caught somewhere. The Exception Handling Service receives the exception, logs it to an exception log and then looks for a class that has been designed to process the exception in some way. The trick is to have a standard way of processing all exceptions so that the user never experiences a Java/C#/OpenEdge exception/error condition that has not been handled.


Auditing Service

Bruce Gruenbaum:
The Auditing Service logs access and changes to data and stores away the state of the data at the time that an event took place. It is subtly different from logging in that logging is about keeping track of the fact that things happened whereas auditing is about keeping track of exactly what happened.

Thomas Mercer-Hursh:


Caching Service

Bruce Gruenbaum:
The Caching Service is responsible for storing data that may be referred to at a future point in time by this physical session and thereby reduce processing time. Caching with OpenEdge is simply a store of data. In muti-threaded environments, the cache can be self cleaning based on a LRU algorithm or something similar.

Thomas Mercer-Hursh:


Content Management Service

Bruce Gruenbaum:
The Context Management Service is designed to keep track of data that is needed to reestablish a logical session's context on subsequent interactions with a target. People will argue whether context should be stored on the client or the server or both. In my experience, a framework has to provide support for all three options - client, server and both. If one views a set of interactions with a set of targets as a set conversations, context management is about determining where you last left off in the conversation with a specific target.

Thomas Mercer-Hursh:


Session Management Service

Bruce Gruenbaum:
Session Management and Context Management are closely related but subtly different. A client may have many connections to several different targets. Each of those connections may be termed a session and its lifetime is the duration of the connection. That is a physical session. Many times though, the client makes repeated connections to a target and often to more than one target at a time. It may often be possible to reduce the amount of processing time involved by reusing an authentication token. Thus a logical session may span many connections to many different targets. The Session Manager is responsible of tracking data that is related to the logical session.


Logging Service

Bruce Gruenbaum:
The Logging Service logs every event that takes place in the system that is set to be logged. On a Windows platform these logs are optionally written to the Event Log. Where such services exist on other platforms they are used as appropriate. Exceptions are automatically logged with their complete stack traces.

Thomas Mercer-Hursh
"set to be logged" seems to imply getting configuration data on what to log.


Authorization Service

Bruce Gruenbaum
The Authorization Service is responsible for verifying and applying permissions and policies to the user that is logged in. Again, most of its implementation resides in an LDAP or other service, but the Authentication Service allows for this to be abstracted so that LDAP can be swapped out for something else.

Thomas Mercer-Hursh


#
Syndicate content