SlideShare une entreprise Scribd logo
1  sur  21
ODE Instance Migration


            Hanna Eberle, Tammo van Lessen, Tobias Unger

                          University of Stuttgart
         Institute of Architecture of Application Systems (IAAS)




© IAAS                                                             1
Outline




         1   Introduction

         2   BPEL Related Stuff

         3   ODE Related Stuff




© IAAS                            2
Motivation
        Migration
            Update to an new ODE version
            In mobile computing people takes their instances with them
             across devices and infrastructures
        Modification
            Adding additional steps to an already running instance
            Adapting running instances to a new version of the process
             model
        Distribution
            Dynamic outsourcing of parts of already running instances
            Function vs. Data shipping
 In      distribution and modification scenarios instance
         modification implies modification of process model
© IAAS                                                                    3
Approach
        Problem
            Each scenario requires sophisticated modifications of the ODE
             engine
            Overlapping functionallity
        Solutions
            Generic instance format based on XML
            ODE interface for importing and exporting instances
 Components   controlling modification, distribution, or
  migration can be realized separated from the ODE engine
 ODE engine has to be modified only once



© IAAS                                                                       4
Vision
                                                                                                                                                                 Distribution                Apache ODE

                                                                                                                                                                                                                        BPEL
                                                                                                                                                                                                                                              OModel
                                                                                                                                                                                                                       Compiler



                                                                                                                                     Process Instance                                                BPEL Runtime

                                                                                                                                                                                           Axis2




                                                                                                                                                                                                                                               Management &
                                                                                                                                                                                                            JACOB             DAOs
                                                                                                                                                                                            JBI




                                                                                                                                                                                                                                                  Events
                                                                                                                                                                                           SCA




Migration to other Server
                                                                                                                                                                                                                          Hiber        Open
                                                                                                                                                                                                           Scheduler
                                                                                                                                                                                            …                             nate          JPA




                                                                                                                                                                                                                                  DB
           Apache ODE
                                                                                                                                                                  Process Instance
                                     BPEL                                                                                                                                                     Apache ODE
                                                           OModel
                                    Compiler                                                                                                                                                                            BPEL
                                                                                                                                                                                                                                              OModel
                                                                                                                                                                                                                       Compiler

                                                                            Process Instance
                  BPEL Runtime                                                                                                                                                                       BPEL Runtime


         Axis2                                                                                                                                                                             Axis2




                                                                                                                                                                                                                                               Management &
                                                            Management &




                                                                                                                                                                                                            JACOB             DAOs
                         JACOB             DAOs
                                                                                                                                                                                            JBI




                                                                                                                                                                                                                                                  Events
          JBI
                                                               Events




                                                                                                                                                                                           SCA
                                                                                                                                                                                                                          Hiber        Open
         SCA                                                                                                                                                                                               Scheduler
                                       Hiber        Open                                                                                                                                    …                             nate          JPA
                        Scheduler
          …                            nate          JPA


                                                                                                                                                                                                                                  DB


                                               DB




                                                                           Process Instance                                                                           Process Instance



                                                                                                 Apache ODE

                                                                                                                           BPEL
                                                                                                                          Compiler
                                                                                                                                                 OModel
                                                                                                                                                                                         Modification
                                                                                                        BPEL Runtime

                                                                                               Axis2
                                                                                                                                                  Management &




                                                                                                               JACOB             DAOs
                                                                                                JBI
                                                                                                                                                     Events




                                                                                               SCA
                                                                                                                             Hiber        Open
                                                                                                              Scheduler
                                                                                                …                            nate          JPA




                                                                                                                                     DB
© IAAS                                                                                                                                                                                                                                                        5
Metamodel View
         Defining a XML-schema based metamodel for process
          instances

                            Activity                       Link             Defined using XML-
                Process (Modeling) Language (BPEL)                          Schema


Described by
                                   A3          e.g. Medication              Modeled using XML-
                            A1            A4
                Process Model      A2          Flow                         File

                                                                            Currently, instance is stored
                                   A3
Described by                A1            A4   e.g. Patient = Bill          in an engine dependent
                                   A2                                       format (e.g. Java objects
                Process Instance
                                                                            and/or database)

          What we want
          to add…                    Process
                                    Instance
                                                       XML-File containing a process
                                                       instance based on a well defined
                                    XML-File           format (XML-Schema)

 © IAAS                                                                                            6
