arch-1: it’s a tall world after all taking application architecture seriously john sadd progress...

49
ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical Architect and OpenEdge Evangelist

Upload: alexandra-mccoy

Post on 27-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

ARCH-1: It’s a Tall World After AllTaking Application Architecture Seriously

John SaddProgress Fellow and OpenEdge Evangelist

Mike OrmerodTechnical Architect and OpenEdge Evangelist

Page 2: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation2ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge® Reference Architecture Services and the value of your application Business Entity Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 3: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation3ARCH-1: It’s a Tall World After All

It’s not such a small world anymore…

Page 4: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation4ARCH-1: It’s a Tall World After All

Your current application??

Page 5: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation5ARCH-1: It’s a Tall World After All

Your current application?

Page 6: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation6ARCH-1: It’s a Tall World After All

Where you may wind up

Page 7: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation7ARCH-1: It’s a Tall World After All

This is what you really need to build

Page 8: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation8ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge Reference Architecture Services and the value of your application Business Entity Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 9: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation9ARCH-1: It’s a Tall World After All

OpenEdge Reference ArchitectureFor Service Oriented Business Applications

Design for longevity, flexibility, and competitive advantage

Accommodates evolving business requirements

Anticipates trends in technology

Provides agile and flexible architecture

PresentationPresentation

Business ServicesBusiness Services

Data AccessData Access

Data SourcesData Sources

Co

mm

on

Infrastru

cture

Co

mm

on

Infrastru

cture

Enterprise ServicesEnterprise Services

Page 10: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation10ARCH-1: It’s a Tall World After All

OpenEdge Reference Architecture

Data Access manages the physical data storage

Isolates specifics of physical data

Manages data retrieval and update transactions

Must adapt to a variety of data sources

Data SourcesData SourcesDatabaseDatabase DocumentDocument XMLXML

Page 11: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation11ARCH-1: It’s a Tall World After All

OpenEdge Reference Architecture

Business Services manages logical data definition

Separates logical from physical schemas

Allows business logic and UI to use logical data definition

Larger task and workflow containers for complex operations and services

Business EntityBusiness Entity TaskTask WorkflowWorkflow

Page 12: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation12ARCH-1: It’s a Tall World After All

OpenEdge Reference Architecture

Business Services also manages standard application services

Service interfaces provide uniform access to core services such as auditing

Also provide hooks to custom application services

Handle communication between client and server

Service InterfaceService Interface

Co

mm

on

Infrastru

cture

Co

mm

on

Infrastru

cture

Au

dit

Au

dit

Secu

rityS

ecurity

Tran

slateT

ranslate

Page 13: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation13ARCH-1: It’s a Tall World After All

OpenEdge Reference Architecture

Presentation controls the user interface and requests data and other services

Model-View-Controller Pattern separates data from UI

Model is the client side data management View is the user interface definition

Controller mediates between them and provides UI services

Page 14: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation14ARCH-1: It’s a Tall World After All

OpenEdge Reference Architecture

Enterprise Services manages data input from and output to other applications and services

Web services SonicMQ® Sonic ESB®

Page 15: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation15ARCH-1: It’s a Tall World After All

OpenEdge® 10Product Platform for SOBA

A complete platform that delivers everything needed by competitive business applications

PresentationPresentation

Business ServicesBusiness Services

Data AccessData Access

Data SourcesData Sources

Co

mm

on

Infrastru

cture

Co

mm

on

Infrastru

cture

Enterprise ServicesEnterprise ServicesClient ProcessingClient Processing

WebClient™

WebSpeed®

OpenClient

WebClient™

WebSpeed®

OpenClient

Integration PlatformIntegration Platform

Adapter for Sonic MQ

Adapter for Sonic

ESB

Adapter for Sonic MQ

Adapter for Sonic

ESB

Application ServersApplication ServersOpenEdge® Application ServerOpenEdge® Application Server

Data Management ServicesData Management ServicesOpenEdge® Database

