Upload
truongkhue
View
219
Download
1
Embed Size (px)
Citation preview
Enterprise Architecture Training
International SOA Conference 2009
SOA and BPM Together:
Hype or Helpful?
Mike Rosen
Chief Scientist
Wilton Consulting [email protected]
© Michael Rosen
SOA and BPM:Hype or Helpful?
Mike Rosen
Director, Enterprise ArchitectureCutter Consortium
Enterprise Architecture Training
© 2009 Michael Rosen 3
Mike Rosen
� Consultant• IT Architecture and Strategy
• Chief Enterprise Architect for service- and component-based systems
– Finance, Insurance, Telecom
• SOA, EA and MDA implementation, strategy and training
• 25+ years experience in distributed systems, software and architecture
� Author
• Cutter Consortium– ‘10 Things and Architect Does to Add Value’
– ‘EA by Example’
– “Designing Service Oriented Applications”
– “EA – It’s not Just for IT Anymore”
– “Agile Methods and Enterprise Architecture”
– “Enterprise Architecture Roll-out and Training”
– “Service Oriented Integration: Aligning SOA with Enterprise Integration”
– “Implementing SOA on Common Technologies”
– “An Application Centric Approach to Enterprise Architecture”
• Books– SOA Applied: Architecture and Design Strategies, 2008, Wiley
– Developing e-Business Systems and Architecture: A Manager’s Guide, 2000, Morgan-Kaufman
– Integrating CORBA and COM Applications, 1998, Wiley
© 2009 Michael Rosen 4
Agenda
� Traditional BPM example
� SOA provides a better solution
� SOA Architecture for BPM
� Information Design
� Model Driven BPM
� Process Example
� Conclusion
Enterprise Architecture Training
© 2009 Michael Rosen
Insurance Example
� Merger of two insurance companies with different lines of business
� Need new pricing mechanism that go across lines of business
• 5% discount if 2 policies
• 7% discount if employee
� Pricing implemented on existing mainframe applications
Business ProcessModel Existing Systems
and Data
How do you get fromhere to there?
© 2009 Michael Rosen 6
Collect
Application
Information
Create
Potential
Customer
Underwrite Price
Create QuoteReceive
Request for
Quote
Validate
Request
Quote
Request
Within
LimitsYes
Receive
Quote
No
Policy
Insurance BPMN Model
Enterprise Architecture Training
© 2009 Michael Rosen
A Typical BPM Integration Scenario
Data
OtherSystem
Data
PolicySystem
Data
AutoSystem
Data
LOB 2 System
Data
Application System
Data
Application 2System
© 2009 Michael Rosen
This Doesn’t Scale
Data
OtherSystem
Data
PolicySystem
Data
Data
AutoSystem
LOB 2System
Data
Data
Application 1System
Application 2System
Enterprise Architecture Training
© 2009 Michael Rosen
The Result: Enterprise Application “Spaghetti”
© 2009 Michael Rosen
SOA: A Better Solution
Co. 1Pricing System
Co. 1Underwrite Sys.
Co 1Policy System
Co. 2Pricing System
Co. 2Underwriting Sys
Co. 2Policy System
Integration Service Bus
PricingService
Underwt.Service
PolicyService
OtherServices
Business Service Bus
CustomerManagement
Marketing Pricing
Channels
Enterprise Architecture Training
© 2009 Michael Rosen
Application
Service
Adapter
SOAP Service Bus
…
…
Web Services to the Rescue?
Web Service
Service
Web Service
Service
Web Service
Service
Web Service
© 2009 Michael Rosen
Application
Service
Adapter
Business
ModelBusiness
Modeldefine
‘SOAP Service Bus’
Processes,
Guidelines,
Tools
Processes,
Guidelines,
Tools
Enterprise SOA
Specifies Definition
and requirements
of a service
Defines communications technology
for application integration
Specifies service
wrappingtechniquesCommon
Semantics
and Data
Defines common
semantics and data Web Service
Defines tools, processes
and technology for combining
services into EBP
Enterprise
Business Process
Web Service
Service
Web Service
Enterprise Architecture Training
© 2009 Michael Rosen
An Enterprise Definition of SOA
� SOA is concerned with the independent construction of services which can be combined to realize meaningful, higher level business processes within the context of the enterprise.
� A Service Oriented Architecture describes several aspects of services within an enterprise:
• The granularity and types of services
• How services are constructed
• How the services communicate at a technical level
• How the services are combined together (i.e. orchestrated)
• How the services interoperate at a semantic level (i.e. how they share
common meanings)
• How services contribute to IT and Business Strategy
© 2009 Michael Rosen
Another Good SOA Definition
� “In a nutshell, SOA provides an approach for business transformation based on dividing complex environments into well defined, formally specified functions based on the activities they perform (services).
� Each service has well defined responsibilities and authority.
� These services then work together in collaboration to support the workflow of the business, all within the context of governance and oversight that manages their coordination and performance.”
• Practical Guide to SOA in Healthcare – OMG & HL7
Enterprise Architecture Training
© 2009 Michael Rosen
What is a Service?
� Service: Encapsulates a unit
of work, made available
through a service contract
� Characterized by:
• Dynamic binding
• Loose coupling
• Modular and self contained
• Composable
� Managed
• SLA
• Lifecycle
� Not all services are created equal.
ServiceLevel
Agreement
Service
Interface
Implementation
InternalData
InternalFunctionality
Semantic
Business
Data
ServiceOperations
Se
rvic
e C
on
tract
ServicePolicies
© 2009 Michael Rosen
Business Service
BA
Business components
service
interface
Utility Service
Orchestration
Domain Services
Business
Service
Foundation Services
Enterprise Architecture Training
© 2009 Michael Rosen
Enterprise Business Process
Enterprise Business Process
Business Process Orchestration
Integration
Service
Packaged application
BA
service
interface
Utility Service.
Orchestration
Domain Service
Business
Service
Business
Service
Business
Service
Foundation Services
© 2009 Michael Rosen
Business
Service
Domain
Service...Domain
Service
Foundation Service Layer(May be used by all other services)
External
Service
Integration
Service...
Utility
Service
...
Enterprise
Business
Process
Business
Service
Hierarchy of Service Types
Enterprise Architecture Training
© 2009 Michael Rosen
Dream Car
© 2009 Michael Rosen
Driver HistoryDomain Service
Quote Insurance
Business
Process
DMV
External Service
Insurance Bureau
External Service
Pricing
Business Service... ...Quoting
Business ServiceBusiness Service
Underwriting
PricingIntegration Service
VIN
Domain Service
Location
Utility Service
Service Hierarchy Example
Logging Foundation
Service
Enterprise Architecture Training
© 2009 Michael Rosen
Important Service Characteristics
� Modularity / Granularity
� Encapsulation
� Loose Coupling
� Isolation of Responsibilities
� Autonomy
� Dynamic Discovery and Binding
� Statelessness
� Composable
� Governed by Policy
� Independent of location, language and protocol
© 2009 Michael Rosen
Layered Enterprise SOI Architecture
OperationalResources
Integration
Services
BusinessServices
BusinessProcesses
IS IS IS IS ISISIS
Interfaces balance enterprise semantics and legacy
Interfaces defined by enterprise model
task definition
task implementation
Enterprise Architecture Training
© 2009 Michael Rosen
Business
ModelBusiness
Model
Common
Semantics
and Data
Enterprise
Business Process Service
define
‘Service Bus’
Processes,
Guidelines,
Tools
Processes,
Guidelines,
Tools
…
…
Enterprise SOA
Integration
Service
Packaged application
© 2009 Michael Rosen
Business View – Business Processes
ServiceServiceService
Service
Enterprise Business Process
Integration
Service
Packaged application
Integration
Service
Packaged application
Enterprise Architecture Training
© 2009 Michael Rosen
What about the Information?
ServiceServiceService
Service
Enterprise Business Process
Integration
Service
Packaged application
Integration
Service
Packaged application
Enterprise BusinessProcess
IntegratedData
Application
Data
Legacy
Data
Data
AbstractionIntegration
Service
Service
© 2009 Michael Rosen
Semantic
BusinessData
common common
specific specific
Physical Data:Described by data
base schema.
Used for persistence.
Domain Data:
Described by internaldata model. A view of the
physical data.
Used for implementation.
Semantic Data:
Described by common / shared
information model. A view of theCommon aspects of services
Used for information exchange
through interfaces.
Types of Data
Enterprise Architecture Training
© 2009 Michael Rosen
Data Types Explained
� Physical data – The data that is actually stored on disk. The details of how it is stored are described in a data base schema. The schema is optimized for the performance characteristics and requirements of the particular data store.
� Domain data – The data that is used in the service implementation. It is described in a standard data model and describes all of the information that is used in the implementation of a service. It represents the private knowledge of the data. A subset of the data is the service’s view of the common information. Service data is a view of the physical data, and may come from one or more physical data stores.
� Semantic data – The data that described the common understanding of business entities and information that must be shared between services. It is described in the shared information model and is closely aligned to the business model. It is used to describe information that is exchanged through service interfaces. Semantic data is a normalized view of the common data from all the different services.
© 2009 Michael Rosen
Enterprise Information Integration
implements
Data
Transformation
Data
Aggregation
Application
Adapter
Legacy application
Logical
Data
Enterprise
Process
Business
Service
Enterprise
Process
SOR
Application
Adapter
Packaged application
DB
Access Layer
Data
Integration
Framework
Enterprise
Information
Sources
Physical Model
derived from
Information
Consumers
Virtual Model
Business
ModelBusiness
Modeldefines
Xform Xform
Enterprise Architecture Training
© 2009 Michael Rosen
Virtual Object Model
Physical Model
Xform Xform
SOROperationalData
IntegrationData
DomainData
EnterpriseData
Semantic
Data
Documents
Process Data Model
OperationalDataModel
SemanticDataModel
Enterprise Information Layers
Transformation
© 2009 Michael Rosen
ApplicationScope
WorkgroupScope
Line of Business
Scope
EnterpriseScope
Enterprise
Concerns
Organizationalindependence
Sco
pe
Scope of SOA Constructs
Enterprise Architecture Training
© 2009 Michael Rosen
OperationalData
IntegrationData
ConsolidatedData
EnterpriseData
EnterpriseResources
IntegrationServices
BusinessServices
BusinessProcesses
SOR
Semantic
Data
Documents
IS IS TransformationIS IS
functional informational
Putting it all Together …almost
© 2009 Michael Rosen
EntityDecision
Task Task
Entity Entity
Task
Decision
Service Types (Roles or Purpose)
Enterprise Architecture Training
© 2009 Michael Rosen
Service Types Explained
� Task services: Services that implement a business function, such as calculate the price of an insurance quote, or validate the format of an address. Task services come in all different sizes ranging from discrete utility services to large business services. Smaller services tend to be more general purpose and provide higher potential for reuse. Business services are often large compositions of smaller services and may be designed to support one or more specific process. As such, they have less potential for broad reuse across processes.
� Entity services: Services that primarily manage access to business entities. Examples of business entities are customers, policies, claims, etc. and correspond to major business information concepts. Entities are usually medium to large sized. Entities tend to be independent of any particular business process and instead are part of multiple different business processes. Entity services provide high levels of potential for reuse. Note the we are talking about business entities here, not low level data schema elements.
� Decision services: Services that execute business rules to provide business decisions. An example decision service would be approve credit worthiness. Decision services generally provide yes/no answers to complex questions, or support frequently changing externalized rules, such as tax regulations. Decision services are usually composed into other services and are small to medium in size.
In general, task services are active and do something to deliver value. Entity services support task services by adapting and providing information needed to implement the tasks. Care must be taken when designing entity services to avoid exposing internal data rather than business semantics
© 2009 Michael Rosen
EnterpriseResources
IntegrationServices
ProcessServices
BusinessProcesses
IS ISIS IS
EntityServices
ServicesDecisionServices
Expanded Service Layer
Enterprise Architecture Training
© 2009 Michael Rosen
Role
task
decision
Granularity
large
small
Ownership
central
Individualorganization
Scope
enterprise
application
Construction
composite
wrapper
Service
Service Dimensions
© 2009 Michael Rosen 36
EA Basics
� Describes ‘as-is’ and ‘to-be’ environments and strategy/plan to get from one to the other
� Consists of architectural viewpoints
• Business
• Information
• Application
• Technology
• Implementation
Enterprise
Architecture
TechnicalArchitecture
Application Architecture
BusinessArchitecture
InformationArchitecture
ImplementationArchitecture
Enterprise Architecture Training
© 2009 Michael Rosen 37
EnterpriseSOA
EnterpriseSOA
SOA and Enterprise Architecture
ApplicationArchitecture
ServiceInfrastructure
and Frameworks
Enterprise
Business Process
Application
Service
Adapter
‘Service Bus’
TechnicalArchitecture
Business
ModelBusiness
Model
BusinessArchitecture
Common
Semantics
and Data
InformationArchitecture
Methodology and Tools
Methodology and Tools
ImplementationArchitecture
© 2009 Michael Rosen 38
EnterpriseSOA
EnterpriseSOA
BPM and Enterprise Architecture
ImplementationArchitecture
BusinessArchitecture
InformationArchitecture
EnterpriseData Business
Processes
Documents
ApplicationArchitecture
BusinessServices
Consolidated
Data
Semantic
Objects
Operational
DataEnterpriseResources
SOR
TransformationTechnical
Architecture
IntegrationServices
IntegrationData
IS IS IS IS ISIS IS
Enterprise Architecture Training
© 2009 Michael Rosen 39
Model
VirtualMachine
Code
Compiler
OperatingSystem
BPMN
BPELEngine
abstract model
driven system
example textual
model system
business process
model system
BPMN
Task Doc
Service
Bus. Obj.
business process
system detail
Model Driven Systems
© 2009 Michael Rosen 40
Business
Service
Domain
Service...Domain
Service
Foundation Service Layer(May be used by all other services)
Atomic
Component
Integration
Service...
Utility
Service
...
Enterprise
BusinessProcess
Business
Service
BPM TaskBPM Task
Implementing BPM Tasks with Services
Enterprise Architecture Training
© 2009 Michael Rosen 41
BPMN
BPELEngine
Task Document
ServiceBusiness
Object
ComponentData
Transform
Service Bus
IntegrationAdapter
DataAdapter
Business ProcessModel
Business Process Run Time Platform
© 2009 Michael Rosen 42
BPMModeler
1
2
3
4
EnterpriseArchitecture
TechnicalArchitecture
Application Architecture
BusinessArchitecture
InformationArchitecture
Task Document
ServiceBusiness
Object
ComponentData
Transform
Service Bus
IntegrationAdapter
DataAdapter
Business Process
Start with Enterprise
ArchitectureModel Business
Processes
Model Service
Implementations Deploy on
enterpriseinfrastructure
Architecture Driven BPM Development
ServiceModeler
Enterprise Architecture Training
© 2009 Michael Rosen
Hollis
GDS
Vendor
Vendor
Vendor
Agencies
Websites
Custom
Business
Leisure
Travel Insurance Scenario
© 2009 Michael Rosen
Common Services
Front-End
Channels
Back-end
Vendors
Websites
BrandedGUIs
Insurance
Vendor 1
Agencies
Insurance
Vendor n
InsuranceVendor 2
Foundation Services
Transform SecurityOrchestration Logging
InsuranceServices
Product
Shop
Price
Quote / Sell
Services
Hollis.com
Modify /
Cancel
CustomerTrips
Payment
Add-on
Content
Policy
Vendor Mgmt
Channel Mgmt
Rules
Rules
Conceptual Architecture
Enterprise Architecture Training
© 2009 Michael Rosen
enforce
Means Ends
Course of Action
Directive
Desired Result
Strategy
Tactic Objective
Goal
Rule
Policy
VisionMission
supported
by
focus
efforts
implement quantify
plan
govern
specify
operationalize
amplfy
support
achieve
Influencers
Assessmentmotivate
Potential
Impactidentify
Business Motivation MetaModel
© 2009 Michael Rosen
<<Strategy>>
<<Tactic>>
<<Objective>>
<<Goal>>
<<Rule>>
<<Policy>>
<<Vision>><<Mission>>
implement
quantify
plan
specify
operationalize
enforce
amplfy
support
achieve
Travel content
provider of choice
High-performance,
up-to-date,
comprehensive travel
content
Maximize
relationshipsmost comprehensive,
timely and cost
effective content
3 new partnerships
by end of year
Product Optimization
Partner Product
Have Priority
1st Product is from
Partner
<<Business Service>>
InsProducts
<<realize>>
Business Motivation Model
Enterprise Architecture Training
© 2009 Michael Rosen
InsuranceService
Agency
Shop for
Insurance
Select
Insurance
Sell Insurance
Complete
SaleCreate Trip
Business Process – Create Trip
© 2009 Michael Rosen
InsuranceService
Agency
Shop for
Insurance
Select
Insurance
Sell Insurance
Complete
SaleCreate Trip
Level 2 Process Detail
Pricing
Product
Trip
Channel Management
Insurance Service
Shop for
Insurance
Get Channel
Preferences
Calculate Trip
Value
Get Products
Determine
Best
Products
Calculate
Price
Create
Product List
Level 2 Process Detail – Shop for Insurance
Enterprise Architecture Training
© 2009 Michael Rosen
Channels Vendors
Websites
Branded
GUIs
Insurance
Vendor 1
Agencies
Insurance
Vendor n
Insurance
Vendor 2
InsuranceServices
Product
Shop
Price
Quote / Sell
Hollis.com
Modify /
Cancel
Customer Trips
Payment
Content
Policy
Vendor Mgmt
Channel Mgmt
Rules
Profile
Preferences
Contracts
Payments Billing Settlements
Create View
Insurance Service Groups
© 2009 Michael Rosen
Pricing
Product
Trip
Channel Management
Insurance Service
Shop for
Insurance
Get Channel
Preferences
Calculate Trip
Value
Get Products
Determine
Best
Products
Calculate
Price
Create
Product List
InsuranceServices
Price
Shop
Rules
Quote /
Sell
Modify
Content
Policy
Product
Customer Trips
Payment
Vendor Mgmt
Channel Mgmt
Profile
Profile
Contracts
Payments BillingSettlemen
ts
Create Value
Mapping Tasks to Business Services
Enterprise Architecture Training
© 2009 Michael Rosen
Summary
� BPM provides a useful way to model the business
• Well understood by business analysts
• Mature, proven technology
• Well supported by tools
• Alone, a better way to build 4th generation silos
� SOA provides a useful way to implement business capabilities
• Business services provide consistent behavior
• Entity services provide consistent, consolidated information
• Supported by proven, though still evolving technology
• Alone, it doesn’t necessarily tie to the business
� BPM and SOA
• Together, provide an excellent solution for business processes
• Need to be done in an enterprise architectural context
51
© 2009 Michael Rosen 52
The Future of Enterprise Applications
“Those who do not remember the past are condemned
to repeat it.”
— George Santayana, 1905
� Technology alone does not solve enterprise problems
� The biggest challenge is motivating and managing organizational change
� An enterprise architectural approach is required to achieve the goals of the enterprise
� This takes time, will, patience and perseverance
Enterprise Architecture Training
© 2009 Michael Rosen
Thank You!
“Every complex problem has a solution that is clear,
simple…and wrong”
— H.L. Mencken, 1949