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
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
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!
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.
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
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
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
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
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/