Folie 1

667
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
667
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • When a fault occurs, the BPEL process may have already invoked several other Web Services (people base processes, non-transactional operation)s, initiating processes or storing data in a database, successfully or partially completing certain tasks . This work has to be undone if the process is aborted. Usually handled via an exception being thrown and / or transaction being rolled back.
  • While fault handling deals with recovering from incomplete work, compensation is the process of undoing successful work . Compensation is used if some parts (scopes) of a BPEL process have already successfully completed, and must be reversed because some later scope failed.
  • All activities of scope b and c are already completed. If a failure in scope occures the catch-block of the scope will be executed. Within this data block the compensation handler of scope b is called to undo all activities of scope b. And within the compensation handler of b the compensation handler of scope c is called
  • As an example, a business process may book a flight and a hotel. If the flight reservation is successful, but the hotel reservation is not, the flight must be cancelled to restore the original state. Due to the environment BPEL processes run in, communicating with loosely coupled, distributed Web services, and their long-running nature, it is not possible to run them as an atomic operation, and likewise impossible to automatically undo work which may have been completed days ago. Therefore, compensation is user-defined and depends on the concrete problem at hand.
  • Compensation handler: Defines an undo sequence for the scope it is bound to, for example "cancel flight„ Each scope can have just one compensation handler Compensation handlers can be invoked after a scope has been completed successfully (called directly) by means of the compensate activity (indirectly called) Note that the invocation is only allowed from the fault handlers and compensation handlers of the immediately enclosing scope. An interesting thing to note is that the process as a whole may also have a compensation handler, which undoes the complete business process. This compensation handler must be invoked by platform-specific means.
  • Informationen aus: http://www.regdeveloper.co.uk/2007/06/13/bpel_bpm_and_you/ http://www.ibm.com/developerworks/webservices/library/ws-bpelcol8/?S_TACT=105AGX04&S_CMP=EDU http://clemensblog.blogspot.com/2006/03/bpel-transactions-part-2-understanding.html http://www.se.uni-hannover.de/documents/studthesis/MSc/Philip_Mayer-Design_and_Implementation_of_a_Framework_for_Testing_BPEL_Compositions.pdf http://dspace.icsy.de:12000/dspace/bitstream/123456789/44/1/DPArchiv.0125.pdf http://www.cs.ncl.ac.uk/research/pubs/trs/papers/894.pdf
  • A human task component in a business process implements a task done by a person. It represents the involvement of a person in a business process. Conzept how human tasks are integrated in actual BPMS: They typically provide a task management system – an out-of-the-box web service that manages human tasks – plus a web application, typically called worklist, through which participants view, claim an perform their assigned tasks. Standard BPEL calls human tasks by invoking the task management service. This service, external to BPEL, performs task role resolution and state management, and monitors deadlines and escalation logic. When the task is complete (or failed), the task management service calls back the process with the result.
  • Instead of taking the the „obvious“ path to standardize human workflow in BPEL by standardizing the task managment service IBM and SAP create a new BPEL activity type – a people activity. In Pattern 1, the task is specified inline within a People activity In Pattern 2, the task is specified inline within the BPEL process, and reusable by multiple activities in that process. In Pattern 3, the task is defined externally to the process, and callable by multiple BPLE processes. Pattern 5 is like pattern 4, except that the task is callable from a standard Invoke rather than from the new People Activity type.
  • The second part of the problem is the association between the task and the person or group of persons who are responsible for this task.
  • Folie 1

    1. 1. 6th Expert Meeting Business Process Management (BPM) Business Activity Monitoring (BAM) Complex Event Processing (CEP) Service Oriented Architecture (SOA) Event Driven Architecture (EDA) SOA appropriate remodeling of the business process (Haspa Process)
    2. 2. Structure <ul><li>Orchestration & Choreography </li></ul><ul><li>WSDL </li></ul><ul><li>Hands-on WSDL </li></ul><ul><li>Compensation and Exception </li></ul><ul><li>Hands-on Compensation and Exception </li></ul><ul><li>People links </li></ul><ul><li>Conclusion </li></ul>
    3. 3. Orchestration & Choreography Choreography Orchestration BPDM supports two fundamental views on processes, which complements each others Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    4. 4. Orchestration <ul><li>is a short runner: </li></ul><ul><ul><li>the processes are in one organization (= a unit with an established process flow) </li></ul></ul><ul><ul><li>central control </li></ul></ul><ul><ul><li>is one sequence </li></ul></ul><ul><ul><ul><li>finish in a part of a second </li></ul></ul></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    5. 5. Choreography <ul><li>is a long runner </li></ul><ul><ul><li>describe the interactions between two or more organizations </li></ul></ul><ul><ul><li>no central control </li></ul></ul><ul><ul><li>helps to keep the enterprise loosely coupled and agile </li></ul></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    6. 6. An easy mental link … <ul><li>there’s someone — the conductor — who tells everybody in the orchestra what to do and makes sure they all play in sync. </li></ul><ul><li>every dancer follows a pre-defined plan — everyone is independently of the others. </li></ul>Choreography: Orchestration: Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    7. 7. WSDL WSDL Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    8. 8. <ul><li>WSDL is platform- and language-independent and </li></ul><ul><li>describes four critical pieces of data: </li></ul><ul><li>Interface information describing all publicly available functions </li></ul><ul><li>Data type information for all message requests and message responses </li></ul><ul><li>Binding information about the transport protocol to be used </li></ul><ul><li>Address information for locating the specified service </li></ul>WSDL Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    9. 9. Services are defined using six major elements: WSDL Orchestration & Choreography – WSDL – Exception – Compensation – People Links <types>: What data types will be transmitted? <message>: What messages will be transmitted? <portType>: What operations (functions) will be supported? <binding>: How will the messages be transmitted on the wire? What SOAP- specific details are there? <service>: Where is the service located? <port>: What address is specified for a binding?
    10. 10. WSDL – portType Client Server Client Server Client Server Client Server <ul><li>One-way </li></ul><ul><li>Request-Response </li></ul><ul><li>Solicit-Response </li></ul><ul><li>Notification </li></ul><input> <input> <output> <output> <input> <output> Message exchange patterns: WSDL Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    11. 11. Messages Types PortTypes Operations Bindings Operations Services Ports include refer to abstract definitions concrete definitions Elements of WSDL: WSDL Orchestration & Choreography – WSDL – Exception – Compensation – People Links modifiy
    12. 13. SOA Exception Management SOA Exception Management challenges <ul><li>There is a need for an exception management solution when we move from a component oriented world to a service oriented world. </li></ul><ul><li>Exception Management domain broadly covers </li></ul><ul><ul><li>exception logging </li></ul></ul><ul><ul><li>exception notification and </li></ul></ul><ul><ul><li>exception handling </li></ul></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    13. 14. SOA Fault handling and compensation <ul><li>At some stage in a business process an issue may arise. </li></ul><ul><ul><li>some process is not completing due to an internal error </li></ul></ul><ul><ul><li>business condition has not been met </li></ul></ul><ul><ul><li>business process indicates that a failure scenario has been reached </li></ul></ul><ul><li>But the BPEL process may have already invoked several other Web services </li></ul>Fault handling and compensation Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    14. 15. <ul><li>Compensation is the process of undoing successful work . </li></ul><ul><ul><li>Defines how a system is to attempt to recover itself when parts (or all) of a BPEL process fails. </li></ul></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links SOA Fault handling and compensation
    15. 16. <ul><ul><li>An approach for maintaining consistency over multiple systems. </li></ul></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links SOA Fault handling and compensation Process <scope> A <catch> A <compensate scope=„A“> <scope> B <scope> C <compensation handler> B <compensate scope=„C“> <compensation handler> C Atkivität COMP-C.1 Aktivität A.1 ERROR
    16. 17. <ul><li>Problem: </li></ul><ul><ul><li>a business process may book a flight and a hotel. </li></ul></ul><ul><ul><ul><li>If the flight reservation is successful, but the hotel reservation is not, the flight must be cancelled to restore the original state. </li></ul></ul></ul><ul><li>Compensation is user-defined and depends on the concrete problem at hand </li></ul><ul><li>Solution: </li></ul><ul><ul><li>the compensation handler could contact the airline Web service again and cancel the flight or inform the person if another flight date would also be possible </li></ul></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links SOA Fault handling and compensation
    17. 18. <ul><li>Compensation handler </li></ul><ul><ul><li>contains arbitrary activities for a scope which undoes the regular work of the scope </li></ul></ul><ul><li>Compensate activity </li></ul><ul><ul><li>performed in the event that not all corresponding updates of different systems succeed </li></ul></ul>< scope > < compensationHandler > <invoke operation=&quot;CancelFlight&quot; ... </invoke> </ compensationHandler > <invoke operation=“Confirm&quot; ... </invoke> ... < compensate scope=“BookCar&quot; /> </ scope > Orchestration & Choreography – WSDL – Exception – Compensation – People Links SOA Fault handling and compensation
    18. 19. <ul><li>Conclusion </li></ul><ul><ul><li>Compensation leads to looser coupling (concept of reducing the dependencies between systems) of systems </li></ul></ul><ul><ul><li>Could require more effort to implement </li></ul></ul><ul><ul><li>BPEL has direct support for compensation </li></ul></ul><ul><li>Since all services should be reusable, compensation is also important if no compensation is needed for the original proje c t </li></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links SOA Fault handling and compensation
    19. 21. Human Tasks <ul><li>The actual Business Process Execution Language - BPEL 2.0 - has no standard for human tasks. </li></ul><ul><li>Of course all BPLE vendors integrate human tasks, but they all do it slightly different. </li></ul><ul><li>In 2005 SAP and IBM proposed “BPEL4People“, an optional extension to BPEL 2.0 which standardized human tasks in BPEL processes and published a white paper on that subject. </li></ul>SOA – Human Tasks Orchestration & Choreography – WSDL – Exception – Compensation – People Links
    20. 22. Orchestration & Choreography – WSDL – Exception – Compensation – People Links BPEL4People Source: “ WS-BPEL Extension for People – BPEL4People“ by IBM and SAP SOA – Human Tasks
    21. 23. People links <ul><li>There are only a few business processes without human interaction. </li></ul><ul><li>With the existing tools it is possible to create a association between the task and the person or group of persons who (can) execute the task. </li></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links <ul><li>SAP and IBM create in their white paper something called „people link“: </li></ul><ul><li>„ People links are used to represent the different groups of people who participate in the execution of a process. The group of people associated with a generic human role is determined by a people link“. </li></ul>SOA – Human Tasks but this can not be translated into BPEL.
    22. 24. Résumé <ul><li>In 2007 – shortly before BPLE 2.0 was announced – the </li></ul><ul><li>white paper of BPEL4People was rejected. </li></ul><ul><li>Maybe standardizing the portType and basic features of the task management service would be a more practical approach than BPEL4People </li></ul><ul><li>Bruce Silver </li></ul>Orchestration & Choreography – WSDL – Exception – Compensation – People Links SOA – Human Tasks
    23. 26. <ul><li>Importing BPEL from a BPA-Tool in a BPM-Platform </li></ul><ul><li>is leading to problems </li></ul><ul><li>Orchestration, choreography servers, implementation of </li></ul><ul><li>WSDL and human interaction </li></ul><ul><li>to complicated for the operating department </li></ul><ul><li>IT-department is overwhelmed </li></ul><ul><li>Expert knowledge is necessary </li></ul><ul><li>Danger of a bottleneck </li></ul><ul><li>our opinion: would be better to separate the cooperate </li></ul><ul><li>modeling into an extra tool </li></ul>Conclusion
    24. 27. Thank you for your attention! <ul><li>Presentation: </li></ul><ul><li>Katja Borschert </li></ul><ul><li>Katharina Faustmann </li></ul><ul><li>Matthias Gerl </li></ul><ul><li>Matthias Multerer </li></ul><ul><li>Michael Preu </li></ul><ul><li>Florian Priller </li></ul><ul><li>Manuela Weiß </li></ul><ul><li>In the background: </li></ul><ul><li>Armin Eigenstetter </li></ul><ul><li>Renate Schambeck </li></ul><ul><li>Martin Schober </li></ul><ul><li>Sandra Stein </li></ul><ul><li>Tanja Stork </li></ul><ul><li>Thuy-Van Truong </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×