Outline




         1   Introduction

         2   BPEL Related Stuff

         3   ODE Related Stuff




© IAAS                            7
Example
  Process Model       Process Instance      Process Instance XML
                                    id=1
                                           <bpelinstance id=quot;2quot;>
         Sequence          Sequence          <state>running</state>
                                    id=2     …
          Empty             Empty          </bpelinstance>

                                    id=3
          While             While
                                    id=4
          Flow              Flow
                                    id=5
         Invoke1           Invoke1
                    true
                                    id=6
         Invoke2           Invoke2
                                    id=7
                            Flow
                                    id=8
                           Invoke1
© IAAS                                                                8
Import and Export
                       Export                                 Import
       Trigger
                       Suspending     Export            Import     Resume
      Instance
                        Activities   Instance          Instance    Instance
     Suspension


        Idea: Import and export of suspended process instances
        Problems
            Suspending to a save state
            Suspension of Wait, Pick (Receive)
            Running request-response invocations
                 Maybe activity cannot be suspended
            Event Handler, FCT-Handling
            Which activities can be suspended? Which must be continued
             until completed state?
© IAAS                                                                        9
Instance Format – Possible Content
        Important content
            Activity instances (state, IDs, etc.)
            Variable data
            Message exchanges
                 Depends on Binding (JMS vs. HTTP)
            Correlation sets
            Link states
            Snapshots
            History
        Process Model must be integrated optionally
            Not sure whether process model is present at target engine


© IAAS                                                                    10
Models to be defined
        State model for BPEL
        Model for representing instances




© IAAS                                      11
Outline




         1   Introduction

         2   BPEL Related Stuff

         3   ODE Related Stuff




© IAAS                            12
ODE Implications
        Compiler
            Implicit scopes (E.g. invoke)
        Deployment
            Deployment descriptor
        State mapping
            Activity and process states
        ODE Extensions
            REST
            External variables
            …


© IAAS                                       13
Where to Collect Information about/within ODE
        Process Management API
            Using test process (long running wait activity)
        Code Review
            Process (Instance) States
        Debugging
            Using Management API and test process




© IAAS                                                         14
ODE Process (Instance) States
        Process States
            org.apache.ode.bpel.iapi.ProcessState
            ACTIVE
            RETIERED
            DISABLED
        Process Instance States
            org.apache.ode.bpel.common.ProcessState
            STATE_NEW = 0
            STATE_READY = 10
            STATE_ACTIVE = 20
            STATE_COMPLETED_OK = 30
            STATE_COMPLETED_WITH_FAULT = 40
            STATE_SUSPENDED = 50
            STATE_TERMINATED = 60
© IAAS                                                 15
ODE Activity Instance States
        org.apache.ode.bpel.pmapi.TActivityStatus
            static final Enum ENABLED = Enum.forString(quot;ENABLEDquot;);
            static final Enum STARTED = Enum.forString(quot;STARTEDquot;);
            static final Enum COMPLETED = Enum.forString(quot;COMPLETEDquot;);
            static final Enum FAILURE = Enum.forString(quot;FAILUREquot;);
             static final Enum DEAD = Enum.forString(quot;DEADquot;);




© IAAS                                                               16
ODE Scope Instance States
        org.apache.ode.bpel.dao.ScopeStateEnum
            ACTIVE
            FAULTED
            FAULTHANDLER
            COMPLETED
            COMPENSATING
            COMPENSATED




© IAAS                                            17
Management API – Activity Info
        getScopeInfoWithActivity
 <ns:activity-info>
   <ns:name>receiveInput</ns:name>
   <ns:type>OPickReceive</ns:type>
   <ns:aiid>3</ns:aiid>
   <ns:status>COMPLETED</ns:status>
   <ns:scope modelId=quot;0quot; name=quot;__PROCESS_SCOPE:Waitquot; siid=quot;201quot;/>
   <ns:dt-enabled>2009-04-08T13:34:01.760+02:00</ns:dt-enabled>
   <ns:dt-started>2009-04-08T13:34:01.760+02:00</ns:dt-started>
   <ns:dt-completed>2009-04-08T13:34:01.892+02:00</ns:dt-completed>
 </ns:activity-info>




