arch-8: implementing the openedge® reference architecture with openedge 10.1 simplify making the...

27
ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application Eric Debeij Sr Consultant Bart Schouw Business Development Manager

Upload: emery-young

Post on 16-Jan-2016

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

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

Page 2: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 3: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation3ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1

Demo

Page 4: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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.

Page 5: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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?

Page 6: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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:

Page 7: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 8: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 9: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation9ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1

Multi million project

OAD

Page 10: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 11: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 12: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 13: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 14: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation14ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1

Lets go into detail

Analysis Design

Build

Page 15: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 16: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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)

Page 17: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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»

Page 18: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 19: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation19ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1

Lets go into detail

Analysis Design

Build

Page 20: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 21: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation21ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1

Demo

Page 22: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 23: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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.

Page 24: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 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

Page 25: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation25ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1

Questions?

Page 26: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation26ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1

Thank you foryour time

Page 27: ARCH-8: Implementing the OpenEdge® Reference Architecture with OpenEdge 10.1 Simplify making the best OpenEdge Reference Architecture-based application

© 2006 Progress Software Corporation27ARCH-8: Implementing the OpenEdge RA with OpenEdge 10.1