SlideShare a Scribd company logo
1 of 30
BPA Suite to BPEL: a Case Study

Lonneke Dikmans
November 2011 | Nuremberg, Germany




                                     11||29
                                          x
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
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
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
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
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
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
Modeling the process: BPMN | Intake




                                      88||29
                                           x
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
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
Executing the processes: BPEL | Tool

  BPEL Development
• Develop the process in JDeveloper
• Based on the process models




                                         11 ||29
                                          11 x
<!-- 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
Executing the processes: BPEL |Transform
BPMN in BPA   BPEL               Remark
Activity      Scope              Including calls to service
Start event   Receive activity   If no trigger
              Pick               If ‘multiple’
              Separate process   If timer
End event     Invoke, reply,     Depends on the result type. If
              throw,             none is modeled, no activity is
              compensation,      generated in BPEL
              termination
Gateway       Switch, pick, or   Depending on type of gateway
              flow               and flow object that follows
                                 gateway




                                                               13 ||29
                                                                13 x
Executing the processes: BPEL |Transform
BPMN in BPA     BPEL                   Remark
Connecting      N.A                    See spec for some exceptions
objects
Sub process     Invoke activity, not
                scope
Swim lanes      N.A                    Don’t exist in BPEL. Tasks are
                                       assigned to correct role
Business data   Variables              Not often available




                                                                        14 ||29
                                                                         14 x
Executing the processes: BPEL | Transform

     DEMO BPA Suite -> Oracle JDeveloper
1.    Create a BPA Suite database
2.    Model a process
3.    Create a blueprint
4.    Import blueprint in JDeveloper
5.    Technical implementation




                                           15 ||29
                                            15 x
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
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
Design perspective | Findings

Incorrect 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 view
Impedance 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
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
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
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
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
Development perspective | Terminate

This is generated incorrectly:




                                      23 ||29
                                       23 x
Development perspective | Terminate

See BPEL example




                                      24 ||29
                                       24 x
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
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
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
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
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
BPA Suite to BPEL: a Case Study

Lonneke Dikmans
November 2011 | Nuremberg, Germany




                                     30 ||29
                                      30 x

More Related Content

Similar to Oracle BPA Suite to BPEL: A case study

Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14
Mustafa Jarrar
 
Approach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organizationApproach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organization
Lonneke Dikmans
 
A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...
IESS
 
Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...
Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...
Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...
CERTyou Formation
 

Similar to Oracle BPA Suite to BPEL: A case study (20)

Simplify the complexity of your business processes
Simplify the complexity of your business processesSimplify the complexity of your business processes
Simplify the complexity of your business processes
 
Ux fusion apps
Ux fusion appsUx fusion apps
Ux fusion apps
 
Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14
 
Service Oriented Architecture [3/5] : Business Process Management using BPEL
Service Oriented Architecture [3/5] : Business Process Management using BPELService Oriented Architecture [3/5] : Business Process Management using BPEL
Service Oriented Architecture [3/5] : Business Process Management using BPEL
 
Unified Process
Unified ProcessUnified Process
Unified Process
 
Towards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and IntegrationTowards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and Integration
 
Approach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organizationApproach to SOA:Making this a successful endeavor for the whole organization
Approach to SOA:Making this a successful endeavor for the whole organization
 
2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial
2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial
2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial
 
A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...A model based method for the design of services in collaborative business env...
A model based method for the design of services in collaborative business env...
 
Do-It-Yourself ENOVIA PLM MIgration
Do-It-Yourself ENOVIA PLM MIgrationDo-It-Yourself ENOVIA PLM MIgration
Do-It-Yourself ENOVIA PLM MIgration
 
20100223 bpmn
20100223 bpmn20100223 bpmn
20100223 bpmn
 
Project management in Agile Way
Project management in Agile WayProject management in Agile Way
Project management in Agile Way
 
Pivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMPivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORM
 
Automate workflows with leading open-source BPM
Automate workflows with leading open-source BPMAutomate workflows with leading open-source BPM
Automate workflows with leading open-source BPM
 
Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...
Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...
Wb814 g formation-process-implementing-with-ibm-business-process-manager-stan...
 