OpenEdge® DataServer

XML

OpenEdge® Database

OpenEdge® DataServer

XML

Page 16: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation16ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge Reference Architecture Services and the value of your application Business Entity Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 17: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation17ARCH-1: It’s a Tall World After All

Every day there is…

Someone who wants to do something you used to do• Opportunities for outsourcing services

your application your business partner

your core business

value

Page 18: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation18ARCH-1: It’s a Tall World After All

Every day there is…

Someone who wants you to do something they used to do• Opportunities for value-added services

your application your business partner

your core business

value

new

value

Page 19: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation19ARCH-1: It’s a Tall World After All

Every day there is…

Someone who wants to share information that you previously have not dealt with• Opportunities to provide integration points

your application your business partner

new

value

Page 20: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation20ARCH-1: It’s a Tall World After All

Every day there is…

Someone who wants information that you have not previously shared

• Opportunities to satisfy integration demands

your application your business partner

your core business

value

Page 21: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation21ARCH-1: It’s a Tall World After All

What is that “agile and flexible” architecture really for?

UPS slogans: “Covering More Ground

Faster Than Ever” “Helping your business

move faster is part of everything we do”

“Your World Synchronized”

Dynamic Supply Chain Management

“What the Guys in Funny Brown Shorts Are Really Doing”

??

Page 22: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation22ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge Reference Architecture Services and the value of your application Business Entity Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 23: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation23ARCH-1: It’s a Tall World After All

Business Servicing and Data Access Layers

Client

Dataset dsOrder

run fillDataset

in ghdsOrderBE

(input-output

dataset dsOrder

by-reference).

run fillDataset

in ghdsOrderBE

(input-output

dataset dsOrder

by-reference).

Bu

sin

ess

En

tity

Clie

nt P

roxy

Bu

sin

ess

En

tity

Clie

nt P

roxy

Server

Service InterfaceService Interface

Business Entity

run fillDataset

in ghdsOrderDAO

(input-output

dataset sOrder

by-reference).

Business Entity

run fillDataset

in ghdsOrderDAO

(input-output

dataset sOrder

by-reference).

Data Access Object•Define queries

•Attach data sources

•Fill dataset

Data Access Object•Define queries

•Attach data sources

•Fill dataset

DB

From ARCH-12: Designing an OpenEdge Reference Architecture-compliant

3-tier framework based on the ProDataSet – Gunnar Schug

Page 24: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation24ARCH-1: It’s a Tall World After All

Data Access Layer

Server

Data Access Object•Define queries

•Attach data sources

•Fill dataset

Data Access Object•Define queries

•Attach data sources

•Fill dataset

DB

Transactions

Physical bus. logic

Page 25: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation25ARCH-1: It’s a Tall World After All

Server-side Business Entity

Server

Business Entity

run fillDataset

in ghdsOrderDAO

(input-output

dataset sOrder

by-reference).

Business Entity

run fillDataset

in ghdsOrderDAO

(input-output

dataset sOrder

by-reference).

Data Access Object•Define queries

•Attach data sources

•Fill dataset

Data Access Object•Define queries

•Attach data sources

•Fill dataset

DB

Logical data definition

Public API

Business Logic

Page 26: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation26ARCH-1: It’s a Tall World After All

Service Interface

Server

Business Entity

run fillDataset

in ghdsOrderDAO

(input-output

dataset sOrder

by-reference).

Business Entity

run fillDataset

in ghdsOrderDAO

(input-output

dataset sOrder

by-reference).

Data Access Object•Define queries

•Attach data sources

•Fill dataset

Data Access Object•Define queries

•Attach data sources

•Fill dataset

DBService InterfaceService Interface

Session Manager

Client requests

Page 27: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation27ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge Reference Architecture Services and the value of your application Business Entity Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 28: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation28ARCH-1: It’s a Tall World After All

La Fondiaria : RMI Class Diagramcd RMI Class Diagram

