S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

637 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
637
On SlideShare
0
From Embeds
0
Number of Embeds
98
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

S-CUBE LP: Runtime Process Migration: Flexible Execution of Distributed Business Processes

  1. 1. S-Cube Learning Package Runtime Process Migration: Flexible Execution of Distributed Business Processes University of Hamburg (UniHH)Kristof Hamann & Sonja Zaplata, UniHH www.s-cube-network.eu
  2. 2. Learning Package Categorization S-Cube Service composition and coordination Models and Mechanisms for Coordinated Service Compositions Runtime Process Migration: Flexible Execution of Distributed Business Processes © UniHH, S-Cube – 2
  3. 3. Learning Package Overview Problem Description Runtime Process Migration Discussion Conclusions © UniHH, S-Cube – 3
  4. 4. Motivation (1) Distributed business processes: Increasing need for dynamism and flexibility – E.g. cross-organisational business processes, outsourcing – Distribution/decentralisation of resources Employees, machines, services, … (e.g. WS-BPEL) book book payment flight hotel Booking Booking Banking Service 1 Service 2 Service – Decentralisation of process execution Autonomy of business partners, relevance of location, technological differences, large data transfers, security policy, non-functional aspects, … © UniHH, S-Cube – 4
  5. 5. Motivation (2) Distributed business processes: Increasing need for dynamism and flexibility – Decentralisation of process execution (cont’d) buy configure test ok accoun- write software software software X ting payment report not ok ok receive make update X complaint not ok consider ok assert legal claim action Since requirements may change even during execution, there is a need for a flexible distribution of process execution © UniHH, S-Cube – 5
  6. 6. Motivation (2) Distributed business processes: Increasing need for dynamism and flexibility – Decentralisation of process execution (cont’d) buy configure test ok accoun- write software software software X ting payment report not ok Consulting Administration ok company receive X make update complaint not ok consider ok assert legal claim action Legal office Since requirements may change even during execution, there is a need for a flexible distribution of process execution © UniHH, S-Cube – 6
  7. 7. Motivation (2) Distributed business processes: Increasing need for dynamism and flexibility – Decentralisation of process execution (cont’d) buy configure test ok accoun- write software software software X ting payment report not ok Consulting Administration ok company receive X make update complaint not ok Mobile user consider ok assert legal claim action Legal office Since requirements may change even during execution, there is a need for a flexible distribution of process execution © UniHH, S-Cube – 7
  8. 8. Learning Package Overview Problem Description Runtime Process Migration Discussion Conclusions © UniHH, S-Cube – 8
  9. 9. Basic Idea of this S-Cube approachContext-based Cooperation in Mobile Business Environments © UniHH, S-Cube – 9
  10. 10. Background:Context-based CooperationContext-based Cooperation in Mobile Business Environments – Resources are available only in specific situations on specific devices – Process execution can profit from a context-based cooperation: • The running process instance is migrated to another process engine • Continuation of the execution on the other engine • Benefit of newly available resources – Not only mobile environments exhibit dynamically available resourcesSonja Zaplata, Christian P. Kunze, Winfried Lamersdorf. Context-based Cooperation in MobileBusiness Environments: Managing the Distributed Execution of Mobile Processes. In: Business &Information Systems Engineering (BISE), Volume 1, Number 4, pp. 301-314 © UniHH, S-Cube – 10
  11. 11. Goal and RequirementsGoal: – Select most appropriate process participant dynamically in dependence of context such as location, workload, variables, …Requirements: – Share and integrate available business process management systems – Non-intrusiveness for business processes and support for ad-hoc processes – Security mechanisms in order to restrict access to private process parts – User-defined guidelines for execution, monitoring and management © UniHH, S-Cube – 11
  12. 12. Migration Metadata (1): Introduction Challenge: How to migrate process instances? – Current process modeling standards (e.g. WS-BPEL, BPMN) do not define how to save process instance data such as the states of activities, current values of variables, etc. – However, this information is needed in order to migrate a running process instance to another process engine Solution: Migration metadata model – Generic: suitable for current process modeling standards – Lifecycle state models and Undefined Fixed Participant or Role Variable Algorithm QoS and Context current variable values Selection Type 1 0,1 0,1 ID Process 1 – Selection of participants 1 1 State 1 1..n 1 1 1 Activity Process 1 1 Activity 1 State 1 1 1 1 StartActivity 1..n Log – Security issues global variable local variable Structured Atomic 1 Name Activity Activity 0,1 0,1 * * (see next slides for details) 1 1 Initial 0,1 1 Variable 1 0,1 Security * Value 1 Encrypted Session Key Policy Current 1 Value © UniHH, S-Cube – 12
  13. 13. Migration Metadata (2): Overview Undefined Fixed Participant or Role Variable Algorithm QoS and Context Selection Type 1 0,1 0,1 ID Process 1 1 1 State 1 1..n 1 1 1 Activity Process 1 1 Activity 1 State 1 1 1 1StartActivity 1..n Log global variable local variable Structured Atomic 1 Name Activity Activity 0,1 0,1 1 * * 1 Initial 0,1 1 Variable 1 0,1 Security * Value 1 Encrypted Session Key Policy Current 1 Elements of the general Value process meta model Elements of the migration data meta model © UniHH, S-Cube – 13
  14. 14. Migration Metadata (3): Lifecycle Models Undefined Fixed Participant or Role Variable Algorithm QoS and Context Selection Type 1 0,1 0,1 ID Process 1 1 1 State 1 1..n 1 1 1 Activity Process 1 1 Activity 1 State 1 1 1 1 StartActivity 1..n Log global variable local variable Structured Atomic 1 Name Activity Activity 0,1 0,1 1 * * 1 Initial * Migratable Process Lifecycle State Model 0,1 1 1 0,1 Security Variable Encrypted Session Key Value 1 Policy Current 1 Value Activity Lifecycle State Model InError inactive ready executing executed Created Option Running Finished Deleted Trans- Suspen- Termin- Termin- skipped expired inError finished ferring ded ating ated• Each activity and the whole process have a state which is to be migrated• Model based on the established lifecycle model Frank Leymann, Dieter Roller: Production Workflow: Concepts and presented by Leymann and Roller Techniques. PTR Prentice Hall, 2000• New states for migration Option (migration is possible), Transferring (process is currently migrated) © UniHH, S-Cube – 14
  15. 15. Migration Metadata (4) Undefined Fixed Participant or Role Variable Algorithm QoS and Context Undefined Fixed Participant or Role Variable Algorithm QoS and Context Selection Type 1 0,1 0,1 ID Selection Process 1 State 1 1 Type 1 1 1..n 1 1 0,1 0,1 Undefined Fixed Participant or Role 1 ID Variable Activity Algorithm QoS and Context Start activity: Process Process 1 1 Activity 1 1 State 1 1 1 1 State 1 1 1..n 1 1 1 StartActivity 1 Selection Activity Process 1..n 1 1 Activity 1 Type State Log where to continue the 1 1 1 0,1 0,1 ID global variable Process 1 local variable 1 State 1 1 1 1 StartActivity 1 1..n 1 1 Activity process execution after migration 1..n Process 1 Log 1 Activity 1 1 State 1 1 StartActivity Structured Atomic 1 global variable local variable 1 1..n Log Name Activity Activity global variable local variable Structured 0,1 0,1 Atomic Structured Atomic 1 1 * * ActivityName 1 Activity Activity Activity Name Initial 0,1 1 0,1 1 * 1 Variable Security Encrypted Session 0,1 0,1 Key Value 1 1 * * Policy Initial 0,1 1 1 0,1 Security 1 * 0,1 0,1 Variable Encrypted Session Key * * Value 1 Variable – Current value: Policy 1 1 Initial 0,1 1 Current Variable 1 0,1 Security * Value 1 1 Current Encrypted Session Key 1 Value Policy Value the current state of each Current 1 process variable Value Selection type: Which process engine should execute the activity/process? Undefined Fixed Participant or Role Variable Algorithm QoS and Context – Fixed participant/role name Selection Type – Participant is referenced in variable Process State 1 1 1 0,1 0,1 1 1 ID 1 1..n 1 1 Activity – Participant can be determined by a certain algorithm Process 1 1 Activity 1 1 State 1 1 1 StartActivity 1..n Log – Participant will be selected according to its QoS and Context global variable local variable Structured Atomic 1 Name Activity Activity * * 0,1 © UniHH, S-Cube – 15 0,1
  16. 16. Migration Metadata (5): Security Issues Why? Private data must not be readable by everyone! How? Encryption of critical parts with symmetric session keys (pk1 and pk2) Security policy contains the session keys (pk1 and pk2), which are encrypted with the public keys of authorized process engines (one session key can be encrypted multiple times with different public keys) Only legitimate receivers are able to read private data and execute critical process parts Integrity is ensured by a MAC (Message Authentication Code) Undefined Fixed Participant or Role Variable Algorithm QoS and Context Selection Type 1 0,1 0,1 ID Process 1 1 1 State 1 1..n 1 1 1 Activity Process 1 1 Activity 1 State 1 1 1 1 StartActivity 1..n Log global variable local variable Structured Atomic 1 Name Activity Activity 0,1 0,1 1 * * 1 Initial 0,1 1 Variable 1 0,1 Security * Value 1 Encrypted Session Key Policy Current 1 Value © UniHH, S-Cube – 16
  17. 17. Methodology (1): Overview © UniHH, S-Cube – 17
  18. 18. Methodology (2): Steps in Detail1. Process modeling: Traditional modeling in an arbitrary language2. Generation of migration meta data: Automatic generation of initial process/activity states Manual configuration of user-defined guidelines3. Deployment: Deployment to a process engine, which supports migration4. Instantiation: The user is now able to start a new process instance and may define additional requirements (migration metadata) for this process instance5. Assignment and process execution: Flexible execution on (multiple) process engines using runtime process migration © UniHH, S-Cube – 18
  19. 19. Example (Design Time)1. Process modeling buy configure test ok accoun- write software software software X ting payment report not ok ok receive make update X complaint not ok consider ok assert legal claim action Process variables (initial values): IBAN (String): "DE68 2105 0172 3456 78" OK (BOOLEAN): - … © UniHH, S-Cube – 19
  20. 20. Example (Design Time)2. Generation of migration data (automatic) buy configure test ok accoun- write software software software X ting payment report inactive inactive inactive not inactive inactive inactive ok ok receive make update X complaint not inactive ok inactive consider ok assert legal claim action inactive inactive Process variables (current values): (initial Process-Id: 1234567 IBAN (String): "DE68 2105 0172 3456 78" Startactivity: buy software OK (BOOLEAN): - ProcessState: created … © UniHH, S-Cube – 20
  21. 21. Example (Design Time)2. Generation of migration data (manual) buy configure test ok accoun- write software software software X ting payment report inactive inactive inactive not inactive inactive inactive ok ok receive make update X complaint not inactive ok inactive consider ok assert legal claim action inactive inactive Process variables (current values): (initial Process-Id: 1234567 XXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: buy software OK (BOOLEAN): - ProcessState: created … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 21
  22. 22. Example (Runtime)4. Instantiation buy configure test ok accoun- write software software software X ting payment report inactive inactive inactive not inactive inactive inactive ok ok receive make update X complaint not inactive ok inactive consider ok assert legal claim action inactive inactive Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: buy software OK (BOOLEAN): - ProcessState: created … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 22
  23. 23. Example (Runtime)5. Assignment and process execution buy configure test ok accoun- write software software software X ting payment report executing inactive inactive not inactive inactive inactive ok XY Consulting ok receive make update X complaint not inactive ok inactive consider ok assert legal claim action inactive inactive Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: buy software OK (BOOLEAN): - ProcessState: running … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 23
  24. 24. Example (Runtime)5. Assignment and process execution buy configure test ok accoun- write software software software X ting payment report finished inactive inactive not inactive inactive inactive ok XY Consulting ok receive make update X complaint not inactive ok inactive consider ok assert legal claim action inactive inactive Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: configure software OK (BOOLEAN): - ProcessState: option … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 24
  25. 25. Example (Runtime)5. Assignment and process execution Mobile user buy configure test ok accoun- write software software software X ting payment report finished executing inactive not inactive inactive inactive ok ok receive make update X complaint not inactive ok inactive consider ok assert legal claim action inactive inactive Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: configure software OK (BOOLEAN): - ProcessState: running … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 25
  26. 26. Example (Runtime)5. Assignment and process execution Mobile user buy configure test ok accoun- write software software software X ting payment report finished executed inactive not inactive inactive inactive ok ok receive make update X complaint not inactive ok inactive consider ok assert legal claim action inactive inactive Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: test software OK (BOOLEAN): - ProcessState: option … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 26
  27. 27. Example (Runtime)5. Assignment and process execution Mobile user buy configure test ok accoun- write software software software X ting payment report finished finished finished not inactive inactive inactive ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: accounting OK (BOOLEAN): true ProcessState: option … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 27
  28. 28. Example (Runtime)5. Assignment and process execution Administration buy configure test ok accoun- write software software software X ting payment report finished finished finished not inactive inactive inactive ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: accounting OK (BOOLEAN): true ProcessState: option … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 28
  29. 29. Example (Runtime)5. Assignment and process execution Administration buy configure test ok accoun- write software software software X ting payment report finished finished finished not finished inactive inactive ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: payment OK (BOOLEAN): true ProcessState: option … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 29
  30. 30. Example (Runtime)5. Assignment and process execution Administration buy configure test ok accoun- write software software software X ting payment report finished finished finished not finished executing inactive ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: payment OK (BOOLEAN): true ProcessState: running … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 30
  31. 31. Example (Runtime)5. Assignment and process execution Administration buy configure test ok accoun- write software software software X ting payment report finished finished finished not finished executing inactive ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 IBAN (String): "DE68 2105 0172 3456 78" Startactivity: payment OK (BOOLEAN): true ProcessState: running … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 31
  32. 32. Example (Runtime)5. Assignment and process execution Administration buy configure test ok accoun- write software software software X ting payment report finished finished finished not finished executing inactive ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 XXXXXXXXXXXXXXXXXXX IBAN (String): "DE68 2105 0172 3456 78" Startactivity: payment OK (BOOLEAN): true ProcessState: running … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 32
  33. 33. Example (Runtime)5. Assignment and process execution Administration buy configure test ok accoun- write software software software X ting payment report finished finished finished not finished finished inactive ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 IBAN (String): XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX "DE68 2105 0172 3456 78" Startactivity: write report OK (BOOLEAN): true ProcessState: option … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 33
  34. 34. Example (Runtime)5. Assignment and process execution Administration buy configure test ok accoun- write software software software X ting payment report finished finished finished not finished finished finished ok ok receive make update X complaint not skipped ok skipped consider ok assert legal claim action skipped skipped Process variables: Process-Id: 1234567 IBAN (String): XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX "DE68 2105 0172 3456 78" Startactivity: - OK (BOOLEAN): true ProcessState: finished … SelectionTypes: buy software: Fixed Participant or Role: "XY Consulting" payment: Fixed Participant or Role: "Administration" Security policy: IBAN: Administration: (session key 1) public key of "Administration" Legal Office: (session key 1) public key of" Legal Office" © UniHH, S-Cube – 34
  35. 35. Ad-hoc management capabilities (1) Process execution may leave initiator’s sphere of influence – due to migration to another process engine – but also due to subcontracting or fragmentation Challenges – Resources and execution systems are often selected dynamically – Heterogeneous execution systems without standardized management capabilities – Cross-organizational monitoring and controlling can be applied in advance, but miss instant monitoring and reaction capabilities Solution – process management system as a manageable resource © UniHH, S-Cube – 35
  36. 36. Ad-hoc management capabilities (2) Process management system as a manageable resource Realized according to the Web Services Distributed Management (WSDM) standard management interface meta services information modification events deploy/undeploy context change context process model instantiate status intrinsic extrinsic change context context process instance event terminate process history process management system © UniHH, S-Cube – 36

×