business integration patterns - ibm · emergence of patterns in business integration ƒprocess...
TRANSCRIPT
© 2002 IBM Corporation
Business Integration Patterns
Peter Van SickelConsulting I/T SpecialistIBM Software Services for WebSphere
© 2005 IBM Corporation2
Yesterday and Today
YesterdayFocus on J2EE component
development
Introduction to Model Driven Architecture as an approach to software design
Introduction to Service Oriented Architecture as an approach to system development
TodayFocus on higher level business
functions
Focus on component assembly
Focus on IBM tools to realize model driven architecture
Focus on implementation of service oriented architectures with IBM products
© 2005 IBM Corporation3
Agenda
Brief ReviewService Oriented ArchitectureThe Business Process Management Vision
What is Business Integration?ƒWhy is business integration so hard?ƒTypes of Business IntegrationƒUnderstanding the principles driving best practices
Emergence of Patterns in Business IntegrationƒProcess Integration – Understanding the basic building blocks
Business ObjectAdapterMediatorProcess Choreographer
The IBM Business Integration Solution
© 2005 IBM Corporation4
What is a Service-Oriented Architecture?
An approach to building distributed systems that delivers application functionality as services to end-user applications or to other services.
A flexible and open architectureRepresent software assets as services
Integrate with applications outside of the enterprise
Well defined ways of representing and interacting with software components
Software components become reusable building blocksFocus on application assembly rather than development
Create new internal apps out of existing components
© 2005 IBM Corporation5
The Business Process Management Vision
© 2005 IBM Corporation6
Business Integration Reference ArchitectureIBM Software Offerings Focus of today’s presentations
Enterprise Applications and Data
Infrastructure Services
Application and Data Access Services
Business Application and Data Services
Business Performance Management Services
Development Platform
Partner Services
Enterprise Service Bus
WebSphere BI Modeler WebSphere Studio
DB2 Information Integrator
WebSphere BI Server
WebSphere BIServer Foundation
WebSphere Portal Server
WebSphere BI Connect
WebSphere Application Server
WBI Adapters DB2 II ClassicHATS
WBI Monitor
Process Services Information ServicesInteraction Services
Business App Services
Web Services Gateway WBI Event/Message BrokerWebSphere MQ
© 2002 IBM Corporation
What is business integration?
© 2005 IBM Corporation8
Business Integration
Receive Order
Check Credit Confirm
Order
Verify Inventory
Determine Shipper Pack and
ShipMail Invoice
Run Production
Determine Parts Needed
Check Part A Availability Reserve
Inventories
Check Part B Availability
Sub-Process
Main Process
Process Management -Business Process
• Business Manager View• Focused on complex high-level business
process flows• Can have long-duration activities • Likely to involve human interaction with
process flows
Process Management -Sub-Process
• Business Analyst and System Architect view
• Focused on detailed micro-level hybrid data & info process flows
• Short and moderate duration activities• Blended App-to-App and B2B services
Data Access, Transport, Transformation, RoutingApplication Interaction
• Technical Manager view• Focused on technical interactions• Relatively simple sequences,
transactional units of work• IT & organizational infrastructure
Warehouse App
Inventory Sourcing
App
Data Object
•Transport•Transform•Route
Check for Part B at Warehouses
Determine Least-Cost Sourcing
Data Object
•Transport•Transform•Route
Data Object
•Transport•Transform•Route
Basic Interaction
© 2005 IBM Corporation9
Business integration project types
Application to Application (A2A)
Business to Business (B2B)
Both can include Workflow (Human Interaction)
Open
open()
purge()
add line item()
Completed
[== 0]
assign()
pack item()
Customer
Cancelled
cancel()Marketer
submit()Submitted
Packer
line items.sum.left
ship()
[> 0]
Order Entry Order Fulfillment
Supplier X
Supplier ZSupplier Y
Customer RelationshipManagement
© 2005 IBM Corporation10
Point to point integration result: Chaos
Extractprogram
Loadprogram
Program
Program
Program
ProgramProgram
Program
Program
Program
Program
Loadprogram Load
program
Application System BApplication System B
Trans-action
file
Down-loadfile
Down-loadfile
Trans-action
file
Down-loadfile
Messagequeue
Messagequeue
Application System AApplication System AApplication System CApplication System C
Extractprogram
Screenscrape Database
replicator
Extractprogram
Loadprogram
Source: Gartner Group
© 2005 IBM Corporation11
Process integration project characteristics
Few projects are green field. Typically projects involve integrating multiple applications implemented with different technologies on different platforms.
There is an emphasis on re-use.
Business process integration requires leveraging a mixture of interaction between systems, people, application code, and process centric business logic.
Changes to one system tend to imply ripples of change at many levels to many other systems.
Integration solutions extend beyond the internal boundaries of LAN / WAN to include trading partners.
© 2005 IBM Corporation12
Fundamental challenges
Different applications / protocols
Solutions are subject to constant change
Developers have limited control and access
Administration
Monitoring
Unreliable networks
Slow networks
High stakes
Lack of standards
Typically require cross team change management
© 2005 IBM Corporation13
Some specific requirements….
Basic integration may require data/process dependent business logic on the “wire.”
Consider object transformation or request routing scenariosActions in one application need to be captured, translated and consumed by 1 or more other applications.
Consider “order entry” scenarioCross application solutions require structural and value based translation. The relative timing of isolated actions in one application may be significant to other systems.
Consider the “order cancellation” scenarioSolutions need to provide reliability and recoverability in support of both long and short lived business processes.
Activity sessions with compensation; last participant support; distributed transaction rollback.
© 2005 IBM Corporation14
General principles derived from experience and best practices
Loose coupling
High cohesion
Non-intrusive
Disconnected data
Flow control
Asynchronous interaction
Synchronous interaction
Publish – subscribe interaction
Centralized administration and monitoring
Brokered integration
© 2005 IBM Corporation15
Current Business Integration ArchitecturesTraditional Custom-Coded Integration
Internal ApplicationsInternal Applications External ApplicationsExternal Applications
21 interfaces21 interfaces
• Point-to-point integration
• Data is mapped directly from one application to another
• Costly, unscalable and difficult to implement and maintain
• Suppliers• Customers• ASPs• B2B Exchanges
• Customer Service• Finance and Billing• Sales and Distribution• Manufacturing• Supply Chain Management• Legacy
© 2005 IBM Corporation16
Current Business Integration ArchitecturesTraditional Message Broker Integration
Internal ApplicationsInternal Applications External ApplicationsExternal Applications
21 interfaces21 interfaces
• Centralized point-to-point integration
• Data is mapped directly from one application to another
• Messaging Hub routes data
• Suppliers• Customers• ASPs• B2B Exchanges
• Customer Service• Finance and Billing• Sales and Distribution• Manufacturing• Supply Chain Management• Legacy
MessagingMessagingHubHub
© 2005 IBM Corporation17
Current Business Integration Architectures
Internal ApplicationsInternal Applications External ApplicationsExternal Applications
7 interfaces7 interfaces
• Hub-and-spoke architecture• Data isolation layer
between applications and business process
• Common object model for process integration
• Suppliers• Customers• ASPs• B2B Exchanges
• Customer Service• Finance and Billing• Sales and Distribution• Manufacturing• Supply Chain Management• Legacy
GenericGenericBusiness ObjectsBusiness Objects
Data isolation
Application SpecificApplication SpecificBusiness ObjectsBusiness Objects
© 2002 IBM Corporation
Business process integration patterns
© 2005 IBM Corporation19
First some notation:
Application System B
Components
Business Data
Adapter
Mediation
Process
Icon Key
Solution
Application
© 2002 IBM Corporation
Business object pattern
© 2005 IBM Corporation21
Generic and Application Specific Business Objects
EnterpriseEnterpriseResourceResourcePlanning Planning
LegacyLegacy
CustomerCustomerRelationshipRelationshipManagementManagement
SupplySupplyChainChain
ManagementManagement
Generic Generic BusinessBusiness
ObjectObject
ASBOASBO
ASBOASBO
GBO
ASBO <> GBO translators
Business Object for representing and storing business data Superset representation (canonicalization)Application independentSupport for simple and complex types, Support flat and hierarchical objects, top level and contained objects, and element descriptorsSupports cross-referencing of hierarchical and flat objects
© 2005 IBM Corporation22
Business object illustration – online mallEach application/process has its specific notion of a Customer objectThe enterprise has a “federated” notion of Customer
Supplier ZSupplier Y
Supplier X
Open
open()
purge()
add line item()
Completed
[== 0]
assign()
pack item()
Customer
Cancelled
cancel()Marketer
submit()Submitted
Packer
line items.sum.left
ship()
[> 0]
Order Entry Order Fulfillment
Customer RelationshipManagement
Order Entry Customer object
Order Fulfillment Customer object
CRM Customer object
© 2005 IBM Corporation23
Benefits of the business object pattern
Simplifies the programming model for the business process integration.
Common data typeReduces the impact of schema changes at the applications
Business process integration is shielded from schema changesProvides a framework for create, retrieve, update and delete andother application specific operations.
Common verb set for business process integration
© 2005 IBM Corporation24
How do I track and communicate changes on business objects to distributed, loosely coupled components in a way that allows the components to understand the object structure and take the appropriate actions with the data?
Use a business graph.
Id: 1001CustomerId: 24
Id: 1OrderId: 1001ProductId: 1
Id: 2OrderId: 1001ProductId: 2
Id: 3OrderId: 1001ProductId: 3
Id: 4OrderId: 1001ProductId: 24
UpdateDeleteCreateSetUnset
Order Object
Change Change SummaryEvent Summary
Schema is passed by value with the business object and can be used when the object is de-serialized
Attribute and object level change summary is also provided allowing for support of delta and after image modeling.
© 2002 IBM Corporation
Adapter patterns
© 2005 IBM Corporation26
What is an Adapter?
Isolates the application’s proprietary APIs or the technology’s standards
Provides a consistent framework to expose external applications
Provides bi-directional interaction
Provides synchronous and asynchronous interaction
With mediatior – provides business object translation
GenericBusiness Objects
AdapterFramework Application-Specific
Business Objects
IntegrationServerFacing
EnterpriseApplication
Facing
Adapter
© 2005 IBM Corporation27
How do I avoid constant revisions to adapters as I add additional business process integration scenarios or perform normal application upgrades?
Use a meta-data driven adapter.Order Object
Meta-data driven adapter accommodates changes to the structure of existing data and allow the addition of new objects without changes to the adapter implementation.
Id: 1001CustomerId: 24
Id: 1OrderId: 1001ProductId: 1
Id: 2OrderId: 1001ProductId: 2
Id: 3OrderId: 1001ProductId: 3
Id: 4OrderId: 1001ProductId: 24
: OrderIdCustomerId: CustNo
: OrderLineIdOrderId: OrderIdProductId: SKU
Order Line : OrderLine
: OrderLineIdOrderId: OrderIdProductId: SKU
: OrderLineIdOrderId : OrderIdProductId : SKU
: OrderLineIdOrderId: OrderIdProductId: SKU
INSERT INTO ORDER ( OrderId, CustNo )VALUES ( 1001, 24 )
INSERT INTO ORDERLINE (OrderLineId, OrderId, SKU )
VALUES (1, 1001, 1)
© 2005 IBM Corporation28
How do I detect and process interesting events from my EIS when that capability is not provided out of the box?
Use event notification mechanism
12
3
4
56
7
Event call back based delivery, where notification for each event generated by the EIS is immediately passed to the adapter, is an alternative to poll based delivery.
Pattern provides a high degree of flexibility for the flow of work out of the EIS.
Could be prescribed by other QoS requirements like Event Sequencing.
© 2002 IBM Corporation
Mediation
© 2005 IBM Corporation30
Mediation: Business Object Mapping
retrieve(Order) fetch(SAPOrder)
Simple mapping can be used to manipulate attribute values, concatenate strings, do value based translations, convert data types, etc.
More complex mapping can convert data structures such as multiple cardinality to single cardinality, iterative mapping and support for scripting.
© 2005 IBM Corporation31
Mediation: Handling Code Conversions and Resolving Key Differences
Use a semantics manager
123 892
With a generic business object model, relationships are maintained in the context of the generic id.
Non – trivial cases include relationships with multiple participants and nested child business objects.
123 892
© 2005 IBM Corporation32
Relationship Example
Customer TablesCustomer Tables348482 = CID200348482 = CID200CU745 = CID200CU745 = CID200
CrossCross--ReferenceReferenceDatabaseDatabase
CustID = 348482
Order: OE456
Order TablesOrder TablesOR123 = OID100OR123 = OID100OE456 = OID100OE456 = OID100
•Allows multiple disparate applications to behave as a single application•Provides static and dynamic cross-referencing capabilities
Order Fulfillment
Order: OrderID = OR123CustomerID = CU745
Order Entry
CustomerRelationshipManagement
Enterprise Resource Planning
© 2002 IBM Corporation
Process Patterns
© 2005 IBM Corporation34
Process Flow RepresentationThink flow charts reinvented
SwitchReceive
Reply
Activity
While
Invoke
Activity
Activity
Invoke
Sub-process
Development tools support the easycreation and modification of the processflow.
© 2005 IBM Corporation35
The Business Process Engine
Executes the process flow
Maintains persistent state for long running flows
Supports running multiple instances of the same business process
Provides mechanisms for triggering the instantiation of a process, e.g.,
Arrival of a message on a queue
EJB method invokation
Service invokation
Provides mechanisms for connecting to other service providers
© 2002 IBM Corporation
Solution level patterns
© 2005 IBM Corporation37
How can I connect N applications without creating the spaghetti of point to point interfaces?
Use an integration hubProcess Integration Hubs:
Broker – A message distributor hub
Process Integration Hub – Adds business process execution support
Exchange – A process integration hub which includes support for B2B integration (B2B Gateway or Portal)
Hub variant: Bus:
A Hub may be physically distributed as a set of federated hubs
A
B
D E
C
A
B
D E
CHub
© 2002 IBM Corporation
Pulling it all together
© 2005 IBM Corporation39
Remember Chaos?
Extractprogram
Loadprogram
Program
Program
Program
ProgramProgram
Program
Program
Program
Program
Loadprogram Load
program
Application System BApplication System B
Trans-action
file
Down-loadfile
Down-loadfile
Trans-action
file
Down-loadfile
Messagequeue
Messagequeue
Application System AApplication System AApplication System CApplication System C
Extractprogram
Screenscrape Database
replicator
Extractprogram
Loadprogram
Source: Gartner Group
© 2005 IBM Corporation40
Applying lessons learnedMonitoring &
Adminitration:Centralized
Interface level views
Data Encapsulation
In the Endpoints:Loose coupling, high cohesion, non-intrusive, leveraging data encapsulation, meta data and
applying flow control principles
In the wire:Asynchronous /
Synchronous communicationover messaging.
Use a hub:Brokered generic business object model
leveraging a process manager, loose coupling, efficient flow control, with Async. / Sync.
processing
© 2002 IBM Corporation
IBM Business Integration
© 2005 IBM Corporation42
Software Industry Trends
Integration technologies
Convergingcapabilities
Integration Platform Suites
Application Server technologies
The middleware market is evolving as integration servers adopt open standards and application servers build out integration functionality
© 2005 IBM Corporation43
Business Integration Reference Architecture
Infrastructure Services
Application and Data Access Services
Business Application and Data Services
Business Performance Management Services
Business Application
Services
ProcessServices
Information Services
Development Platform
Enterprise Applications and Data
Interaction Services
Partner Services
Enterprise Service Bus
© 2005 IBM Corporation44
Infrastructure Services
Application and Data Access Services
Business Applications and Data Services
Process Services Information Services
Development Platform
Enterprise Applications and Data
Interaction Services
Partner Services
Enterprise Service Bus
Model
Qualities of Services in each Domain
Design Implement Test
Choreography
TransactionsStaff/Tasking
Federation
ReplicationAnalytics
Delivery
ExperienceResource
Community
DocumentProtocol
Component
InterfaceCore
Event
Business Performance Management ServicesProcess Monitoring IT Monitoring
Business Integration Reference Architecture
Transport Mediation
Event Detect On-Ramp
Transformation
Business Services
© 2005 IBM Corporation45
Business Integration Reference ArchitectureIBM Software Offerings
Enterprise Applications and Data
Infrastructure Services
Application and Data Access Services
Business Application and Data Services
Business Performance Management Services
Development Platform
Partner Services
Enterprise Service Bus
WebSphere BI Modeler WebSphere Studio
DB2 Information Integrator
WebSphere BI Server
WebSphere BIServer Foundation
WebSphere Portal Server
WebSphere BI Connect
WebSphere Application Server
WBI Adapters DB2 II ClassicHATS
WBI Monitor
Process Services Information ServicesInteraction Services
Business App Services
Web Services Gateway WBI Event/Message BrokerWebSphere MQ
© 2005 IBM Corporation46
Business integration pattern resources & references
IBM Redbookshttp://www.redbooks.ibm.com
IBM patterns for e-businesshttp://www.ibm.com/developerworks/patterns/library/index.html
Enterprise Integration Patterns – Designing, Building, and Deploying Messaging Solutions.Gregor Hohpe, Bobby Woolf. Addison Wesley 2004http://www.eaipatterns.com
© 2005 IBM Corporation47
Thank You.Thank You.