BPA Suite to BPEL: a Case StudyLonneke DikmansNovember 2011 | Nuremberg, Germany                                     11||2...
Vennster• Integrated approach from three perspectives• Senior consultants with specific expertise and industry  knowledge•...
Agenda | BPA to BPEL: a case study  Introduction● Context● Modeling the processes: BPMN● Executing the processes: BPEL  Ca...
Context | Province Overijssel    Province● 1.130.664 inhabitants● 26 municipalities● 1000 employees● 10 units (roads, cult...
Context | Project  Process• Grants and permits• Based on a standardized case management process  Tooling• Oracle SOA Suite...
Agenda | BPA to BPEL: a case study  Introduction● Context● Modeling the processes: BPMN● Executing the processes: BPEL  Ca...
Modeling the process: BPMN | Tool  Process modeling• Model the processes in BizAgi• Free, used as input for the bidding pr...
Modeling the process: BPMN | Intake                                      88||29                                           x
Modeling the process: BPMN | BPMN    Objects•   Activities (Task, sub process)•   Events (Start, Intermediate, End)•   Gat...
Agenda | BPA to BPEL: a case study  Introduction● Context● Modeling the processes: BPMN● Execution of the processes: BPEL ...
Executing the processes: BPEL | Tool  BPEL Development• Develop the process in JDeveloper• Based on the process models    ...
<!-- HelloWorld BPEL Process --><process name="HelloWorld" targetNamespace="http://samples.otn.com/helloworld" suppressJoi...
Executing the processes: BPEL |TransformBPMN in BPA   BPEL               RemarkActivity      Scope              Including ...
Executing the processes: BPEL |TransformBPMN in BPA     BPEL                   RemarkConnecting      N.A                  ...
Executing the processes: BPEL | Transform     DEMO BPA Suite -> Oracle JDeveloper1.    Create a BPA Suite database2.    Mo...
Agenda | BPA to BPEL: a case study  Introduction● Context● Modeling the processes: BPMN● Execution of the process: BPEL  C...
Design perspective | Considerations    Process models• Main process and sub processes (intake, process, decide,  deliver)•...
Design perspective | FindingsIncorrect use of BPMN (syntax and semantic errors)• No start event• Use of signal instead of ...
Agenda | BPA to BPEL: a case study  Introduction● Context● Modeling the processes: BPMN● Execution of the processes: BPEL ...
Development | Considerations  Decide on relationship SCA – BPMN process• One SCA for all BPMN processes• One SCA per BPMN ...
Example  BPMN process with reusable sub process● SendDocuments: called in multiple (sub) processes  BPMN process with embe...
Development perspective | Findings  Use of CDM in BPEL● Too much data for BPEL (not for SCA)● Changes have huge impact (as...
Development perspective | TerminateThis is generated incorrectly:                                      23 ||29            ...
Development perspective | TerminateSee BPEL example                                      24 ||29                          ...
Agenda | BPA to BPEL: a case study  Introduction● Context● Modeling the processes: BPMN● Execution the processes: BPEL  Ca...
Licensing perspective | Partner & Customer  Oracle SOA Suite versus Oracle BPM Suite● At the time, Oracle very focused on ...
Agenda | BPA to BPEL: a case study  Introduction● Context● Modeling the processes  Case● Design perspective● Development p...
Conclusion | BPA Suite to BPEL  Governance● Need business analyst during development● Stay connected or start over from sc...
Conclusion | do it again?    Yes●   No good alternative for business in control●   No good alternative for business archit...
BPA Suite to BPEL: a Case StudyLonneke DikmansNovember 2011 | Nuremberg, Germany                                     30 ||...
Upcoming SlideShare
Loading in …5
×

Oracle BPA Suite to BPEL: A case study

2,941 views
2,766 views

Published on

Presentation about a case using Oracle BPA suite to model the process models. Blueprints from BPA Suite are picked up by BPEL.

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
2,941
On SlideShare
0
From Embeds
0
Number of Embeds
441
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Oracle BPA Suite to BPEL: A case study

  1. 1. BPA Suite to BPEL: a Case StudyLonneke DikmansNovember 2011 | Nuremberg, Germany 11||29 x
  2. 2. Vennster• Integrated approach from three perspectives• Senior consultants with specific expertise and industry knowledge• Add value, share knowledge• Partnership• Lonneke Dikmans is Oracle Ace Director Human Business IT 22||29 x
  3. 3. Agenda | BPA to BPEL: a case study Introduction● Context● Modeling the processes: BPMN● Executing the processes: BPEL Case● Design perspective● Development perspective● Licensing perspective Conclusion● Do it again? 33||29 x
  4. 4. Context | Province Overijssel Province● 1.130.664 inhabitants● 26 municipalities● 1000 employees● 10 units (roads, culture, agriculture etc)● grants, permits, development SOA and BPM● NORA, PETRA, ORA● Dutch case management 44||29 x
  5. 5. Context | Project Process• Grants and permits• Based on a standardized case management process Tooling• Oracle SOA Suite11g• Oracle BPA Suite11g• COTS case metadata system 55||29 x
  6. 6. Agenda | BPA to BPEL: a case study Introduction● Context● Modeling the processes: BPMN● Executing the processes: BPEL Case● Design perspective● Development perspective● Licensing perspective Conclusion● Do it again? 66||29 x
  7. 7. Modeling the process: BPMN | Tool Process modeling• Model the processes in BizAgi• Free, used as input for the bidding process-> no middleware yet! 77||29 x
  8. 8. Modeling the process: BPMN | Intake 88||29 x
  9. 9. Modeling the process: BPMN | BPMN Objects• Activities (Task, sub process)• Events (Start, Intermediate, End)• Gateways (If, Parallel)• Flow (Sequence, message) Roles• Lanes and pools 99||29 x
  10. 10. Agenda | BPA to BPEL: a case study Introduction● Context● Modeling the processes: BPMN● Execution of the processes: BPEL Case● Design perspective● Development perspective● Licensing perspective Conclusion● Do it again? 10 ||29 10 x
  11. 11. Executing the processes: BPEL | Tool BPEL Development• Develop the process in JDeveloper• Based on the process models 11 ||29 11 x
  12. 12. <!-- HelloWorld BPEL Process --><process name="HelloWorld" targetNamespace="http://samples.otn.com/helloworld" suppressJoinFailure="yes" xmlns:tns="http://samples.otn.com/helloworld" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business- process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" ><!-- List of services participating in this BPEL process --><partnerLinks><!-- The client role represents the requester of this service. It is used for callback. The location and correlation information associated with the client role are automatically set using WS-Addressing. --><partnerLink name="client" partnerLinkType="tns:HelloWorld" myRole="HelloWorldProvider" partnerRole="HelloWorldRequester" /></partnerLinks> <!-- List of messages and XML documents used as part of this BPEL process --> <variables><!-- Reference to the message passed as input during initiation --><variable name="input" messageType="tns:HelloWorldRequestMessage"/><!-- Reference to the message that will be sent back to the requestor during callback --> <variable name="output" messageType="tns:HelloWorldResultMessage"/> </variables><!-- Orchestration Logic --><sequence><!-- Receive input from requestor. Note: This maps to operation defined in HelloWorld.wsdl --><receive name="receiveInput" partnerLink="client" portType="tns:HelloWorld" operation="initiate" variable="input" createInstance="yes"/><!-- Generate content of output message based on the content of the input message. --><assign> <copy> <from expression="concat(Hello ,bpws:getVariableData(input, payload,/tns:name))"/> <to variable="output" part="payload" query="/tns:result"/> </copy></assign><!-- Asynchronous callback to the requester. Note: the callback location and correlation id is transparently handled using WS-addressing. --><invoke name="replyOutput" partnerLink="client" portType="tns:HelloWorldCallback" operation="onResult" inputVariable="output" /></sequence></process> 12 ||29 12 x
  13. 13. Executing the processes: BPEL |TransformBPMN in BPA BPEL RemarkActivity Scope Including calls to serviceStart event Receive activity If no trigger Pick If ‘multiple’ Separate process If timerEnd event Invoke, reply, Depends on the result type. If throw, none is modeled, no activity is compensation, generated in BPEL terminationGateway Switch, pick, or Depending on type of gateway flow and flow object that follows gateway 13 ||29 13 x
  14. 14. Executing the processes: BPEL |TransformBPMN in BPA BPEL RemarkConnecting N.A See spec for some exceptionsobjectsSub process Invoke activity, not scopeSwim lanes N.A Don’t exist in BPEL. Tasks are assigned to correct roleBusiness data Variables Not often available 14 ||29 14 x
  15. 15. Executing the processes: BPEL | Transform DEMO BPA Suite -> Oracle JDeveloper1. Create a BPA Suite database2. Model a process3. Create a blueprint4. Import blueprint in JDeveloper5. Technical implementation 15 ||29 15 x
  16. 16. Agenda | BPA to BPEL: a case study Introduction● Context● Modeling the processes: BPMN● Execution of the process: BPEL Case● Design perspective● Development perspective● Licensing perspective Conclusion● Do it again? 16 ||29 16 x
  17. 17. Design perspective | Considerations Process models• Main process and sub processes (intake, process, decide, deliver)• How to handle user interaction versus process flow• Translation from BPMN to BPEL• How to handle ad-hoc tasks• Error handling Governance• Ease of use of modeling tool• Versioning of models and code• Change management• Match process models and code 17 ||29 17 x
  18. 18. Design perspective | FindingsIncorrect use of BPMN (syntax and semantic errors)• No start event• Use of signal instead of message• Scope / subject of process (one grant versus an arrangement)No Layering• Missing overall process• business versus implementation viewImpedance mismatch• No “go to” in BPEL• Two start events• Technical decisions in the process model; what to automate how• Different target audience (business analyst versus developer) 18 ||29 18 x
  19. 19. Agenda | BPA to BPEL: a case study Introduction● Context● Modeling the processes: BPMN● Execution of the processes: BPEL Case● Design perspective● Development perspective● Licensing perspective Conclusion● Do it again? 19 ||29 19 x
  20. 20. Development | Considerations Decide on relationship SCA – BPMN process• One SCA for all BPMN processes• One SCA per BPMN process• One SCA per BPMN process plus sub processes Guidelines• No composite in a composite possible in SOA Suite 11g• If a process is callable (reusable) from multiple other processes use separate SCA• Otherwise (embedded) generate BPEL in same SCA Can’t design this just in BPA Suite 20 ||29 20 x
  21. 21. Example BPMN process with reusable sub process● SendDocuments: called in multiple (sub) processes BPMN process with embeded sub process● FirstRequest: embedded in “process request” 21 ||29 21 x
  22. 22. Development perspective | Findings Use of CDM in BPEL● Too much data for BPEL (not for SCA)● Changes have huge impact (assigns, XSLT, partnerlinks)● WSDLs and XSDs get copied into project instead of use of MDS On Message event● BPEL onMessage or Pick activity (for retry and error handling) Ending a process● Business error solved by technical error “Loosing the connection”• One BPEL is connected to one BPA database 22 ||29 22 x
  23. 23. Development perspective | TerminateThis is generated incorrectly: 23 ||29 23 x
  24. 24. Development perspective | TerminateSee BPEL example 24 ||29 24 x
  25. 25. Agenda | BPA to BPEL: a case study Introduction● Context● Modeling the processes: BPMN● Execution the processes: BPEL Case● Design perspective● Development perspective● Licensing perspective Conclusion● Do it again? 25 ||29 25 x
  26. 26. Licensing perspective | Partner & Customer Oracle SOA Suite versus Oracle BPM Suite● At the time, Oracle very focused on Oracle SOA Suite.● Business analyst activities versus development activities● Case management versus BPM unclear at customer Software AG versus Oracle● Need for Archimate plug-in. Not offered by Oracle● Unclear architecture, versus business architecture, versus BPM versus process design● Software AG up selling after the deal 26 ||29 26 x
  27. 27. Agenda | BPA to BPEL: a case study Introduction● Context● Modeling the processes Case● Design perspective● Development perspective● Licensing perspective Conclusion● Do it again? 27 ||29 27 x
  28. 28. Conclusion | BPA Suite to BPEL Governance● Need business analyst during development● Stay connected or start over from scratch ● Very little to no support from Oracle • Policy: Software AG makes money on training • Partners are not enabled • Little knowledge● BPA Suite modeling experience is not very good Technical● Need both BPMN and BPEL knowledge • During design and development● Design as little technical detail as possible in BPMN diagrams 28 ||29 28 x
  29. 29. Conclusion | do it again? Yes● No good alternative for business in control● No good alternative for business architecture – BPM link● Cheaper than Oracle BPM studio● Proven technology (both BPA Suite and BPEL) No● Oracle BPM Suite is better fit● Oracle is committed to Oracle BPM Suite● Having multiple vendors is nightmare for organization 29 ||29 29 x
  30. 30. BPA Suite to BPEL: a Case StudyLonneke DikmansNovember 2011 | Nuremberg, Germany 30 ||29 30 x

×