Upload
vuongphuc
View
217
Download
2
Embed Size (px)
Citation preview
Enter Information Classification here 1.10.2007 © Ixonos Oyj
Integration patternsJari Kekkonen
Ixonos Technology Consulting
© Ixonos Oyj1.10.2007Enter Information Classification here 2
Agenda
• Integration styles, patterns and concepts in general
• Loose coupling
• Process integration and business exceptions
• Service-oriented integration and components
• Service bus and orchestration
• Standards: BPEL and BPMN
• Examples and experiences
© Ixonos Oyj1.10.2007Enter Information Classification here 3
Ixonos in Brief
Ixonos operates in the ICT services market, producing software
development, software maintenance and project management services
• Founded 1994, listed in Helsinki Stock Exchange 1999
• Clientele comprises leading global mobile phone and smartphone
manufacturers and operators, leading Finnish banks and insurance
companies as well as public administration organisations
• Headquarter in Helsinki, offices in Espoo, Salo, Tampere, Turku, Jyväskylä, Oulu, Kemi, Rovaniemi and Kosice, Slovak Republic;
subsidiary Ixonos Testhouse offices in Haapajärvi and Tallinn,
Estonia
• Turnover in 2006: 39,2 MEUR
• Operating profit in 2006: 3,9 MEUR
• Current personnel 800
© Ixonos Oyj1.10.2007Enter Information Classification here 5
Integration intent and projects
• Information portals
• Data replication
• Shared business functions
• Service-oriented architecture
• Distributed business processes
• Business-to-business integration
(EIP by G. Hohpe)
© Ixonos Oyj1.10.2007Enter Information Classification here 6
Connection mechanisms
• Presentation integration
• Functional integration
• Data integration
(EIP by G. Hohpe)
© Ixonos Oyj1.10.2007Enter Information Classification here 7
Interaction mechanisms (integration styles)
• File transfer
• Shared database
• Remote procedure invocation
• Messaging
(EIP by G. Hohpe)
© Ixonos Oyj1.10.2007Enter Information Classification here 8
Tightly coupling vs. loose coupling
(EIP by G. Hohpe)
• Platform technology• Location• Data format• Time
© Ixonos Oyj1.10.2007Enter Information Classification here 9
Integration scenario – A flight need to berescheduled.
Flight reschedulingfunction
© Ixonos Oyj1.10.2007Enter Information Classification here 10
Data integrity vs. process integrity
• Data integrity
• Entity – Each row in a database must be uniquely identified.
• Domain – A set of data values fall within a specific range. For
example, a birth date should not be in the future.
• Referential integrity – Validity of relationships between different data
tuples.
• ACID (Atomicity, Consistency, Isolation, Durability)
• Process integrity
• A new flight schedule can be obtained from flight planning system
and pilot and cabin crew allocations can be changed according to the new schedule, but technical people in line maintenance cannot
perform mandatory tasks according to the new schedule. This is what
we refer to as a process inconsistency.
• Business transactions, exceptions and SAGAs
© Ixonos Oyj1.10.2007Enter Information Classification here 11
Process integration and service composition
(EIP by G. Hohpe)
© Ixonos Oyj1.10.2007Enter Information Classification here 12
Service
Bus (ESB)
The pieces of standards-based loosecoupled integration solution
J2EE Legacy3rd
party
Service
Portlet
Service
Service
registry(UDDI)
SOAP
WS-Reliability /WS-Addressing
• Platform technology (WS-*, XML)• Data format (XSLT / XPath) • Location (Registry / Bus)• Time (Bus)
Architecturally, service bus consists of a set of service containers (gray), which integrate various types of IT assets. The containers are interconnected with a reliable messaging queues. Service containers adapt IT assets to a standard services model, based on XML message exchange using standardized message exchange patterns. The bus provides facilities for transforming and routing messages, as well as the ability to centrally administer the distributed system.
WSDL
© Ixonos Oyj1.10.2007Enter Information Classification here 13
Orchestration, language and engines
• Orchestration language such as BPEL can be used to formally define and
implement the desired control logic, the sequence and conditions of service invocations (service composition).
• Orchestration engine is a software component that controls the participating services in SOA.
• A dedicated orchestration engine and language should be used mainly to
implement complex services and processes which involve:
• Long running (from a few hours to a few months)
• Event driven business logic
• A lot of parallel processing
• Orchestrations are not about modeling end-to-end business processes by
themselves
• Different orchestration (i.e. different services) can run within the same business process, and vice versa.
© Ixonos Oyj1.10.2007Enter Information Classification here 14
BPEL (Business Process ExecutionLanguage)
• An XML-based orchestration language for Web services specified by OASIS.
• http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html
• Roots in IBM’s WSFL and Microsoft’s XLANG and BPMI.org’s BPML.
• Current accepted version is 2.0.
• Version 2.0 is not yet widely implemented.
• Future is not clear since many big vendors are not fully committed to it.
© Ixonos Oyj1.10.2007Enter Information Classification here 15
BPMN (Business Process Modeling Notation)
• A flow-chart based notation for defining business processes.
• An agreement between multiple modeling tool vendors, who hadtheir own notations, to use a single notation for the benefit of end-user understand and training.
• Provides a mechanism to generate an executable business process(e.g. BPEL) from the business level notation.
• A business process developed by a business analyst can bedirectly applied to a process engine instead of going throughhuman interpretations and translations into other languages.
• Initially developed by BPMI.org. Adopted as an OMG standard in 2006.
• Currently there are 39 companies that have implementations of BPMN.
© Ixonos Oyj1.10.2007Enter Information Classification here 16
BPMN sample
From: http://www.bpmn.org/Documents/Mapping%20BPMN%20to%20BPEL%20Example.pdf
© Ixonos Oyj1.10.2007Enter Information Classification here 17
B2B / Choreography sample
(Adopted from OMG)
© Ixonos Oyj1.10.2007Enter Information Classification here 19
Mapping BPMN to BPEL sample<process name="EMailVotingProcess">
<!-- The Process data is defined first-->
<sequence>
<receive partnerLink="Internal" portType="tns:processPort"
operation="receiveIssueList“ variable="processData"
createInstance="Yes"/>
<invoke name="ReviewIssueList" partnerLink="Internal"
portType="tns:internalPort" operation="sendIssueList"
inputVariable="processData“ outputVariable="processData"/>
<switch name="Anyissuesready">
<!-- name="Yes" -->
<case condition="bpws:getVariableProperty(ProcessData,NumIssues)>0">
<invoke name=“DiscussionCycle“ partnerLink="Internal"
portType="tns:processPort" operation=“callDiscussionCycle"
inputVariable="processData"/>
<!– Other Activities not shown -->
<!--name="No" -->
</case>
<otherwise>
<empty/>
</otherwise>
</switch>
</sequence>
</process>
(Adopted from OMG)
© Ixonos Oyj1.10.2007Enter Information Classification here 21
Canonical data model and informationarchitecture
(EIP by G. Hohpe)
© Ixonos Oyj1.10.2007Enter Information Classification here 22
Building a service-oriented integration
Business
Development
PMO / CoE
IT project(s)
Service
processes
Business
services
Service
interfaces,
operations and
orchestrations
Schemas
(XML)
Conceptual
models
Service
impl.
Business
glossary
Service
eventsWorkflow
processesChoreography
Service
bus etc.
Business
rules
User profiles
and
portal views
© Ixonos Oyj1.10.2007Enter Information Classification here 23
Current service integration drivers:Portals and workspaces
View
Model
Control
Portlet
Portlet
Portlet
Portlet
Portlet
Portlet
Business logic
Application
Data
Information portal / Workspace
Interface
Process logic
Interface
Integration
Customer detailsOrder processing
Enter Information Classification here 1.10.2007 © Ixonos Oyj
Kiitos – Thank youwww.ixonos.com
Email: [email protected]