Title: ARCH-1: It
1ARCH-1 Its a Tall World After All
Tall
- Taking Application Architecture Seriously
John Sadd
Progress Fellow and OpenEdge Evangelist
Mike Ormerod
Technical Architect and OpenEdge Evangelist
2Agenda
- 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
3Its not such a small world anymore
4Your current application??
Just kidding!
5Your current application?
New User Interfaces
Integration
6Where you may wind up
Integration
New User Interfaces
7This is what you really need to build
New User Interfaces
Integration
8Agenda
- 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
9OpenEdge 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
Presentation
Enterprise Services
Common Infrastructure
Data Access
10OpenEdge 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
11OpenEdge 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
12OpenEdge 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
13OpenEdge 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
14OpenEdge Reference Architecture
Enterprise Services manages data input from and
output to other applications and services
- Web services
- SonicMQ
- Sonic ESB
15OpenEdge 10Product Platform for SOBA
A complete platform that delivers everything
needed by competitive business applications
Presentation
Common Infrastructure
Data Sources
16Agenda
- 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
17Every day there is
- Someone who wants to do something you used to do
- Opportunities for outsourcing services
your business partner
your application
your core business value
18Every day there is
- Someone who wants you to do something they used
to do - Opportunities for value-added services
your business partner
your application
your core business value
19Every day there is
- Someone who wants to share information that you
previously have not dealt with - Opportunities to provide integration points
your business partner
your application
20Every day there is
- Someone who wants information that you have not
previously shared - Opportunities to satisfy integration demands
your business partner
your application
your core business value
21What is that agile and flexible architecture
really for?
What the Guys in Funny Brown Shorts Are Really
Doing
- 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
??
22Agenda
- 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
23Business Servicing and Data Access Layers
From ARCH-12 Designing an OpenEdge Reference
Architecture-compliant 3-tier framework based on
the ProDataSet Gunnar Schug
Client
Server
Dataset dsOrder
Business Entity run fillDataset in
ghdsOrderDAO (input-output dataset sOrder
by-reference).
- Data Access Object
- Define queries
- Attach data sources
- Fill dataset
run fillDataset in ghdsOrderBE (input-output
dataset dsOrder by-reference).
Business Entity Client Proxy
DB
Service Interface
24Data Access Layer
Server
- Data Access Object
- Define queries
- Attach data sources
- Fill dataset
Transactions
DB
Physical bus. logic
25Server-side Business Entity
Server
Business Entity run fillDataset in
ghdsOrderDAO (input-output dataset sOrder
by-reference).
- Data Access Object
- Define queries
- Attach data sources
- Fill dataset
Public API
DB
Logical data definition
Business Logic
26Service Interface
Server
Business Entity run fillDataset in
ghdsOrderDAO (input-output dataset sOrder
by-reference).
- Data Access Object
- Define queries
- Attach data sources
- Fill dataset
DB
Session Manager
Service Interface
Client requests
27Agenda
- 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
28La Fondiaria RMI Class Diagram
29Agenda
- 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
30Selexyz Process improvement with RFID
From ARCH-8 Implementing the OpenEdge Reference
Architecture with OpenEdge 10.1 Bart Schouw
Eric Debeij
31The Selexyz Retail Supply Chain System
Deployment
OpenEdgeNobisBack Office Application
OpenEdge RFID Services
BGN Central
Centraal Boekhuis
Sonic Enterprise Service Bus
BooksTagged Packaged
Advanced Shipping Notice Issued
EasyAskNaturalLanguageSearch
ASNProcessing
Info
BGN Store
Customer Self-ServiceKiosk
BooksShippedto Store
Shop Staff Inventory Access
Sonic Enterprise Service Bus
Apama ESP ASN Reconciliation
OpenEdgeAtlasStock Tracking
CaptureTech RFID Gate
RFIDTunnelat store
Customer OrdersAwait Pickup
Store Shelves
Cash Register
32Agenda
- 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
33AutoEdge Architecture
B2C
Car Supplier
Head Quarter
Web Site
Inventory
CRM
Information Kiosk
A2A B2B Collaboration
Wireless Devices
Dealer 1
Dealer n
CRM
Inventory
CRM
Inventory
Back Office Application
Enterprise Reporting
34OpenEdge GUI Client Use Cases
35OpenEdge GUI Client - Realization
36High Level Architecture
37MVC Application Container
- Container MVC Structure
- Control
- maincontrol.p
- Model
- mainmodel.p
- View
- mainview.w
- mainviewxp.w
38Alternative View
39Agenda
- 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
40In 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!
41For More Information, go to
- PSDN
- http//psdn.progress.com
- Relevant Exchange Sessions
- ARCH-13Designing an OpenEdge Reference
Architecture compliant 3-Tier framework based on
the ProDataSet - ARCH-8Implementing the OpenEdge Reference
Architecture with OpenEdge 10.1
42Questions?
43Thank you foryour time
44(No Transcript)
45Sample Transition to Demo
46Name 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
47OpenEdge 10Product Platform for SOBA
A complete platform that delivers everything
needed by competitive business applications
- Designed for productivity
- Architected for service-orientedapplications
- Proven capabilities and performance
Client Processing
Integration Platform
Application Servers
Data Management Servers
48The Service-Oriented Business Application (SOBA)
Order Entry
Financial
Inventory
Integration Layer using the Enterprise Service Bus
CRM
Supply Chain Partner
- 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
49Client-side Business Entity Proxy and Service
Interface
Client
Dataset dsOrder
Client-side data logic
run fillDataset in ghdsOrderBE (input-output
dataset dsOrder by-reference).
Requests to server
Data batching
Business Entity Client Proxy
Service Interface