soa-01: soa elucidated: principles of service- oriented architecture ken wilner vice president of...
TRANSCRIPT
SOA-01:SOA Elucidated: Principles of Service-Oriented Architecture
Ken WilnerVice President of Technology
2 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Business Environment Highly Susceptible to Change
Customer Demands Competition Mergers & Acquisitions Divestitures Business Partners Technology Business Expansion Drive for Cost Efficiency
3 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
The IT RealityR
equ
irem
ent
s
Time
IT Systems
Business
Constant changes reduces the ability to respond
4 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
IT Dilemma: “The Accidental Architecture”
CRM ERP
PARTNER SYSTEMS FINANCE
Proprietary technologies and skill sets
Multiple communication infrastructures
High cost of license, consulting and operation
Lots of turf control and organizational issues
ORDERENTRY
Inability to Respond
5 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
IT Architecture Requirements
Simplicity Software that reflects the
need of business Agility and flexibility Reusability Technology independent Promote integration
Built to Change
6 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Service-Oriented Architecture
An approach for building distributedcomputing systems based on
encapsulating business functions as services that can be easily accessed
in a loosely coupled fashion.
7 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
It Has Been Tried Before
CORBA Microsoft DCOM Java™ RMI .NET™ Remoting DCE EJB
Easier for Programmers – API Focused
8 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
How is SOA Different?
Uses established distributed computing and messaging concepts
Scales-up as well as down– Department– Enterprise– Extended enterprise
Incorporates multiple communication models – events and request/reply
Driven by standards and well-known protocols, e.g. Web Services, XML, HTTP, etc.
Easier for Business Analysts – Document Focused
9 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
SOA: Is It Real?
“By 2008, SOA will be a prevailing software-engineering practice, ending 40-year domination of
monolithic software architecture”
Yefim V. Natis, Gartner Group Analyst, “Service Oriented Architecture Scenarios,” April 16, 2003
10 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
SOA: It’s Not a Thing
Product A specific technology An application A specific standard A specific set of rules
It’s not a:
An Approach for Building Agile and Flexible Business Applications
11 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Agenda
SOA Overview
SOA Types and Patterns
SOA and the OpenEdge Reference Architecture
SOA, Web Services, and the Enterprise Service Bus
Summary
12 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
SOA Model
Bind / Invoke
Service
Consumer
Service
ConsumerService
Provider
Service
Provider
ServiceDirector
y
ServiceDirector
y
Find / Details Publish
Loosely Coupled Components Communicating Via Well-Defined Interfaces
13 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Service Elements and Service Contracts
Service Interface
Fn()Fn()
Service Implementation
ServiceConsumer
Service Provider
Fn()Fn()
Presentation layer or another service
Locates service provider through agreed upon service directory
Binds/invokes service based service interface
Only the service interfaces are exposed
Service implementation is hidden from the service consumer
Data store encapsulated by serviceData
ServiceLogic
14 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Multiple Service Interfaces
Service Interface
ServiceConsumerService
Consumer
Service Interface
Service Implementation
Data
ServiceLogic
Interface A
Operation A1 Operation A2 Operation A3
Interface B
Operation B1 Operation B2
ServiceConsumerService
Consumer
15 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Order Mgmt ServiceOrder Mgmt Service
Approve
FulfillOrder
Valid Order
Supplier ServiceSupplier Service
Check Credit
Hold Stock
Valid Order?
SOA – A Sea of Services
Online Ordering Service
Online Ordering Service
Req. Order
Notify Buyer
OrderEntry
Inventory Mgmt Service
Inventory Mgmt Service
Hold
Ship
Lookup
Credit ServicesCredit Services
Approve
Notify
Chk Credit
16 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Service Contract
Service
Consumer
Service
ConsumerService
Provider
Service
Provider
ContractContract
Everything Needed to Interact With The Service And Nothing More
17 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Service Contracts Service interface including operations,
messages, transports, and location– WSDL (Web Service Description Language)
– XML Schemas
– Proxies generated from Service Implementation
– A formal hardcopy specification Service description
– sequencing requirements
– exception handling
– formal documentation and implied semantics Service level agreements and legal obligations
18 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
SOA Infastructure
Service
Consumer
Service
ConsumerService
Provider
Service
Provider
SOA Infrastructure
Connects service consumers with service providers
May be used to communication with service registry
May be implemented using a variety of technologies
19 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Service Infrastructure
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
AppServerCORBA
JMSFTP
Web Services
20 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Multiple Service Interfaces
Service Interface
Service Consumer
Service Interface
Service Consumer
Contract 1Contract 1 Contract 2Contract 2
Web
ServiceMessage Based
Service Implementation
Data
ServiceLogic
21 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Service Directory
Repository of service contracts Provides facility for discovering services May provide additional information such as:
– Contact information– Usage fees
May be formal or informal– UDDI– Centralized Web site– A proprietary database of XML schemas– Printed documents
Scoped to application, department, enterprise, extended enterprise
May be formally managed by a corporate architecture board
ServiceDirectory
ServiceDirectory
22 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Agenda
SOA Overview
SOA Types and Patterns
SOA and the OpenEdge Reference Architecture
SOA, Web Services, and the Enterprise Service Bus
Summary
23 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
SOA Service Types
Business Process Services
Intermediary Services
Basic Services
Application Client Layer
24 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Basic Services
A stateless server-oriented software function Strictly, act as a service provider Encapsulate all access to a particular data source Basic Business Services – Domain specific Basic Infrastructure Services – Non-domain
specific Security Logging Persistence Auditing
25 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Intermediary Services
A stateless service which is both a provider and a consumer
Includes business and infrastructure types– Technology gateways
Bridge gap between two technologies
– Transformation Convert message format from/to what service
consumer and provider expect
– Facades Aggregated, simplified view of multiple services
– Functionality-adding services Add functionality to a service without changing the
service itself
26 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Business Process Service
Encapsulates an enterprises stateful business processes
Act as both a service provider and a service consumer
Tend to be very application specific
27 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
SOA: Growth Stages
Agility and
Flexibility
Complexity
Process-DrivenSOA
Multi-LevelSOA
SimpleSOA
Maturity of
SOA
28 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Simple SOA
Online Ordering Application
Online Ordering Application
Order Management
Order Management
Customer Management
Customer Management
Inventory Management
Inventory Management
Basic ServiceLayer
Presentation Layer Warehouse
Application
Warehouse Application
29 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Multi-Level SOA
Online Ordering Application
Online Ordering Application
Order Management
Order Management
Customer Management
Customer Management
InventoryManagement
InventoryManagement
Basic Service Layer
PresentationLayer
Order and ShipOrder and Ship
IntermediateService Layer
30 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Process-Driven SOAOnline
Ordering Application
Online Ordering
Application
Order Management
Order Management
Customer Management
Customer Management
InventoryManagement
InventoryManagement
Basic Service Layer
PresentationLayer
Order and ShipOrder and Ship
IntermediateService Layer
CatalogService
CatalogService
Business ProcessService Layer
OrderCancellation
Service
OrderCancellation
Service
31 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Agenda
SOA Overview
SOA Types and Patterns
SOA and the OpenEdge Reference Architecture
SOA, Web Services, and the Enterprise Service Bus
Summary
32 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
OpenEdge RA Service Components
Service Provider
Service Consumer
Users
Presentation Layer
Business Servicing Layer
Data Access Layer
Managed Data Stores
Unmanaged Data Stores
Enterprise Services
Integration Layer
33 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Business Layer Integration
Presentation Layer/s Integration Layer/s
Data Access Layers
Managed Unmanaged
Users EnterpriseServices
Service Interface
Business
Workflows
Business
TasksBusiness Entities
Service Adapter
34 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
OERA and Service Contracts
Service Adapter
Service Interface
Fn()Fn()
Financials
Service Consumer
Service Provider
ContractContract
35 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Inside a Service: Coordinated Business Components
BusinessWorkflows
Business Tasks
BusinessEntities
BusinessWorkflowsBusiness
Workflows
Business TasksBusiness
Tasks
BusinessEntities
BusinessEntitiesBusiness
Entities
BusinessEntitiesBusiness
Entities
Business TasksBusiness
TasksBusiness Tasks
Service Interface
36 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Business Layer Integration
Presentation Layer/s Integration Layer/s
Data Access Layers
Managed Unmanaged
Users EnterpriseServices
Service Interface
Business
Workflows
Business
TasksBusiness Entities
Service AdapterBusiness Process Service
Basic and Intermediary
Service
37 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Agenda
SOA Overview
SOA Types and Patterns
SOA and the OpenEdge Reference Architecture
SOA, Web Services, and the Enterprise Service Bus
Summary
38 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
“Accidental Architecture”: Did We Really Solve the Problem?
CRM ERP
PARTNER SYSTEMS FINANCE
ORDERENTRY
39 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
OpenEdgeApplication
WEBSERVICE
Web Services
Well defined service interface promotes reuse
XML-based data easily exchanged
Designed for remote access, across heterogeneous platforms
Standard Interfaces are Major Step Forward
TCP/IP
WEB SERVICESINTERFACE
.NET™APPLICATION
PACKAGED APPLICATION
& LEGACY SYSTEMS
J2EE™ APPLICATION
XML
XML
40 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
J2EE™ APPLICATION
PACKAGED APPLICATION
& LEGACY SYSTEMS
.NET™APPLICATION
OpenEdgeApplication
WEBSERVICE
WEB SERVICESINTERFACE
Web Services
Is it more agile? Is it reliable, scalable
and secure? How do you manage
and monitor distributed services?
But Have We Solved The Whole Problem?
Web services are interoperable communications stacks but don’t offer key capabilities like routing, service deployment, management, format transformation, and guaranteed delivery.
TCP/IP
41 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Enterprise Service Bus
ENTERPRISE SERVICE BUS
J2EE™ SERVICE
LEGACY SYSTEMS
.NET™SERVICE
OPENEDGE SERVICE
WEBSERVICE
Integrated Set of SOA Services Based on a Common SOA Infrastructure Backbone
Data transformation Intelligent routing Logging Persistence Native Web service
capabilities Content-based routing Specialized Adapters Orchestration Server Asynchronous and
synchronous messaging
42 SOA-01: SOA Elucidated© 2005 Progress Software Corporation
Agenda
SOA Overview
SOA Types and Patterns
SOA and the OpenEdge Reference Architecture
SOA, Web Services, and the Enterprise Service Bus
Summary
© 2004 Progress Software Corporation43
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
CTO Forum, Nov 11 2004
In SummaryIn Summary
SOA the architecture for the agile business
SOA is a design approach, not a technology
Good architecture means good service design
© 2004 Progress Software Corporation44
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
CTO Forum, Nov 11 2004
Questions?Questions?
© 2004 Progress Software Corporation45
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
CTO Forum, Nov 11 2004
Thank you for your time!
Thank you for your time!
© 2004 Progress Software Corporation46
Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
CTO Forum, Nov 11 2004