© IAAS                                                                18
Management API – Instance Info
        getInstanceInfo
 <instance-info>
   <ns:iid xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>151</ns:iid>
   <ns:pid xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>{http://iaas.de}Wait-
 4</ns:pid>
   <ns:process-name xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;
 xmlns:iaas=quot;http://iaas.dequot;>iaas:Wait</ns:process-name>
   <ns:root-scope siid=quot;201quot; status=quot;ACTIVEquot; name=quot;__PROCESS_SCOPE:Waitquot; modelId=quot;3quot;
 xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;/>
   <ns:status xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>FAILED</ns:status>
   <ns:dt-started xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>2009-04-
 08T13:34:01.000+02:00</ns:dt-started>
   <ns:dt-last-active xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>2009-04-
 08T13:44:02.000+02:00</ns:dt-last-active>
   <ns:event-info xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;/>
   <ns:fault-info xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>
   <ns:name xmlns:exec=quot;http://docs.oasis-
 open.org/wsbpel/2.0/process/executablequot;>exec:uninitializedVariable</ns:name>
   <ns:explanation xsi:nil=quot;truequot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;/>
   <ns:line-number>65</ns:line-number>
   <ns:aiid>20</ns:aiid>
   </ns:fault-info>
 </instance-info>




© IAAS                                                                                          19
Literature
        Karastoyanova, Dimka; Khalaf, Rania; Schroth, Ralf;
         Paluszek, Michael; Leymann, Frank: BPEL Event
         Model, Technical Report No. 2006/10 (will be updated
         soon)




© IAAS                                                          20
End of Document

Contenu connexe

Similaire à Ode Instance Migration

Program Integration
Program IntegrationProgram Integration
Program Integration
edtichy
 
Les.sorge
Les.sorgeLes.sorge
Les.sorge
NASAPMC
 
Les.sorge
Les.sorgeLes.sorge
Les.sorge
NASAPMC
 
Soa config con8627_pdf_8627_0001
Soa config con8627_pdf_8627_0001Soa config con8627_pdf_8627_0001
Soa config con8627_pdf_8627_0001
jucaab
 
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, ParisPetals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
OW2
 
Warren.d.harrison.g
Warren.d.harrison.gWarren.d.harrison.g
Warren.d.harrison.g
NASAPMC
 
Presentation data center and cloud architecture
Presentation   data center and cloud architecturePresentation   data center and cloud architecture
Presentation data center and cloud architecture
xKinAnx
 

Similaire à Ode Instance Migration (20)

Program Integration
Program IntegrationProgram Integration
Program Integration
 
Les.sorge
Les.sorgeLes.sorge
Les.sorge
 
Les.sorge
Les.sorgeLes.sorge
Les.sorge
 
Soa config con8627_pdf_8627_0001
Soa config con8627_pdf_8627_0001Soa config con8627_pdf_8627_0001
Soa config con8627_pdf_8627_0001
 
DATE 2005 - OpenAccess Migration within Philips Semiconductor
DATE 2005 - OpenAccess Migration within Philips SemiconductorDATE 2005 - OpenAccess Migration within Philips Semiconductor
DATE 2005 - OpenAccess Migration within Philips Semiconductor
 
OW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the CloudOW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the Cloud
 
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, ParisPetals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
 
HowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 ServerHowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 Server
 
Metrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & HowMetrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & How
 
Enable Large Scale, High Volume Deployment For Enterprise Applications
Enable Large Scale, High Volume Deployment For Enterprise ApplicationsEnable Large Scale, High Volume Deployment For Enterprise Applications
Enable Large Scale, High Volume Deployment For Enterprise Applications
 
L0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformL0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse Platform
 
Avantage Enterprise Architecture
Avantage Enterprise ArchitectureAvantage Enterprise Architecture
Avantage Enterprise Architecture
 
Warren.d.harrison.g
Warren.d.harrison.gWarren.d.harrison.g
Warren.d.harrison.g
 
PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?
 
Avantage BPM Key Features
Avantage BPM Key FeaturesAvantage BPM Key Features
Avantage BPM Key Features
 
Сергей Кудряшов - Практика исследований
Сергей Кудряшов - Практика исследованийСергей Кудряшов - Практика исследований
Сергей Кудряшов - Практика исследований
 
Titan Technology Branding
Titan Technology BrandingTitan Technology Branding
Titan Technology Branding
 
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AGMastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
 
Presentation data center and cloud architecture
Presentation   data center and cloud architecturePresentation   data center and cloud architecture
Presentation data center and cloud architecture
 
Designing Silverlight
Designing SilverlightDesigning Silverlight
Designing Silverlight
 

Dernier

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
 

Dernier (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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 ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
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...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Ode Instance Migration

  • 1. ODE Instance Migration Hanna Eberle, Tammo van Lessen, Tobias Unger University of Stuttgart Institute of Architecture of Application Systems (IAAS) © IAAS 1
  • 2. Outline 1 Introduction 2 BPEL Related Stuff 3 ODE Related Stuff © IAAS 2
  • 3. Motivation  Migration  Update to an new ODE version  In mobile computing people takes their instances with them across devices and infrastructures  Modification  Adding additional steps to an already running instance  Adapting running instances to a new version of the process model  Distribution  Dynamic outsourcing of parts of already running instances  Function vs. Data shipping  In distribution and modification scenarios instance modification implies modification of process model © IAAS 3
  • 4. Approach  Problem  Each scenario requires sophisticated modifications of the ODE engine  Overlapping functionallity  Solutions  Generic instance format based on XML  ODE interface for importing and exporting instances  Components controlling modification, distribution, or migration can be realized separated from the ODE engine  ODE engine has to be modified only once © IAAS 4
  • 5. Vision Distribution Apache ODE BPEL OModel Compiler Process Instance BPEL Runtime Axis2 Management & JACOB DAOs JBI Events SCA Migration to other Server Hiber Open Scheduler … nate JPA DB Apache ODE Process Instance BPEL Apache ODE OModel Compiler BPEL OModel Compiler Process Instance BPEL Runtime BPEL Runtime Axis2 Axis2 Management & Management & JACOB DAOs JACOB DAOs JBI Events JBI Events SCA Hiber Open SCA Scheduler Hiber Open … nate JPA Scheduler … nate JPA DB DB Process Instance Process Instance Apache ODE BPEL Compiler OModel Modification BPEL Runtime Axis2 Management & JACOB DAOs JBI Events SCA Hiber Open Scheduler … nate JPA DB © IAAS 5
  • 6. Metamodel View  Defining a XML-schema based metamodel for process instances Activity Link Defined using XML- Process (Modeling) Language (BPEL) Schema Described by A3 e.g. Medication Modeled using XML- A1 A4 Process Model A2 Flow File Currently, instance is stored A3 Described by A1 A4 e.g. Patient = Bill in an engine dependent A2 format (e.g. Java objects Process Instance and/or database) What we want to add… Process Instance XML-File containing a process instance based on a well defined XML-File format (XML-Schema) © IAAS 6
  • 7. Outline 1 Introduction 2 BPEL Related Stuff 3 ODE Related Stuff © IAAS 7
  • 8. Example Process Model Process Instance Process Instance XML id=1 <bpelinstance id=quot;2quot;> Sequence Sequence <state>running</state> id=2 … Empty Empty </bpelinstance> id=3 While While id=4 Flow Flow id=5 Invoke1 Invoke1 true id=6 Invoke2 Invoke2 id=7 Flow id=8 Invoke1 © IAAS 8
  • 9. Import and Export Export Import Trigger Suspending Export Import Resume Instance Activities Instance Instance Instance Suspension  Idea: Import and export of suspended process instances  Problems  Suspending to a save state  Suspension of Wait, Pick (Receive)  Running request-response invocations  Maybe activity cannot be suspended  Event Handler, FCT-Handling  Which activities can be suspended? Which must be continued until completed state? © IAAS 9
  • 10. Instance Format – Possible Content  Important content  Activity instances (state, IDs, etc.)  Variable data  Message exchanges  Depends on Binding (JMS vs. HTTP)  Correlation sets  Link states  Snapshots  History  Process Model must be integrated optionally  Not sure whether process model is present at target engine © IAAS 10
  • 11. Models to be defined  State model for BPEL  Model for representing instances © IAAS 11
  • 12. Outline 1 Introduction 2 BPEL Related Stuff 3 ODE Related Stuff © IAAS 12
  • 13. ODE Implications  Compiler  Implicit scopes (E.g. invoke)  Deployment  Deployment descriptor  State mapping  Activity and process states  ODE Extensions  REST  External variables  … © IAAS 13
  • 14. Where to Collect Information about/within ODE  Process Management API  Using test process (long running wait activity)  Code Review  Process (Instance) States  Debugging  Using Management API and test process © IAAS 14
  • 15. ODE Process (Instance) States  Process States  org.apache.ode.bpel.iapi.ProcessState  ACTIVE  RETIERED  DISABLED  Process Instance States  org.apache.ode.bpel.common.ProcessState  STATE_NEW = 0  STATE_READY = 10  STATE_ACTIVE = 20  STATE_COMPLETED_OK = 30  STATE_COMPLETED_WITH_FAULT = 40  STATE_SUSPENDED = 50  STATE_TERMINATED = 60 © IAAS 15
  • 16. ODE Activity Instance States  org.apache.ode.bpel.pmapi.TActivityStatus  static final Enum ENABLED = Enum.forString(quot;ENABLEDquot;);  static final Enum STARTED = Enum.forString(quot;STARTEDquot;);  static final Enum COMPLETED = Enum.forString(quot;COMPLETEDquot;);  static final Enum FAILURE = Enum.forString(quot;FAILUREquot;);  static final Enum DEAD = Enum.forString(quot;DEADquot;); © IAAS 16
  • 17. ODE Scope Instance States  org.apache.ode.bpel.dao.ScopeStateEnum  ACTIVE  FAULTED  FAULTHANDLER  COMPLETED  COMPENSATING  COMPENSATED © IAAS 17
  • 18. Management API – Activity Info  getScopeInfoWithActivity <ns:activity-info> <ns:name>receiveInput</ns:name> <ns:type>OPickReceive</ns:type> <ns:aiid>3</ns:aiid> <ns:status>COMPLETED</ns:status> <ns:scope modelId=quot;0quot; name=quot;__PROCESS_SCOPE:Waitquot; siid=quot;201quot;/> <ns:dt-enabled>2009-04-08T13:34:01.760+02:00</ns:dt-enabled> <ns:dt-started>2009-04-08T13:34:01.760+02:00</ns:dt-started> <ns:dt-completed>2009-04-08T13:34:01.892+02:00</ns:dt-completed> </ns:activity-info> © IAAS 18
  • 19. Management API – Instance Info  getInstanceInfo <instance-info> <ns:iid xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>151</ns:iid> <ns:pid xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>{http://iaas.de}Wait- 4</ns:pid> <ns:process-name xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot; xmlns:iaas=quot;http://iaas.dequot;>iaas:Wait</ns:process-name> <ns:root-scope siid=quot;201quot; status=quot;ACTIVEquot; name=quot;__PROCESS_SCOPE:Waitquot; modelId=quot;3quot; xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;/> <ns:status xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>FAILED</ns:status> <ns:dt-started xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>2009-04- 08T13:34:01.000+02:00</ns:dt-started> <ns:dt-last-active xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;>2009-04- 08T13:44:02.000+02:00</ns:dt-last-active> <ns:event-info xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;/> <ns:fault-info xmlns:ns=quot;http://www.apache.org/ode/pmapi/types/2006/08/02/quot;> <ns:name xmlns:exec=quot;http://docs.oasis- open.org/wsbpel/2.0/process/executablequot;>exec:uninitializedVariable</ns:name> <ns:explanation xsi:nil=quot;truequot; xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;/> <ns:line-number>65</ns:line-number> <ns:aiid>20</ns:aiid> </ns:fault-info> </instance-info> © IAAS 19
  • 20. Literature  Karastoyanova, Dimka; Khalaf, Rania; Schroth, Ralf; Paluszek, Michael; Leymann, Frank: BPEL Event Model, Technical Report No. 2006/10 (will be updated soon) © IAAS 20