OERA Class Reference

OERA Class Reference

OERA Class Reference

This section provides detailed reference documentation for the key classes, interfaces, and enumerations in the Consultingwerk.OERA package and its sub-packages.

Package Structure

The Consultingwerk.OERA package is organised into the following areas:

Area

Description

Area

Description

Core Interfaces

Fundamental contracts (IBusinessEntity, IDataAccess, IServiceManager, IServiceAdapter, etc.)

Business Entity & Business Task Base Classes

Abstract base classes for the server-side OERA layer

Data Access Layer

BufferDataSource, BufferSpec, DataAccessFactory, and supporting classes

Dataset Model & Table Model

Client-side ORM wrappers (DatasetModel, DatasetModelPerformer)

Request & Parameter Objects

FetchDataRequest, FilterParameter, CanFindParameter, and other request DTOs

Context & Session Management

ContextWrapper, ContextWrapperImpl — static facade over the session context dataset

Service Interface & Service Manager

IServiceManager, IServiceAdapter — the transport layer between client and server

Business Entity Descriptor

Annotation-driven metadata service for Business Entities

Dynamic Business Entity

Runtime-generated Business Entities driven by model definitions

CCS Query Integration

QueryDefinition, QueryBuilder, NamedQuery, RequestConverter for CCS-compatible query handling

Enumerations & Support Types

All OERA-specific enumerations

Architecture Overview

The SmartComponent Library OERA layer follows a strict three-tier pattern:

┌─────────────────────────────┐ │ Client (UI / Custom Code) │ │ DatasetModel / TableModel │ └─────────────┬───────────────┘ │ FetchData / SaveChanges ┌─────────────────────────────┐ │ ServiceInterface / Adapter │ │ IServiceManager │ └─────────────┬───────────────┘ ┌─────────────────────────────┐ │ Business Entity (server) │ │ IBusinessEntity │ └─────────────┬───────────────┘ │ FetchData / SaveChanges ┌─────────────────────────────┐ │ Data Access (IDataAccess) │ │ BufferDataSource / DataSrc │ └─────────────┬───────────────┘ ┌─────────────────────────────┐ │ OpenEdge Database │ └─────────────────────────────┘

Key Design Principles

  • ProDataset-centric: all data transport between layers uses OpenEdge ProDatasets (handle-based or strongly-typed).

  • Interface-driven: every layer is coded against an interface, making layers independently testable and replaceable.

  • Singleton services: Business Entities and Business Tasks retrieved via ServiceManager/get-businessservice are session singletons managed by the framework — callers must not delete them.

  • Fluent API: DatasetModel and FetchDataRequest both support method-chaining for compact, readable client code.

  • Transport transparency: DatasetModel automatically switches between direct ServiceInterface (same session, databases connected) and remote ServiceAdapter (AppServer/PASOE) based on NUM-DBS or explicit configuration.

See Also