53
SOA Service Oriented Architecture 10. Service Orchestration Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH)

SOA - 10 Service Orchestration - fbi · PDF file10. Service$Orchestration$ 11. Evolution(of ... Traditional&BPM& Suites require a vendor specific learning curve. ... SOA - 10 Service

  • Upload
    dinhdan

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

SOAService  Oriented  Architecture

10.  Service  OrchestrationDarmstadt  University  of Applied  Sciences,  Department  of Computer  Science

Dr.  Markus  Voß (Accso GmbH)

2

Today’s  topic

1. Introduction  2. Business  Architecture  3. Designing  Domains  4. Designing  Components  5. Designing  Interfaces  and  Operations  6. Loose  Coupling7. Excursus:  Business  Information  Systems8. Integration9. Web  Services10. Service  Orchestration  11. Evolution  of  Application  Landscapes

3

Agenda

§ Overview

§ BPM

§ BPEL  2.0

§ BPMN  2.0

§ Literature

4

Service  orchestration  in  the  context  of  the  enterprise  architecture  framework

Physisch(womit?)

Geschäftsstrategie IT  StrategyKontextuell(warum?)

Konzeptionell(was?)

Logisch(wie?)

GeschäftInformation  System  (IS) Technical  Infrastructure  (TI)

IT

AS  IS

TO  BE

IDEAL

Geschäftsarchitektur

(Geschäftsservices,Geschäftsprozesse,Geschäftsobjekte,Organisation,  etc.)

Domänenund  

(Anwendungs-­)Services

LogischeAL-­Komponenten

und  ihre  Schnittstellen

PhysischeAL-­Komponenten

und  ihre  Schnittstellen

Technische  Services

LogischeAnwendungs-­  undIntegrations-­plattformen

PhysischeAnwendungs-­  undIntegrations-­plattformen

Domänenund  

(Anwendungs-­)Services

LogischeAL-­Komponenten

und  ihre  Schnittstellen

PhysischeAL-­Komponenten

und  ihre  Schnittstellen

Technische  Services

LogischeAnwendungs-­  undIntegrations-­plattformen

PhysischeAnwendungs-­  undIntegrations-­plattformen

Domänenund  

(Anwendungs-­)Services

LogischeAL-­Komponenten

und  ihre  Schnittstellen

PhysischeAL-­Komponenten

und  ihre  Schnittstellen

Technische  Services

LogischeAnwendungs-­  undIntegrations-­plattformen

PhysischeAnwendungs-­  undIntegrations-­plattformen

Contextual(why?)

Conceptual(what?)

Logical(how?)

Physical(with  what?)

Business

Business  Architecture

(Business  Services,Business  Processes,Business  Objects,Organisation)

Business  Strategy

PhysicalAL-­Componentsand  their  Interfaces

Physical    Application  and  Integration  Platforms

LogicalAL-­Componentsand  their  Interfaces

Logical  Application  and  Integration  Platforms

Domainsand

Application  Services

TechnicalServices

Technical

Reference  Architecture

Evolution

Business  Architecture

Ideal  ApplicationLandscape

Integration

5

Service  orchestration  pattern  /  “two  level  programming”:Separating  agile  from  stable  parts  

Quelle:  M.B.  Juric,  M.  Krizevnic:  WS-­BPEL  2.0  for SOA  Composite  Applications with Oracle  SOA  Suite  11g    

1st  Level• Function and Data• More  stable/basic• ProgrammersDomain

2nd  Level• Business  Process• More  agile• Modellers Domain{{

6

Service  Orchestration  in  the context of the reference architecture

<<AL>><<AL>>

<<AL>><<AL>>

<<AL>>

<<AL>>

<<AL>>

<<AL>><<AL>>

<<AL>>

xxx    xxxxxxx    x        xxx  xx  xx  xxxxxxxxxxxx  xx    xxxxxxxx        xx  xx  cxxx  xcxxxxx      xxxxxx

xxx    xxxxxxx    x        xxx  xx  xx  xxxxxxxxxxxx  xx    xxxxxxxx        xx  xx  cxxx  xcxxxxx      xxxxxx

<<AL>>xxx    xxxxxxx    x        xxx  xx  xx  xxxxxxxxxxxx  xx    xxxxxxxx        xx  xx  cxxx  xcxxxxx      xxxxxx

<<AL>> <<AL>>

<<AL>>

<<AL>>

Web  servicestechnologies (WSDL,  SOAP,  UDDI)  forcommunicationbetween looselycoupled components

Service  orchestrationtechnology (BPEL  2.0or BPMN  2.0)  forimplementing Business  Process components

7

Agenda

§ Overview

§ BPM

§ BPEL  2.0

§ BPMN  2.0

§ Literature

8

Reference  for chapter slides

Gunnar  von  der  BeckBPM  ExpertAccso

9

BPM  – Business  Process Management

• A  process  is  a  series  of  specified  operations  (activities,  tasks)  executed  by  humans  or  machines  to  achieve  one  or  more  objectives.  The  ultimate  aim  is  to  create  customer  value  and  thus  to  generate  value  for  the  company.

“BPM  Common  Body  of  Knowledge”  (EABPM*):

• Business  Process  Management  (BPM)  is  a  systemic  approach  geared  to  capture,  design,  execute,  document,  measure,  monitor  and  control  automated  as  well  as  non-­automated  processes  in  order  to  meet  the  objectives  that  are  aligned  with  the  business  strategy  of  a  company.  BPM  embraces  the  conscious,  comprehensive  and  increasingly  technology-­enabled  definition,  improvement,  innovation  and  maintenance  of  end-­to-­end  processes.  Through  this  systemic  and  conscious  management  of  processes  companies  achieve  better  results  in  a  faster  and  more  flexible  way.

*  European  Association  of  Business  Process  Management

10

BPM  – Process Models  &  Layers

Layer  1Strategic  

Process Model

Layer  2

Operational  Process Model

Layer  3a

Technical  Process Model

Layer  3b

IT  Specification

Layer  4b

Implementationprocess engine usage

without process engine

Business

IT

Content:      process overviewPurpose:    rapid  understanding

Content:    operational  flowPurpose:    work &  implementation basis

Content:      technical detailsPurpose:    implementation

„Business-­‐IT-­‐Alignment“  J

11

BPM  – Process Automation  using a  Process Engine

Task  Assignment

AutomatedService  

Invocation

AutomaticDecision

AutomatedService  

Invocation

Task  Assignment

Turn  Around Measurement  (Processing  Time)

Process-­Engine

Process Participant IT-­System Process ParticipantIT-­System

TechnicalProcess Model

Service-­‐Orchestration

Human  Workflow  

Management

Monitoring  and Reporting

Modeling

...

...

12

BPM  – Process Engine  =  Magic  BPM  Suite  +  Zero  Code?

BusinessUser

SoftwareDeveloper

“While  there  are  reasonable  use  cases  for  zero  code  BPM  Suites,  they  are  not  the  right  approach  for  automating  business  processes  that  execute  an  IT  based  business  model.”

?

“The  real  problem  is  that  most  of  the  zero  coding  BPM  vendors  claim  that  you  should  use  their  solution  for  situations  where  you  actuallyshouldn't.”

13

BPM  Suite  – Learning  Curve

CLUELESSYou don‘t knowwhat you don‘tknow.

NAIVELY  CONFIDENTYou think you know,but  you still  don‘t knowwhat you don‘t know

DISCOURAGINGREALISTICYou know what youdon‘t know.

MASTERY  ACHIEVEDYou know it.

Traditional  BPM  Suites require a  vendor specific learning curve.

“If  your  business  model  is  IT  based,  your  software  developers  are  probably  your  most  valuable  assets.”

There are numerous Java  developers specialized in  Java  EE  conceptsand integration frameworks.

Business-­IT-­Alignment  is  not  about  getting  rid  of  IT,  but  a  successful  collaboration  between  partners.  Allow  business  as  well  as  IT  to  use  their  most  productive  tools  -­ and  bring  them  together!

14

BPM  – Notations Overview

15

EPK  (Ereignisgesteuerte  Prozesskette)  – a  model for Business  &  IT?

• EPK  appears simple,  the symbols are more or less wellknown.

• But:  EPK  is neither correct nor complete.  Samples:-­ when exactly does the timing of the 7  days start?-­ what is a  sucessful and what an  erroneous ending?-­ which activity is a  service and which a  human  task?

è EPK  is suitable for strategic process models.

16

BPEL  2.0  – a  model for Business  &  IT?

• BPEL  =  building new services by orchestrating existing services• Aligned to the usage of the WS-­*-­Stack• Restrictions due  to block  based design  (versus  graph based)!• Human  Task  Management  not  before introduction of BPEL4People

è BPEL  is a  technical modeling language aiming at Web  Service  orchestration!

Why BPEL  is not  the holy grail for BPM:http://www.infoq.com/articles/bpelbpm

17

BPMN  2.0  – a  model for Business  &  IT!

è BPMN  2.0  has a  level of detail suitable for the operational  and the technical model J.

18

Agenda

§ Overview

§ BPM  and  

§ BPEL  2.0

§ BPMN  2.0

§ Literature

19

Reference  for chapter slides

OASIS:  WS-­‐BPEL  2.0  (Web  Services  Business  Process Execution Language)  –

Technical  Introduction� Part  1:  Frank  Ryan,  Active Endpoints,  Inc.� Part  2:  Dieter  König,  IBM  Senior  Technical  Staff Member� Part  3:  Charlton  Barreto,  Adobe  Senior  Computer  Scientist/Architect

� http://www.oasis-­‐open.org/committees/tc_home.php?wg_abbrev=wsbpel

20

21

22

23

24 Overview of Language  Elements

25

26

27

28

29

30

31

32

33

34

35

36

Agenda

§ Overview

§ BPM

§ BPEL  2.0

§ BPMN  2.0

§ Literature

37

Reference  for chapter slides

Gunnar  von  der  BeckBPM  ExpertAccso

38

BPMN  2.0  – History and Scope

• BPMN  developed by IBM  as of 2001,  graphical notation releasedby BPMI  in  2004

• BPMN  1.0  is an  official OMG  standard since 2006• not  executable up to and including BPMN  1.2  

History

Scope

• developed to specify processes.• i.e.  BPMN  2.0  does not include:  process landscapes,  

organisational  structures,  data,  strategies,  business rules,  IT  landscapes.  There is no need to reinvent the wheel – eligiblenotations already exist.

• BPMN  concentrates on  processes,  a  process is simply a  logicaland chronological order of activities – neither more nor less.

• final  version released by OMG  in  January,  2011• with respect to the graphical notation BPMN  2.0  differs hardly

from BPMN  1.2.  Only a  few symbols have been added.• starting with BPMN  2.0  process models are executable (i.e.  

technical artifacts are now well-­‐defined and XML  schemes havebeen provided).

BPMN  2.0

39

BPMN  2.0  – Core  Elements

• In  a  process certain things need to be done (Activities),• possibly only under certain conditions (Gateways),• and things can happen  (Events).• Flow  objects are connected using Sequence Flows,  but  only inside of a  Pools  or Lane.• Across pool boundaries you have to useMessage  Flows.• Artifacts deliver more information details,  they are connected to flow objects using

Associations.

complete notation:http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf

Activity

Event

Gateway

Sequence Flow

Message  Flow

Association Note  

Group  

Data  Object

Participants

Flow  Objects Connection  Objects Artifacts

40

BPMN  2.0  – Business-­‐IT-­‐Alignment =  Collaboration

ProcessEngine

Organisational  flow of processparticipant

41

BPMN  2.0  – Collaboration (Interacting Processes)

ProcessEngine

Organisational  process of a  participant

Message  Flow

SequenceFlow

complete showcase:https://app.camunda.com/confluence/display/foxUserGuide/Twitter

Pool  Blackbox

Pool  Whitebox

42

BPMN  2.0  – Multi-­‐Level  Escalation

Sub  ProcessIntermediate  Timer Event

Intermediate  Message  Event

Event  BasedGateway

Boundary Event

43

BPMN  2.0  – Error  Handling

CatchingError  Event

ThrowingError  Event

TerminateEnd  Event

Catches a  named error

Catches all  other errors

Event  Sub  Process

44

BPMN  2.0  -­‐ Compensation

BoundaryCompensation

Event

Association!

CompensationHandler

ThrowingCompensation

Event

„book hotel“  is multi-­‐instance:  compensation handler will  be called forevery successful executed instance

45

BPMN  2.0  and JEE  6  – camunda platform infrastructure

Source:  camunda

46

BPMN  2.0  and JEE  6  – WebService Integration  Scenarios

+  e.g.  Apache  CXF

47

BPMN  2.0  and JEE  6  – WebService Integration  Scenarios

+  e.g.  Apache  CXF

GenericImplementation(JaxWsDynamicClientFactory)

How-­To:http://www.bpm-­guide.de/2010/12/09/how-­to-­call-­a-­webservice-­from-­bpmn/

48

BPMN  2.0  and JEE  6  – WebService Integration  Scenarios

+  e.g.  Apache  CXF

GenericImplementation  (JaxWsDynamicClientFactory)

How-­To:http://www.bpm-­guide.de/2010/12/09/how-­to-­call-­a-­webservice-­from-­bpmn/

ESBe.g.  Mule,  

Apache  Camel

Integration

49

BPMN  2.0  and EAI/SOA  -­‐ Integration

50

BPMN  2.0  and EAI/SOA  – Message-­‐ versus  process-­‐oriented

ClassicEAI  Patterns

http://www.eaipatterns.com/toc.html

processorchestratesthe flow

EAI  Patterns  only forInbound/Outbound-­‐

Interfaces

Process-­‐oriented =  

Separation  ofConcerns

ESB:Message-­‐oriented

51

BPMN  2.0  and EAI  /  SOA:  Typical Integration  Scenario

ProcessEngine

ESB

ESB

complete showcase:https://app.camunda.com/confluence/display/foxUserGuide/Bank+Account+Opening

52

Agenda

§ Overview

§ BPM

§ BPEL  2.0

§ BPMN  2.0

§ Literature

53

Literature

http://docs.oasis-­‐open.org/wsbpel/2.0/wsbpel-­‐v2.0.pdf

BPMN  2.0  Notation  Overviewhttp://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf

„BPMN  2.0  by example“  http://www.omg.org/cgi-­‐bin/doc?dtc/10-­‐06-­‐02.pdf

BPMN  2.0  Modeling  Reference  http://www.camunda.org/design/reference.html#!/reference

Praxishandbuch  BPMN  2.0Carl  Hanser  Verlag  GmbH  &  Co.  KG,  März  2012

Open  Source  BPM  and Workflow  based on  BPMN  2.0http://www.camunda.org/