Title: OpenEdge Reference Architecture OERA Latest Thinking
1OpenEdge Reference Architecture (OERA) Latest
Thinking
Frank Beusenberg
Applied Technology Consultant
2Agenda
- New Colo(u)rs!
- Misconceptions
3OpenEdge Reference Architecture circa 2003
4OpenEdge Reference Architecture 2007
Presentation
Enterprise Services
Business Components
Common Infrastructure
Data Sources
5Agenda
- New Colo(u)rs!
- Misconceptions
6OERA Misconception 1
OERA is just slide-ware
gt115 Material postings in OpenEdge Principles on
PSDN
7OERA Misconception 2
OERA is a prescribed code base
OERA isnt code! OERA is a set of guidelines
definitions
8OERA Misconception 3
There is only 1 implementation
Already 3 variants of Implementations posted on
PSDN
9OERA Misconception 4
Its way too complex and scary!
Application Architecture Series on PSDN
10OERA Misconception 4
Its an all or nothing approach
Application Transformation Approach
11OERA Misconception 5
I have to use ProDataSets
ProDataSets have advantages but not mandatory
12OERA Misconception 6
OERA is only for SOA
OERA is an enabler for SOA, not only for SOA
13Thank you foryour time
14Agenda
- New Colo(u)rs!
- Misconceptions
- New Component Model
15OpenEdge Reference Architecture 2007
16OERA Component Model
17Thank you foryour time
18Agenda
- New Colo(u)rs!
- Misconceptions
- New Component Model
- The Devil is in the Detail
19OpenEdge Reference Architecture 2007
OpenEdge Architecture circa 1800
Application
Presentation
Business Components
Data Access
20The Break Up!
Can we Talk!!
Client
Application
21Service Adapter
- Is Accessed by
- Client Business Component
- Common Infrastructure
- Has Access to
- Service Interface of the Service Provider
- Common Infrastructure
22Service Adapter
- Role Responsibilities
- Manages Access to Service Provider
- Includes Discovery
- Isolates client from specific terms of Service
Contract
23Service Interface
- Is Accessed by
- Service Adapter (Service Requester)
- Has Access to
- Business Components
- Common Infrastructure
24Service Interface
- Role Responsibilities
- Exposes Methods of Business
- Components
- Manages Data Transformation
- Includes Discovery
25OERA Component Model
26OERA Component Model
Client
27Business Components
Business Components
28Business Components
29Business Workflow
- Is Accessed by
- Service Interface
- Business Workflow
- Has Access to
- 1M Business Workflow
- 1M Business Tasks
- 1M Business Entities
30Business Workflow
- Role Responsibilities
- Manages Multi-Step Process
- Manages State, NOT Transaction
- Exposes Methods to Service Interface
31Business Task
- Is Accessed by
- Service Interface
- Business Workflow
- Business Task
- Has Access to
- 1M Business Entities
- Common Infrastructure
32Business Task
- Role Responsibilities
- Manages process gt 1 Business Entity
- Must complete in a single
- process/transaction
- Manages Transactions
- Exposes Methods to Service Interface
33Business Entity
- Is Accessed by
- Service Interface
- Business Workflow
- Business Task
- Has Access to
- Data Access Object
- Common Infrastructure
34Business Entity
- Role Responsibilities
- Encapsulates Business Logic
- No knowledge of Physical DataSource
- Exposes Methods to Service Interface
- Manages Transaction
35OERA Component Model
Business Components
36OERA Component Model
Client
37Data Access Components
38Data Access Object
- Is Accessed by
- Business Entity
- Has Access to
- 1M Data Source Objects
- Common Infrastructure
39Data Access Object
- Role Responsibilities
- Aggregates Manages 1M Data Source
- Objects
- Manages data flow between Business
- Component Layer Data Source Layer
- Encapsulates logic to complete a Data Instance
- No Knowledge of Physical Data Source
40Data Source Object
- Is Accessed by
- 1M Data Access Objects
- Has Access to
- Data Source
- Common Infrastructure
41Data Source Object
- Role Responsibilities
- Access to Data Source
- Knowledge of Physical Data Source
- Structure
- Maps Data Instance to Data Source
- Encapsulates logic that requires knowledge of
physical Data Source - Optimistic Concurrency Control
- Manages Data Source Connection (if required)
- Handles Compensating Transactions
42OERA Component Model
Data Access Components
Client
43OERA Component Model
Client
Client
44Presentation Layer
Client
Client Business Component
Presenter
Service Adapter
View
45Client Business Component (Model)
- Is Accessed by
- Client Presenter
- Has Access to
- Service Adapter
- Client Common Infrastructure
46Client Business Component (Model)
- Role Responsibilities
- Client representation of Service
- Provider Business Component
- Encapsulates client-side business logic
- Manages Data Instance
47Client Presenter
- Is Accessed by
- Client View
- Has Access to
- Client Business Component
- Client View
- Client Common Infrastructure
48Client Presenter
- Role Responsibilities
- Handles events for Presentation
- Coordinates presentation components
49Client View
- Is Accessed by
- Client Presenter
- User!
- Has Access to
- Client Common Infrastructure
50Client View
- Role Responsibilities
- Contains visual components
- Displays data provided by Client
- Business Component
51OERA Component Model
52OERA Component Model
53Enterprise Services
- Service Provider acting as a Service Requester
- Service Adapter
- Accessed by Business Components (outbound)
- Accesses Service Provider Service Interface
(inbound)
54OERA Component Model
55For More Information, go to
- PSDN
- http//www.psdn.com
- OpenEdge Principles
- http//www.psdn.com/library/kbcategory.jspa?catego
ryID230 - OpenEdge Principles Forum
- http//www.psdn.com/library/forum.jspa?forumID11
56Relevant Exchange Sessions
- ARCH-1 Application Architecture Made Simple
- ARCH-7 A Class based implementation of the OERA
- ARCH-11 Building your presentation with classes
- ARCH-13 Transactions in an SOA World
- ARCH-14 Power Your Organization with OpenEdge
- DEV-5 Using ProDataSets in OpenEdge 10
- DEV-6 Getting started with OO Programming
57Questions?
58Thank you foryour time
59(No Transcript)