SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Similar a ODE Instance Migration Techniques for Distribution, Modification and Updating

Program Integration
Program IntegrationProgram Integration
Program Integrationedtichy
 
Les.sorge
Les.sorgeLes.sorge
Les.sorgeNASAPMC
 
Les.sorge
Les.sorgeLes.sorge
Les.sorgeNASAPMC
 
Soa config con8627_pdf_8627_0001
Soa config con8627_pdf_8627_0001Soa config con8627_pdf_8627_0001
Soa config con8627_pdf_8627_0001jucaab
 
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 SemiconductorTim55Ehrler
 
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, ParisOW2
 
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 CloudChristophe Hamerling
 
HowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 ServerHowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 Serverekkehard gentz
 
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 & HowTKMG, Inc.
 
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 ApplicationsClever Moe
 
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 PlatformTonny Madsen
 
Avantage Enterprise Architecture
Avantage Enterprise ArchitectureAvantage Enterprise Architecture
Avantage Enterprise ArchitectureGeoffrey Long
 
Warren.d.harrison.g
Warren.d.harrison.gWarren.d.harrison.g
Warren.d.harrison.gNASAPMC
 
PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?Tonny Madsen
 
Avantage BPM Key Features
Avantage BPM Key FeaturesAvantage BPM Key Features
Avantage BPM Key FeaturesGeoffrey Long
 
Сергей Кудряшов - Практика исследований
Сергей Кудряшов - Практика исследованийСергей Кудряшов - Практика исследований
Сергей Кудряшов - Практика исследованийwud
 
Titan Technology Branding
Titan Technology BrandingTitan Technology Branding
Titan Technology BrandingTitan
 
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 AGHeiko Behrens
 
Presentation data center and cloud architecture
Presentation   data center and cloud architecturePresentation   data center and cloud architecture
Presentation data center and cloud architecturexKinAnx
 
Designing Silverlight
Designing SilverlightDesigning Silverlight
Designing SilverlightReagan Hwang
 

Similar a ODE Instance Migration Techniques for Distribution, Modification and Updating (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
 
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
 
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
 
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
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Último (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

ODE Instance Migration Techniques for Distribution, Modification and Updating

  • 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