arch-8: implementing the openedge® reference architecture with openedge 10.1 simplify making the...
TRANSCRIPT
ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1Simplify making the best OpenEdge Reference Architecture-basedapplication
Eric DebeijSr Consultant
Bart SchouwBusiness Development Manager
© 2006 Progress Software Corporation2ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Agenda
Flabbergasting the audience OE-SDK background OE-SDK the main components OE-SDK revisited Wrap up
What you will have to endure the next 50 minutes
© 2006 Progress Software Corporation3ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Demo
© 2006 Progress Software Corporation4ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Demo: SMS your attendance
SMS: [email protected] <name> to +44 774 778 23 20
Example: [email protected] Bart S.
© 2006 Progress Software Corporation5ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
A small application made from Scratch Existing of 2 services, view and create. The create services accesses outlook. The SMS service is an existing free
available service on the internet which was used to route the SMS to our email adres.
Recap
What did we just see?
© 2006 Progress Software Corporation6ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
A best practice approach for application development based on:• OpenEdge 10.1
• Model driven development
• Round trip engineering
Recap
How did we make this possible?
Which we call:
© 2006 Progress Software Corporation7ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Consists of tools (Enterprise Architect and design time catalog) and the knowledge (base classes and services) to support a development team to build a modern OpenEdge Reference Architecture-based application within the OpenEdge development environment.
OE-SDK
Definition
© 2006 Progress Software Corporation8ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
OE-SDK was initially developed to support a large IT project in the Netherlands in the travel industry.
OE-SDK is developed in close cooperation by the Dutch Prof Services team, the EMEA Prof Services team and architects of Progress Corporate.
OE-SDK has been proven essential for the succesful implementation at the BGN RFID pilot in Almere.
Background of OE-SDK
Occasion
© 2006 Progress Software Corporation9ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Multi million project
OAD
© 2006 Progress Software Corporation10ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
The pre-requisites for this project included:– Multiple UIs (customers portals, backoffice)– OpenEdge Reference Architecture based– OpenEdge 10.1A– Single set of business logic– Use of UML to communicate with the business.
OAD Project
Background
© 2006 Progress Software Corporation11ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
The pre-requisites for this project included:– State of the art technology like RFID reader
Apama®, EasyAsk, OpenEdge 10.1, Sonic ESB®, Web services
– New standards (still evolving), like GEN2 for RFID
– Multiple suppliers in different part of the world– Use of UML to communicate with the business.– High pressure due to fixed deadlines
BGN RFID Pilot
Back ground
© 2006 Progress Software Corporation12ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Centraal Boekhuis
BooksTagged & Packaged In
fo
OpenEdge“Nobis”
Back Office Application
OpenEdgeRFID Services
EasyAskNatural
LanguageSearch
ASNProcessing
Sonic Enterprise Service Bus
Sonic Enterprise Service Bus
OpenEdge“Atlas”
Stock Tracking
CaptureTechRFID Gate
BGN Central
CustomerSelf-Service
Kiosk
WebSpeedCustomer Info Portal
Shop Staff Inventory Access
Apama ESPASN
Reconciliation
BGN Store
Advanced Shipping Notice Issued
RFIDTunnelat store
Customer OrdersAwait Pickup
Store Shelves Cash Register
BooksShippedto Store
The Selexyz Retail Supply Chain ~ System Deployment
© 2006 Progress Software Corporation13ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Model driven development with OE-SDK
The Software Development Life Cycle
Planning Analysis Design Build Test Deploy
COMPRESS
Planning Test Deploy Analysis Design
Build
© 2006 Progress Software Corporation14ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Lets go into detail
Analysis Design
Build
© 2006 Progress Software Corporation15ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
PresentationPresentation
Business ServicesBusiness Services
Data AccessData Access
Data SourcesData Sources
Co
mm
on
Infrastru
cture
Co
mm
on
Infrastru
cture
Enterprise ServicesEnterprise Services
OE-SDK is based on the OpenEdge RA
Pre
sen
tati
on
Pre
sen
tati
on
Bu
sin
ess
Ser
vice
sB
usi
nes
s S
ervi
ces
Dat
a A
cces
sD
ata
Acc
ess
Dat
a S
ou
rces
Dat
a S
ou
rces
Common InfrastructureCommon Infrastructure
En
terp
rise
Ser
vice
sE
nte
rpri
se S
ervi
ces
© 2006 Progress Software Corporation16ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
UCR – Application Logical Modelcd Manage Attendant
Business Layer Data Access Layer Data Store
BusinessEntity
beAttendant
+ validateAttendant(dsAttendant) : void
DataAccess
daAttendant
DATASET
dsAttendant
TEMP-TABLE
ttAttendant
column*PK attMail: CHARACTER() attName: CHARACTER() attTelephone: CHARACTER() attValidated: CHARACTER()
PK
+ PK_ttAttendant(CHARACTER)
Manage Attendant::Attendant
column*PK attMail: CHARACTER() attName: CHARACTER() attTelephone: CHARACTER() attValidated: LOGICAL
PK
+ PK_Attendant(CHARACTER)
© 2006 Progress Software Corporation17ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Base Classes - overview
cd Base classes - ov erv iew
Architecture Logical Model
Application Logical Model
ProClass
OeClass
DataAccessBusinessEntityBusinessTask
Application::BusinessEntityXxx
Application::BusinessTaskXxx
Application::DataAccessXxx
DATASET
Application::DatasetXxx
iBusinessEntityiBusinessTask iDataAccess
«realize» «realize»«realize»
«use» «use»
© 2006 Progress Software Corporation18ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Remote proxy
cd Remote proxy Pattern
Client Server
OeClass
BusinessEntity
property+ dsContext: context+ dsDataset: DATASET-HANDLE
+ loadData() : void+ resetDataset() : void+ saveData() : void# validateData() : void
api
+ fetchData(DATASET-HANDLE*, DATASET-HANDLE*) : void+ storeData(DATASET-HANDLE*, DATASET-HANDLE*) : void
«proxy»Application::proxyBusinessEntityXxx
+ fetchData(DATASET, dsContext) : void+ storeData(DATASET, dsContext) : void
Procedure
«api»Application::
BusinessEntityXxx_fetchdata Application::BusinessEntityXxx
Procedure
«api»Application::
BusinessEntityXxx_storedata
Proxy
# AppServer: HANDLE
© 2006 Progress Software Corporation19ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Lets go into detail
Analysis Design
Build
© 2006 Progress Software Corporation20ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Design time catalog
Control center Enrich information from UML Design Gather information from multiple sources Forward engineer skeletons AND standard
code Reverse engineer back to repository and
UML design
Function
© 2006 Progress Software Corporation21ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Demo
© 2006 Progress Software Corporation22ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
OE-SDK is based on
Wrap up
Based on best practice Model driven development approach
(Covers large part of SDLC)
OpenEdge Reference Architecture
© 2006 Progress Software Corporation23ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
OE-SDK consists of
Wrap up
Design time catalog • Tools for import/export
• Tool to enrich catalog data
• Tools for forward and reverse engineer
Architecture implementation • Base classes written with object oriented
extensions in the ABL.
© 2006 Progress Software Corporation24ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
OE-SDK
Simplifies the job of making the best OpenEdge RA applications
• UML naturally evolves to OO extensions in OpenEdge ABL
• Simple static OpenEdge ABL for application programmer
• Simple base classes with generic code for generic application code
© 2006 Progress Software Corporation25ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Questions?
© 2006 Progress Software Corporation26ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1
Thank you foryour time
© 2006 Progress Software Corporation27ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1