24
Enter Information Classification here 1.10.2007 © Ixonos Oyj Integration patterns Jari Kekkonen Ixonos Technology Consulting

Jari Kekkonen Ixonos Technology Consulting - Aalto … · Jari Kekkonen Ixonos Technology Consulting. ... • Roots in IBM’s WSFL and Microsoft’s XLANG and BPMI.org’s BPML

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 4

Intentional or accidental systems?

© 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 18

A Complex Process

(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 20

Hands-on example

© 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]