Support Classes Server Side

Client Side

rmiSIproxy.p

+ InvokeMethod(ipcMethodNamespace, iptInPar, optOutPar) : char::ttParameters.p+ clearInputParameters() : void+ getOuputParametersByName(ipcParNam) : char+ getOutputParametersByPosition(ipiParPos) : char+ setInputParameters(ipcParName, ipcParValue) : void

rmiSIgateway.p

+ rmiSIgateway.p(ipcInvocationName, ipcMethodNamespace, iptIN_par, iptOUT_par, opcErrorMessage) : void

«persistent»rmiSIserver.p

+ InvokeMethod(ipcMethodNamespace, iptInPar, optOutPar) : char::ttParameters.p+ clearInputParameters() : void+ getOuputParametersByName(ipcParNam) : char+ getOutputParametersByPosition(ipiParPos) : char+ setInputParameters(ipcParName, ipcParValue) : void::ClassCache+ getClassHandle(ipcClassName) : HANDLE+ loadConfiguration() : void+ startClass(ipcClassName) : HANDLE

«generated»clXXX.p

+ mhKKK(iptInPar, optOutPar) : void+ mhYYY(iptInPar, optOutPar) : void+ mhZZZ(iptInPar, optOutPar) : void

«4GL procedure»mhYYY.p

«TEMP-TABLE»ClassHandles

UI

«4GL procedure»mhKKK.p

«4GL procedure»mhZZZ.p

ttIn

column* ParNam: CHAR(15)*PK ParPos: INTEGER ParVal: CHAR(15)

ttOut

column* ParNam: CHAR(15)*PK ParPos: INTEGER ParVal: CHAR(15)

«reusable»ttParameters.p

+ clearInputParameters() : void+ getOuputParametersByName(ipcParNam) : char+ getOutputParametersByPosition(ipiParPos) : char+ setInputParameters(ipcParName, ipcParValue) : void

«reusable»ClassCache

- CurrentNoOfClasses: int- MaxNoOfClasses: int- NumOfClassesToFree: int

+ getClassHandle(ipcClassName) : HANDLE+ loadConfiguration() : void+ startClass(ipcClassName) : HANDLE

La configurazione viene letta da Database o da file di configurazione.

Can Invoke Server-Side methods

«AppServer call»

«call»

1 0..*

«call»

«call»

ADM2 UI

Client Service

Interface

Server Gateway

Invocation Process

Generated

Service Interface

Existing ABL

Procedures

Page 29: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation29ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge Reference Architecture Services and the value of your application Business Servicing Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 30: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation30ARCH-1: It’s a Tall World After All

Selexyz : Process improvement with RFID

Shop check of goods received

Received goods will be matched through RFID with the ASN

Placing books in the shelves by employee

Through shelve plan and RFID, the employee knows where to put the book

Payment of the book

Through RFID tag product and price details will be made available for the POS

CB produces order

RFID Tag is printed and linked to a book + check of the tag

Exit check

RFID tag can be used for payment check

CB shipment of the goods

Advanced Shipping Notice (ASN) with RFID article identification will be send electronically to BGN

BGNCBOrderOrder ShipmentShipment ReceivingReceiving StockStock PaymentPayment SecuritySecurity

From ARCH-8: Implementing the OpenEdge Reference Architecture with OpenEdge 10.1 – Bart Schouw & Eric Debeij

Page 31: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation31ARCH-1: It’s a Tall World After All

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 32: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation32ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge Reference Architecture Services and the value of your application Business Entity Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 33: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation33ARCH-1: It’s a Tall World After All

AutoEdge Architecture

A2A & B2B CollaborationA2A & B2B Collaboration

B2C

Web SiteWeb Site

WirelessDevicesWirelessDevices

Head Quarter

CRMCRM

Dealer 1

CRMCRM InventoryInventory

Dealer n

CRMCRM InventoryInventory

Car Supplier

InventoryInventory

InformationKiosk