Process Cloud Service Deep dive
Process Cloud Service Deep diveProcess Cloud Service Deep dive
Process Cloud Service Deep dive
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
Representing Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design MethodologyRepresenting Business Processes: Conceptual Model and Design Methodology
Representing Business Processes: Conceptual Model and Design Methodology
 
Presentation BPM Methodology and Pitfalls
Presentation BPM Methodology and PitfallsPresentation BPM Methodology and Pitfalls
Presentation BPM Methodology and Pitfalls
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilities
 

More from Lonneke Dikmans

Report from the trenches: Using SOA Integrated Gateway
Report from the trenches: Using SOA Integrated GatewayReport from the trenches: Using SOA Integrated Gateway
Report from the trenches: Using SOA Integrated Gateway
Lonneke Dikmans
 
Leveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User ExperienceLeveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User Experience
Lonneke Dikmans
 
Stop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing ITStop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing IT
Lonneke Dikmans
 

More from Lonneke Dikmans (8)

Choosing the right mobile architecture
Choosing the right mobile architectureChoosing the right mobile architecture
Choosing the right mobile architecture
 
Report from the trenches: Using SOA Integrated Gateway
Report from the trenches: Using SOA Integrated GatewayReport from the trenches: Using SOA Integrated Gateway
Report from the trenches: Using SOA Integrated Gateway
 
Leveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User ExperienceLeveraging Oracle Fusion Middleware for User Experience
Leveraging Oracle Fusion Middleware for User Experience
 
Introduction to Oracle BPM Suite 11g
Introduction to Oracle BPM Suite 11gIntroduction to Oracle BPM Suite 11g
Introduction to Oracle BPM Suite 11g
 
Creating SOA with Oracle Fusion Middleware 11g
Creating SOA with Oracle Fusion Middleware 11gCreating SOA with Oracle Fusion Middleware 11g
Creating SOA with Oracle Fusion Middleware 11g
 
Overview of Oracle SOA Suite11g
Overview of Oracle SOA Suite11gOverview of Oracle SOA Suite11g
Overview of Oracle SOA Suite11g
 
Stop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing ITStop Generating your user interface! Start designing IT
Stop Generating your user interface! Start designing IT
 
Deployment in Oracle SOA Suite and in Oracle BPM Suite
Deployment in Oracle SOA Suite and in Oracle BPM SuiteDeployment in Oracle SOA Suite and in Oracle BPM Suite
Deployment in Oracle SOA Suite and in Oracle BPM Suite
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Oracle BPA Suite to BPEL: A case study

  • 1. BPA Suite to BPEL: a Case Study Lonneke Dikmans November 2011 | Nuremberg, Germany 11||29 x
  • 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. 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. 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. 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. 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. 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. Modeling the process: BPMN | Intake 88||29 x
  • 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. 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. Executing the processes: BPEL | Tool BPEL Development • Develop the process in JDeveloper • Based on the process models 11 ||29 11 x
  • 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. Executing the processes: BPEL |Transform BPMN in BPA BPEL Remark Activity Scope Including calls to service Start event Receive activity If no trigger Pick If ‘multiple’ Separate process If timer End event Invoke, reply, Depends on the result type. If throw, none is modeled, no activity is compensation, generated in BPEL termination Gateway Switch, pick, or Depending on type of gateway flow and flow object that follows gateway 13 ||29 13 x
  • 14. Executing the processes: BPEL |Transform BPMN in BPA BPEL Remark Connecting N.A See spec for some exceptions objects Sub process Invoke activity, not scope Swim lanes N.A Don’t exist in BPEL. Tasks are assigned to correct role Business data Variables Not often available 14 ||29 14 x
  • 15. Executing the processes: BPEL | Transform DEMO BPA Suite -> Oracle JDeveloper 1. Create a BPA Suite database 2. Model a process 3. Create a blueprint 4. Import blueprint in JDeveloper 5. Technical implementation 15 ||29 15 x
  • 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. 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. Design perspective | Findings Incorrect 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 view Impedance 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. 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. 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. 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. 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. Development perspective | Terminate This is generated incorrectly: 23 ||29 23 x
  • 24. Development perspective | Terminate See BPEL example 24 ||29 24 x
  • 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. 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. 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. 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. 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. BPA Suite to BPEL: a Case Study Lonneke Dikmans November 2011 | Nuremberg, Germany 30 ||29 30 x