Your SlideShare is downloading. ×
0
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Web Service Composition mit WS-BPEL und dem Open-Source-Orchester

3,024

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,024
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Web Service Composition mit WS-BPEL und dem Open-Source-Orchester Tammo van Lessen Daniel Lübke Simon Moser
  • 2. About us
    • Tammo van Lessen
      • SOA/BPM consultant
      • Committer & PMC Member @ Apache ODE
      • Member of the BPMN 2.0 FTF at OMG (representing Intalio, Inc.)
    • Simon Moser
      • Software Architect @ IBM
      • Co-lead of the BPEL Designer Project
      • Member of the WS-BPEL Technical Committee at OASIS
    • Daniel Lübke
      • Senior Consultant @ innoQ Schweiz
      • Architect in MDA & SOA Projects
      • BPELUnit Maintainer
  • 3. The Talk Today
    • Motivation & Background
    • WS-BPEL
      • Concepts
      • Extensions
    • BPEL Open Source Orchestra
      • Eclipse BPEL Designer
      • BPELUnit
      • Apache ODE
    • Demo
  • 4. BPEL Background & Motivation
  • 5. The Base: Service Platform Messaging Quality of Service Transport Description Transports Interface + Bindings Composite XML Non-XML Security Policy Discovery, Negotiation, Agreement Atomic Orchestration Protocols State Components Reliable Messaging Transactions
  • 6. The Base: Web Services Messaging Quality of Service Transport Description HTTP, SMTP, XMPP, TCP/IP, FTP, Tuple Spaces,… WSDL Composite SOAP, WS-A JMS, RMI/IIOP WS-Security* WS-Policy* UDDI, WS-A, WS-MEX, WSIL Atomic BPEL WS-C, WS-CDL, BPEL4Chor WSRF Components WSRM WS-AT, WS-BA,…
  • 7. Why Orchestration? ??? To achieve a business goal, you often need more than one service… Which to use, in which order, how to use them?
  • 8. Web Service Orchestration BPEL!
  • 9. What is BPEL?
    • Business Process Execution Language, since 4/07 OASIS Standard
    • High-level programming language
    • Recursive Model
    • BPEL has native support for
      • Long running processes
      • Scalability
      • Concurrency
      • Message and instance correlation
      • Fault handling
      • Compensation based recovery
      • Phoenix behaviour
      • Most important: BPEL is standard and supported by most important vendors.
    • Defined Execution Semantics
    • Abstract Processes (protocols, “views” on internal processes)
  • 10. What is BPEL not?
    • “ BPEL is block-structured only and therefore not usable for business users”
    • “ BPEL does not support multiple transport protocols”
      • Look at WSDL
    • “ BPEL interactions are only synchronous”
      • Look at WSDL
    • “ Look at this ugly XML, business people won’t understand this cumbersome stuff”
      • Not meant to be hand-written, use tools!
    • BPEL is not a modeling notation
  • 11. BPEL’s Foundation
    • Web Services
      • WSDL 1.1 – abstract part (concrete part  ESB)
      • (SOAP)
      • (WS-Addressing)
    • Flow Control
      • Block structured (nested blocks)
      • Graph-based flows (using <flow>)
    • Data Model
      • W3C XML Schema 1.0
      • XML InfoSet
      • XPath 1.0
      • XSLT 1.0
  • 12. BPEL 2.0 Activities compensateScope compensate Basic Activities Structured Activities receive reply invoke assign validate throw rethrow exit wait empty extensionActivity forEach sequence 2. N. 1. … flow B C A while c repeatUntil c if-elseif-else c1 c2 … 2. N. 1. … pick … A M2 M1 scope
  • 13. Partner Links / Partner Link Types process partner link partner link type Peer-to-peer conversational partner relationship “ I expect from my partner an implementation of this!”
      • Define “contract channels” between partners - Key concept to enable asynchronous messaging!
    WSDL port type myRole Provided port type WSDL port type partnerRole Required port type receive Inbound request – service provided by the process invoke Outbound request – service required by the process
  • 14. Properties and Correlation Sets
    • How to identify stateful instances via stateless WS interfaces?
    • A process instance is assigned one or more keys
      • Business data is used as key, e.g., customerID
      • A key can be compound, e.g., (customerID, orderNumber)
      • WS-BPEL calls a key a correlation set – it is used to correlate an incoming message with a process instance
    Process 4 (0123,15) Process 3 (0815,42) Process 2 (4711,37) Process 1 (0815,12) 0815 42 Message 2 customerID orderNumber 4711 37 Message 1
  • 15. Fault Handling & Compensation
    • Fault Handling
      • Like in Java, enables alternative execution paths
      • Can trigger compensation
    • Compensation
      • ACID Transactions are not applicable when dealing with long running processes
      • Compensation-based recovery
        • Compensation Handler can reverse the work performed by an already completed scope
        • Compensation Handler is “installed” after successful execution of a scope
        • Compensation can only be triggered by fault/compensation/termination handler of the enclosing scope
  • 16. Fault and Compensation Handling
  • 17. Modelling Styles
    • Block structured modelling
      • Nesting of structured activities
      • Use of <flow> activity for parallelism
    • Graph based modelling
      • <flow> activity with links
      • Transition conditions & join conditions
      • Dead-Path-Elimination
      • Acyclic graph to ensure sound execution semantics
      • Loops can be realized with <while> / <repeatUntil> / <forEach>
      • Not supported by Sun & Oracle!
    t 1 t 2 j
  • 18. Modeling Styles: Example
  • 19.
    • BPEL4People/WS-HT
      • Support for Human Tasks
      • Standardization Committed at OASIS currently being formed
    • BPEL-SPE
      • Support for sub-processes
      • Autonomy is key
    • BPELJ
      • Use Java in BPEL Activities
      • Use Java types in BPEL
    • BPEL4SWS
      • Support for Semantic Web Services (Service Discovery)
      • Data Mediation
    • BPEL light
      • WSDL-less BPEL
      • Is about message exchanges
    • BPEL JS/E4X
      • Use JavaScript/E4X for variable assignments
    BPEL Extensions
  • 20. BPEL Open Source Orchestra
  • 21. Eclipse BPEL Designer
    • BPEL 2.0 Design Tool …
      • … all standard activities are supported
      • No full support of extensibility mechanisms
      • Partial support of abstract BPEL
      • BPEL 2.0 Validator included
    • Synchronized graphical & XML modelling mode
    • Prototypical graphical process compare
  • 22. BPELUnit
    • BPELUnit is a test framework
      • like JUnit is for Java
      • http://www.bpelunit.net
    • Supports BPEL specifics:
      • Web service mocking
      • Transparent (un-)deployment
      • Test Coverage calculation
    • Most functionality independent of BPEL Engine
    • Front-ends for Eclipse, Ant, and command-line
  • 23. Testing
    • Testing is the execution of a program with the intend to find defects
      • find defects also means:
        • systematically
        • in a repeatable way
      • in our case: automate it!
    • Simulation is not Testing
      • Testing also includes the application server, JVM, BPEL Engine, Database configuration, ...
      • Simulation uses another &quot;target engine&quot;
  • 24. Test Structure BPEL BPELUnit Real Services deploy <soap> <soap> <soap> <soap> Client Mock A Mock B <soap> undeploy Eclipse Ant Command Line Deployer (optional)
  • 25. BPEL Execution: Apache ODE
    • BPEL 1.1 and 2.0 supported
    • Fast and scalable process engine
    • Modular design & embeddable
    • 3 deployment targets supported
      • Web container (Axis2)
      • JBI (ServiceMix)
      • SCA (Tuscany)
    • Implicit Message Correlation
    • XPath 1.0 & 2.0, XQuery
    • Management and Auditing
    • Backed by Intalio & Red Hat
  • 26. Tammo van Lessen (IAAS, Uni Stuttgart) & Simon Moser (IBM) Demo
  • 27. Demo schedule
    • Open & Explain Fahrschulservice (v1)
    • Run Tests (3 tests)
      • Tests are green
    • Verbal: New func required, create Testcase
    • Open pre-defined new Testcase (testcase 4)
    • Run all 4 Tests against v1
      • One test is red
    • Verbal: Analyse, find and eliminate problem
    • Open & Explain prepared process (v2)
      • Show Processes in Process Compare View
    • Run tests again against v2
      • Tests are green
  • 28. Is BPEL dead?
    • Not really!
    • BPMN 2.0 is still under development and not as mature as BPEL
    • BPMN 2.0 adds even more abstraction and makes it more difficult to bring models to execution
    • It‘s a matter of time!
  • 29. Q&A Thank you for your attention!

×