InformationKiosk

Back OfficeApplicationBack OfficeApplication

Enterprise ReportingEnterprise Reporting

Page 34: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation34ARCH-1: It’s a Tall World After All

OpenEdge GUI Client – Use Cases

Page 35: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation35ARCH-1: It’s a Tall World After All

OpenEdge GUI Client - Realization

Page 36: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation36ARCH-1: It’s a Tall World After All

High Level Architecture

Progress

Graphical User Interface

Service Adapter

Server Service Interface

Business Logic

Page 37: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation37ARCH-1: It’s a Tall World After All

Container MVC Structure Control

• maincontrol.p

Model• mainmodel.p

View• mainview.w

• mainviewxp.w

MVC Application Container

cd mainWindow

mainControlmainView

mainModel

loginControl

This is the application startup class.

Page 38: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation38ARCH-1: It’s a Tall World After All

Alternative View

Page 39: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation39ARCH-1: It’s a Tall World After All

Agenda

Why an Architecture? The OpenEdge Reference Architecture Services and the value of your application Business Entity Example Service Interface Example Integration Layer Example Presentation Layer Example Conclusions

Page 40: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation40ARCH-1: It’s a Tall World After All

In Summary

Consider the importance of a serious architecture for the future of your application

Learn from what we provide, but adapt and extend to your own requirements

Be prepared for the unexpected!

Page 41: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation41ARCH-1: It’s a Tall World After All

For More Information, go to…

PSDN• http://psdn.progress.com

Relevant Exchange Sessions:• ARCH-13:Designing an OpenEdge

Reference Architecture compliant 3-Tier framework based on the ProDataSet

• ARCH-8:Implementing the OpenEdge Reference Architecture with OpenEdge 10.1

Page 42: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation42ARCH-1: It’s a Tall World After All

Questions?

Page 43: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation43ARCH-1: It’s a Tall World After All

Thank you foryour time

Page 44: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation44ARCH-1: It’s a Tall World After All

Page 45: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation45ARCH-1: It’s a Tall World After All

Sample: Transition to Demo

Page 46: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation46ARCH-1: It’s a Tall World After All

Name that article…

Web Enterprise Architecture for Integration Patterns Architects

Web Integration Architecture Patterns for Enterprise Architects

Enterprise Integration for Web Architecture Patterns Architects

Integration Architecture Patterns for Web Enterprise Architects

Architecture Architects for Web Enterprise Integration Patterns

Page 47: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation47ARCH-1: It’s a Tall World After All

OpenEdge® 10Product Platform for SOBA

Designed for productivity

Architected for service-orientedapplications

Proven capabilities and performance

A complete platform that delivers everything needed by competitive business applications

Client Processing Integration Platform

Application Servers

Data Management Servers

Page 48: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation48ARCH-1: It’s a Tall World After All

The Service-Oriented Business Application (SOBA)

Integration Layer using the Enterprise Service Bus

CRM Supply Chain Partner

FinancialOrder Entry Inventory

• It is not the whole application that is the service, it is the business functionality within the application

• The application is an aggregation of individual services

• It is not the whole application that is the service, it is the business functionality within the application

• The application is an aggregation of individual services

Page 49: ARCH-1: It’s a Tall World After All Taking Application Architecture Seriously John Sadd Progress Fellow and OpenEdge Evangelist Mike Ormerod Technical

© 2006 Progress Software Corporation49ARCH-1: It’s a Tall World After All

Client-side Business Entity Proxy and Service Interface

Client

Dataset dsOrder

run fillDataset

in ghdsOrderBE

(input-output

dataset dsOrder

by-reference).

run fillDataset

in ghdsOrderBE

(input-output

dataset dsOrder

by-reference).

Bu

sin

ess

En

tity

Clie

nt P

roxy

Bu

sin

ess

En

tity

Clie

nt P

roxy

Service InterfaceService Interface

Client-side data & logic

Data batching

Requests to server