rob straight soa-1: applied soa: building out your soa environment with openedge ® principal...
TRANSCRIPT
Rob Straight
SOA-1: Applied SOA: Building Out Your SOA Environment with OpenEdge®
Principal Product Manager
© 2008 Progress Software Corporation2
What If You Could…
Speed business transactions Re-use existing software assets
• Reduce costs
• Extend lifetime of assets
Integrate acquisitions Quickly develop new products and services
• Address new market opportunities and cope with ever-changing business requirements
© 2008 Progress Software Corporation3
Today’s Business Environment
Distributed, 24x7 operations Heterogeneous systems Poor application-to-application connectivity Data access and consistency challenges
Raw GoodsInventory
Accounting
OrderMGMT
Supply Chain
ProductionControl
Credit ControlHQ
Retail
Plant
DistributionCenter Supplier
Partner
© 2008 Progress Software Corporation4
ScreenScrape
ScreenScrape
ScreenScrape
ScreenScrape
MessageQueue
MessageQueue
MessageQueue
DownloadFile
DownloadFile
DownloadFile
TransactionFile
TransactionFile
TransactionFile
ORB
ORB
CICS Gateway
CICS Gateway
APPC
APPCRPC
RPC
TransactionFile
Sockets
Sockets
Message
Message
Application
Application
Application
Application
Application
Application
Application
Application
Application
Application
Source: Gartner
The Technical Challenge
© 2008 Progress Software Corporation5
Agenda
SOA Concepts Getting Started with SOA using OpenEdge Examples
© 2008 Progress Software Corporation6
What is SOA?
A software systems architectural style
An approach for building agile and flexible business applications, based on services
Loosely coupled services = flexible business processes
Service-Oriented Architecture
© 2008 Progress Software Corporation7
GET OUT OF MY KITCHEN!
Real-World Service Example
© 2008 Progress Software Corporation8
Service Provider
Accomplishes a defined, self-containedunit of work • Does not depend on the state
of other processes/functions Internal details hidden
• Programming language• Execution logic• Data store (if any)
The service, exposed using a service interface, is stable and built to last
Service ImplementationService Implementation
DataBusiness
Logic
BusinessLogic
Service Interface
© 2008 Progress Software Corporation9
Service Contract
Service provider defines the available service operations• Input & output information
supported by each operation• Data representation model for
each parameter Rules and/or policies for using
the service Quality of Service (QoS)
attributes
© 2008 Progress Software Corporation10
Service Requester
Presentation (UI) layer or another service Locates service provider through agreed-upon
service directory Binds/invokes a service
based on a service contract Service adapter encapsulates
all issues associated with accessing the service
Fn()Fn()
Service Adapter
© 2008 Progress Software Corporation11
SOA Infrastructure
Services In Action
Service Provider
ServiceRequester
Fn()Fn()
Service Adapter
Service Request Service Response
Service ImplementationService Implementation
DataBusiness
Logic
BusinessLogic
Service Interface
Service Contract
© 2008 Progress Software Corporation12
SOA Infrastructure
Connects service requesters with providers May communicate with a Service Registry A variety of technologies available
Service
Provider
Service
ProviderSOA
InfrastructureService
Requester
Service
Requester
FTP AppServer™ Messaging
HTTP+XML (REST) Web Services
© 2008 Progress Software Corporation13
SOA: Just Service Providers & Requesters?
How do you:• SOA-enable existing
applications?
• Mediate service interactions?
• Compose and reuse service capabilities?
Don’t forget about Distribution, Scalability, Reliability and Security!
OPENEDGE APPLICATION
PACKAGED APPLICATION
& LEGACY SYSTEMS
.NET™APPLICATION
PARTNER SYSTEM
J2EE™ APPLICATION
Web ServicesInterface
SOAPHTTP
XML
© 2008 Progress Software Corporation14
Enterprise Service Bus
Abstract the service location
Facilitate service exchanges with the desired QoS
Promote reuse through service composition
SONIC™ ESBENTERPRISE SERVICE BUS
OPENEDGE APPLICATION
PACKAGED APPLICATION
& LEGACY SYSTEMS
.NETAPPLICATION
PARTNER SYSTEM
J2EE APPLICATION
© 2008 Progress Software Corporation15
Agenda
SOA Concepts Getting Started with SOA using OpenEdge Examples
© 2008 Progress Software Corporation16
OpenEdge Reference Architecture
PresentationPresentation
Business ComponentsBusiness Components
Data AccessData Access
Data SourcesData Sources
Com
mon Infrastructure
Com
mon Infrastructure
Enterprise ServicesEnterprise Services
Ser
vice
Pro
vide
r
Service Requester
© 2008 Progress Software Corporation17
Business
Components
StartOrderStartOrder
UpdateCustomer
UpdateCustomer
CheckInventory
CheckInventory
ScheduleShippingScheduleShipping
CloseOrderCloseOrder
Getting Started Defining OpenEdge Services
PROCEDURE StartOrder:..
END.
PROCEDURE UpdateCustomer:..
END.
PROCEDURE CheckInventory:..
END.
PROCEDURE ScheduleService:..
END.
PROCEDURE CloseOrder:..
END.
PROCEDURE StartOrder:..
END.
PROCEDURE UpdateCustomer:..
END.
PROCEDURE CheckInventory:..
END.
PROCEDURE ScheduleService:..
END.
PROCEDURE CloseOrder:..
END.
PROCEDURE StartOrder:..
END.
PROCEDURE UpdateCustomer:..
END.
PROCEDURE CheckInventory:..
END.
PROCEDURE ScheduleShipping:..
END.
PROCEDURE CloseOrder:..
END.
© 2008 Progress Software Corporation18
Using Initial Services
Business Components
On-line Order EntryOn-line Order Entry
StartOrderStartOrder
UpdateCustomer
UpdateCustomer
CheckInventory
CheckInventory
ScheduleShippingScheduleShipping
CloseOrderCloseOrder
WarehouseApplicationWarehouseApplication
Mainframe .NETJava™OpenEdge OpenEdge
© 2008 Progress Software Corporation19
Composite Services
Business Components
On-line Order EntryOn-line
Order Entry
StartOrderStartOrder
UpdateCustomer
UpdateCustomer
ScheduleShippingScheduleShipping
CloseOrderCloseOrder
WarehouseApplicationWarehouseApplication
CheckInventory
CheckInventory
Order and Ship Data TransformationIntermediary Services
© 2008 Progress Software Corporation20
Enterprise Service Bus
StartOrderStartOrder
UpdateCustomer
UpdateCustomer
CheckInventory
CheckInventory
Data Transformation
Order and Ship
ScheduleShippingScheduleShipping
CloseOrderCloseOrder
On-line Order EntryOn-line Order Entry WarehouseApplicationWarehouseApplication
Sonic ESB
Sonic ESB
© 2008 Progress Software Corporation21
Progress Technology Supporting SOA
OERA, ABL, ProDataSets, XML, Web services
Application Server & Open Clients SOA Portfolio:
• Enterprise Messaging & Service Bus• SOA & Business Process Management• Registry/Repository• Data Interoperability• Complex Event Processing• Mainframe Integration
© 2008 Progress Software Corporation22
Agenda
SOA Concepts Getting Started With SOA using OpenEdge Examples
© 2008 Progress Software Corporation23
Getting Started with SOA:Pilot Project Example
Situation• Specialized lighting manufacturer• 27 corporate divisions: no common integration• Re-use mix of OpenEdge and other solutions
Pilot project: start small and build on success• Deliver part diagrams electronically
Next look outward: invoicing service• Suppliers send invoices to a service• Correlate purchase orders & receipts to
invoices
© 2008 Progress Software Corporation24
SOA to Increase Business Example
Situation• Financial services company with 250K
customers and 20K transactions/day
• Goal: customer/revenue growth through superior on-line banking & call center
• Lacked integration across 8 backend systems and 2 external partners
Layered architectural and services approach• Started with internal processes first
© 2008 Progress Software Corporation25
ESB
Technical Solution Overview
SOAP
WebServicesClient
HTTP
WS
JMX
Management and BAM
1
Validate Route
2
DB
WS
HTTP
WS
3
Ba
ck-O
ffic
e A
pp
lic
atio
n
Ba
ck-O
ffic
e A
pp
lic
atio
n
Ba
ck-O
ffic
e A
pp
lic
atio
n
Bac
k-O
ffic
e A
pp
lica
tio
n
3
Process Model
Business Process
3
FTPSMTP
4 4 3
© 2008 Progress Software Corporation26
Results
Lowered development time 40% and cost 50%• Now have the ability to change business logic
independent of other layers
Successfully managing 1M+ messages / day 50% increase in on-line customers in first 6 months Improved customer service while reducing costs The technology is very exciting, but…
• Stay focused on reusable business logic
• Do not add complexity if it is not needed
© 2008 Progress Software Corporation27
Establishing New Sales Channels Example
Situation• $40M company shipping 6,000 packages/day• Goal: common infrastructure for the print catalog,
online and retail store sales channels• Phase 1: Catalog system to make order fulfillment
Followed the SOA pattern:• Reusable OpenEdge components for common
activities, e.g. tax calculations• Messaging replaces batch• Integrated to backend systems (e.g. AS400, Unisys)
without application code changes• ESB validates and transforms data
© 2008 Progress Software Corporation28
Results
Only 6 months from initial design to deployment!• System is extremely stable
Flexible business processes without coding changes
Near real time processing as compared to batch
© 2008 Progress Software Corporation29
In Summary
SOA is the architecture for the agile business• A design approach, not a
technology
OERA provides a framework Progress Software supplies the
technologies you need to achieve your SOA
© 2008 Progress Software Corporation30
For More Information
PSDN• Service-Oriented Architecture
http://www.psdn.com/library/kbcategory.jspa?categoryID=1591
• OpenEdge & Sonic Evaluation Kits http://www.psdn.com/library/entry.jspa?externalID=1131
Education: eLearning Catalog• http://www.psdn.com/library/entry.jspa?externalID=4734
© 2008 Progress Software Corporation31
Relevant PSDN Live Sessions
SOA-2 Introduction to the Sonic ESB Product Family
DEV-8 AppServer Mode Case Studies
SOA-3 Extending Your Application with OpenEdge Web Services
SOA-4 Enabling Your OE Application with Web 2.0
SOA-5 Introducing Native Invocation with the OpenEdge Adapter for Sonic ESB
© 2008 Progress Software Corporation32
Questions?
© 2008 Progress Software Corporation33
Thank You
© 2008 Progress Software Corporation34