Upload
annabel-rose
View
213
Download
0
Embed Size (px)
Citation preview
Insight for Web Services & Software Component Practice
www.cbdiforum.com
Emerging Best Practices in Service Oriented Architecture
David Sprott
Business Service
BusinessService
Business Process
Software Service
Software Service
Software Service
Business Service
Software Automation Unit
© 2004 CBDI Forum Ltd
Agenda
Service Architecture Service Technology Service Lifecycle Process
© 2004 CBDI Forum Ltd
Service Architecture
© 2004 CBDI Forum Ltd
Service Architecture
Service Architecture enables: Common behaviours Common vocabulary Application independence Generalization Sharing
Web Service Technology enables: Invocation Encapsulation
Articulation Replaceability Upgradeability Choice of supply Manageability
© 2004 CBDI Forum Ltd
Service Architecture
Co
ns
um
er
ServiceArchitecture
ApplicationArchitecture
© 2004 CBDI Forum Ltd
Service Architecture
ComponentArchitecture
ComponentArchitecture
Co
ns
um
er
Pro
vid
er
ServiceArchitecture
ApplicationArchitecture
© 2004 CBDI Forum Ltd
Rationalizing the Existing Portfolio
Co
ns
um
er
Pro
vid
er
ServiceArchitecture
ApplicationArchitecture
© 2004 CBDI Forum Ltd
Virtualizing Resources
D & BElvion
Co
ns
um
er
ServiceArchitecture
ApplicationArchitecture
Pro
vid
er
© 2004 CBDI Forum Ltd
Reengineering the Business
Xignite Google Thomson SalesforceD & BElvion
Co
ns
um
er
ServiceArchitecture
ApplicationArchitecture
Pro
vid
er
© 2004 CBDI Forum Ltd
Creating Service Ecosystems
ServiceArchitecture
ServiceArchitecture
ServiceArchitecture
ServiceArchitecture
© 2004 CBDI Forum Ltd
CBSE – Component Based Service Engineering
ComponentService
Definition
Component:ObjectService
instance-of
Service – Client’s View
Design Time
Component – Supplier’s View
What does it do for me? What is the unit of change?
Run Time
© 2004 CBDI Forum Ltd
Service Ontology
Collaborative Process
Flow Process
Core Process
Core Entity
Core Utility
External(Inter-Enterprise)
Internal(Intra-Enterprise)
Scope Services
Collaborative Process
Flow Process
© 2004 CBDI Forum Ltd
Federation Example
Contract
Negotiation
Provision Customer
Fulfil Order
Fulfil Order
Order
Manager
Customer Address Book
Fulfil Order
© 2004 CBDI Forum Ltd
Business Traceability
Application Layer
Business Layer
Service Automation Unit
BusinessService
BusinessProcess
BusinessService
BusinessService
SoftwareService
SoftwareService
SoftwareService
© 2004 CBDI Forum Ltd
Anti-Pattern and Pattern for Service Design
C R U D
o Retrieve price o Generate lists o Display search results o Build recommendations o Add item to carto Manage inventory o Generate order reports o Submit refunds o . . .
© 2004 CBDI Forum Ltd
Loose Coupling Design Characteristics
Attribute
Generalization
Characteristic
The offered business service is designed in such a manner that many consumers can use it, potentially in many different circumstances
Measure
Stability
Implementation Dependency
Dependencies on other components or services are minimized.
The offered service implementation is highly independent.
Horizon of change is minimized
Independence
Usage and Collaboration Dependency
Mandatory dependencies on other components and services by the consumer are minimized. For example a Flight Reservation service that forces you to also use a specific Car Reservation service, is not loosely coupled in the business sense. Though that dependency could be the result of poor service design, or purely a business decision, either way flexibility for the service consumer is constrained.
Flexibility
Semantics and
Rules
Conformance (with eco system, sector, industry, de facto or de jure standards)
Uses de facto or industry standard semantics and rules
Applicability
Contract based API
Provider and consumer obligations are formally declared in a contract specification model
Understandability
Upgrade policy Upgrade policy is an integral part of the component or service design and contract
Upgradeability
© 2004 CBDI Forum Ltd
Delivering the Agile Architecture
Legacy
Portfolio
Proposed
Design
Select decoupling patterns
Coupling evaluation
Coupling assessment
This evaluates the prevailing
coupling in terms of a
given set of adaptability
requirements
This is a model of the As-Is or To-Be, showing the types and degrees of coupling
Coupling
Map
Coupling
Audit
Design for Adaptability
Requirements for Adaptability
© 2004 CBDI Forum Ltd
Generalization
Co
ns
um
er
Pro
vid
er
ContextCustomer
SupplierAgent
ContextPlatinum
SilverBronze
Gold
Service DifferencesData
Quality Technical
Quality
Security
Access
Resource
Usage
Control Differences
Price
Paid
Transaction
Type Connection
TypeSecurity Level
© 2004 CBDI Forum Ltd
Manageability
datastore
datastore
datastore
What is Going On (WIGO)
policy-makingsense-making
decision-making
© 2004 CBDI Forum Ltd
Service Technology
© 2004 CBDI Forum Ltd
Service Development Platform
Business Service A
Platform 1 Platform 2
Business Service B
Business Service Blueprint
Platform 2
BlueprintGlue 1 Glue 2
Platform 1
Blueprint
Virtual Platform Blueprint
Common Virtual Platform
Mapping / Transformation
© 2004 CBDI Forum Ltd
Deployed Layer
Dependency Horizon
Service Deployment
Application Layer
Business Layer
Service Automation Unit
BusinessProcess
Service Deployment
Unit
Lifecycle
Meta
Data
BusinessService
Software Service
© 2004 CBDI Forum Ltd
ServiceService
Resource Business Element
0..*
ServiceBusiness Element
Delivery Business Element
Service Meta Model (Outline)
SoftwareAutomation
Unit
DeployedIntegrity
Unit
Service
Order
Service
Place New
Order
Orders
Capability
Orders
Capability
© 2004 CBDI Forum Ltd
Web Services Management Pipeline
Identity
Authentication
Encryption
Identity
Authentication
Encryption
Billing
Royalties
Access control
Billing
Royalties
Access control
State
Recovery
Queuing
State
Recovery
Queuing
Timestamp
Statistics
Performance
Timestamp
Statistics
Performance
Transform service, request
Transform service, request
Monitoring
SLAAccessControl Logging
XMLFirewall
Transform
Intrusion
Attack
Intrusion
Attack
Accounting
SecurityAggregate
Composite
Aggregate or Composite services
Aggregate or Composite services
ServiceImplementations
OtherWeb
Services
Switch Service
Switch Implementation
Switch Service
Switch Implementation
Physical Connection
Physical Connection
Connector
Route
Security Monitoring Broker
StateMngmt
Prioritization Prioritization
WS-Security WS-AddressingWS-Distributed Management
© 2004 CBDI Forum Ltd
Service Lifecycle Process
© 2004 CBDI Forum Ltd
Service Lifecycle
Service Provision
Publish
Discover Consume
Version
Service Implementation
Service Consumption
ExecuteDeploy
Solution Implementation
Design
Certify
Analysis
© 2004 CBDI Forum Ltd
Information Exchange
Service Provision
Publish
Discover Consume
Version
Service Consumption
ExecuteDeploy
Design
Certify
Analysis
Requirements
Models
Software
Network
Classification
Specification
Provider
Location
Precise Specification
CommercialSLA
Certificates
References
Security Policy
SLA Compliance
Billing
Consumers
Notifications
Specification
© 2004 CBDI Forum Ltd
Governance in Service Lifecycle
Service Provision
Publish
Discover Consume
Version
Service Implementation
Service Consumption
ExecuteDeploy
Solution Implementation
Design
Certify
Analysis
Map to business ownership and usage
Requirements
for adaptability
Appropriate
Generalization
Requirements
Models Replaceability and Upgradeability
Usage profiling and authentication
Business and technical performance monitoring
Virtual resource management
Fitness for purpose
© 2004 CBDI Forum Ltd
Web Service Standards Support
Service Provision
Publish
Discover Consume
Version
Service Consumption
ExecuteDeploy
Design
Certify
Analysis
UDDI tModel
UDDI
WSDL
BPEL
UDDI
WSIL
WSDM
UDDI Subscriptions
WSDL
© 2004 CBDI Forum Ltd
Mainstream
SOAP
WSDL
UDDI
Specification
SOAP MTOM
WS-Addressing
WS-CAF
WS-Choreography
WSDM
WS-Eventing
WS-Federation
WS-IL
WS-Provisioning
WS-Reliable Messaging
WS-ReliableMessaging
Experimentation
ASAP
BPEL
WS-Coordination
WS-Policy
Early Adoption
WS-Security
WS-RP
Protocol Adoption
© 2004 CBDI Forum Ltd
Architecture Maturity
Loose coupled applications
delivering better EAITight coupled components
Loose coupled/replaceable business services and components
Managed, dynamic deployment and
replacement
© 2004 CBDI Forum Ltd
CBDI Adoption Roadmap
Early Learning Integration Reengineering Maturity
Standalone
WS Projects
Architected
Shared
Measured ManagedService
Deployments
Information Access
Specific function
Core BusinessCapability
Business Product
Business Collab’n
Domain Standard
Service Perspective
Short term ROI
Experimentation
Portfolio
Rationalization
Business
Reengineering
Industry/
Ecosystem
Drivers
Opportunistic,
Narrow
Many internal
Few external
Many external
Supply chain
Virtual BusinessCollaborations
Momentum Extended Momentum
Reengineered Automated,
Resource
Virtualization
Service
Process
© 2004 CBDI Forum Ltd
Summary
Architecture of services AND components: Defined ontology and meta model Encapsulation and virtualization Engineered adaptability
SOA Relevant Process: Business driven Separation of concerns Continuous delivery Progressive service enabling of portfolio Managed response and efficiency Defined governance structure
© 2004 CBDI Forum Ltd
www.cbdiforum.com