SlideShare uma empresa Scribd logo
1 de 17
OSGi-based Workflow Engine

Doreen Seider (German Aerospace Center (DLR))
OSGi DevCon London 2010


                                                                                                Slide 1
                                          OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Outline


  Background (Use Case, Platform Providing the Workflow Engine)


  OSGi-based Workflow Engine
      Characteristics of Workflows
      Usage of Declarative Service Concepts




                                                                                                      Slide 2
                                                OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Use Case: Preliminary design of new airplanes


  Involvement of many different technical disciplines
  Goal: Optimal global design


  Therefore: Coupling of tools from diverse disciplines needed




                                                                                                          Slide 3
                                                    OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Remote Component Environment (RCE)


                                 General purpose, distributed software integration platform
                                 Provision of base software components
                                 Based upon OSGi (Equinox) and Eclipse RCP
 Application-specific Software




                                                                                    Custom Bundles

                                             Tool A    Tool B                                  …


                                                                     Framework with provided Bundles
                                    RCE




                                               Workflow            GUI                 Data

                                               Privilege        Notification        Distribution




                                                                                                                                                      Slide 4
                                                                                                OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Remote Component Environment (RCE)
Distribution Bundle

   Each OSGi service is accessible from a remote RCE platform
   On each platform a proxy object for a remote service can be created




                              RCE




                                        RCE
                  RCE




                                                                                                          Slide 5
                                                    OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Characteristics of a Workflow
In the RCE Context

   Data-based control flow
   Data channels between components
        1 component consists of n inputs and m outputs
        1 output is linked with 0..1 input
   Configuration map for each component instance

                                                mess = „pong“
                                                count = 6


                          mess = „ping“
                          count = 17          Comp B

   Comp A               Comp B


                                              Comp C

                                                                                                         Slide 6
                                                   OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Function of a Workflow Engine


  Fit into the RCE distribution concept
 Expose components (and workflows) as OSGi services


  Manage basically available components
       Which are installed?
       How do they look like?
 Describe them declaratively


  Support multiple instantiation of components
 Provide them via Component Factories




                                                                                                       Slide 7
                                                 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Provision of Workflow Components


  Each workflow component is realized as DS Component Factory
  Service Component Description (of Comp B):

   <?xml version="1.0"?>
   <component factory="de.rcenvironment.rce.component" name="Comp B">
     <implementation class="de.rcenvironment.samples.CompB"/>
     <service>
       <provide interface="de.rcenvironment.rce.component.Component"/>
     </service>
     [properties]
   </component>




                                                                                                          Slide 8
                                                    OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Provision of Workflow Components


  Required information: inputs, outputs, expected configuration
  Declared as properties of the DS Service Component:

    <property name="component-inputs" type="String">
       myInputOne:java.lang.String
       myInputTwo:java.lang.Integer
    </property>

    [component-outputs]

    <property name="component-configuration" type="String">
        mess:java.lang.String
        count:java.lang.Integer
    </property>


                                                                                                             Slide 9
                                                       OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Management of Workflow Components
Workflow Component Registry

  Realized as DS Service Component
  Inject Component Factory of type de.rcenvironment.rce.component
  Custom bundle Manifest header: RCE-Component („auto-deploy“)

    <component name=„Workflow Component Registry">
         [..]
         <reference name="de.rcenvironment.rce.component"
              interface="org.osgi.service.component.ComponentFactory"
              bind="addComponentDescription"
              unbind="removeComponentDescription"
              cardinality="0..n"
              policy="dynamic"
              target="(component.factory=de.rcenvironment.rce.component)"/>
    </component>


                                                                                                           Slide 10
                                                      OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Management of Workflow Components
Workflow Component Registry

  How to differentiate diverse workflow components?
  - No way but instantiation in order to get the implementing class
  How to retrieve the required information (declared as properties)?
  - No way but instantiation in order to get the properties

  Bind method
       Instantiate component
       Pull all needed information to manage appropriate component
       Add component (model object) to registry
       Dispose component instance

  Unbind method
       Remove component (model object) from registry


                                                                                                         Slide 11
                                                    OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Creation of Workflows


  Retrieve all workflow components and its characteristics from the
  Workflow Component Registry




                                                                                                        Slide 12
                                                   OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Instantiation of Workflows


  Straightforward                       Iterations = 5                                   mess = „ping“
                                                                                         count = 17
        Instantiate components
        Connect in- and outputs       Comp A                                         Comp B
        Start components


  Noteworthy
       Instantiate component with additional property (unique ID)
       Register each workflow object as OSGi service (with unique ID)




                                                                                                              Slide 13
                                                         OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
In a Nutshell




                                                                     Slide 14
                OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
In a Nutshell




                                                                     Slide 15
                OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
In a Nutshell




                                                                     Slide 16
                OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
Questions or Suggestions?




                                                                                 Slide 17
                            OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010

Mais conteúdo relacionado

Mais procurados

Comp tia a+_session_14
Comp tia a+_session_14Comp tia a+_session_14
Comp tia a+_session_14
Niit Care
 
Comp tia a+_session_05
Comp tia a+_session_05Comp tia a+_session_05
Comp tia a+_session_05
Niit Care
 
Comp tia a+_session_13
Comp tia a+_session_13Comp tia a+_session_13
Comp tia a+_session_13
Niit Care
 
Comp tia a+_session_11
Comp tia a+_session_11Comp tia a+_session_11
Comp tia a+_session_11
Niit Care
 
Comp tia a+_session_02
Comp tia a+_session_02Comp tia a+_session_02
Comp tia a+_session_02
Niit Care
 

Mais procurados (15)

Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
 
Quality on Submit
Quality on SubmitQuality on Submit
Quality on Submit
 
Puppet for Junos
Puppet for JunosPuppet for Junos
Puppet for Junos
 
EZcall implementation_guide
EZcall implementation_guideEZcall implementation_guide
EZcall implementation_guide
 
Comp tia a+_session_14
Comp tia a+_session_14Comp tia a+_session_14
Comp tia a+_session_14
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?
 
Comp tia a+_session_05
Comp tia a+_session_05Comp tia a+_session_05
Comp tia a+_session_05
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFish
 
Objectif cloud
Objectif cloudObjectif cloud
Objectif cloud
 
Comp tia a+_session_13
Comp tia a+_session_13Comp tia a+_session_13
Comp tia a+_session_13
 
Aniketos effects plus_6sep_2012-v04
Aniketos effects plus_6sep_2012-v04Aniketos effects plus_6sep_2012-v04
Aniketos effects plus_6sep_2012-v04
 
Using OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan RellermeyerUsing OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan Rellermeyer
 
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
 
Comp tia a+_session_11
Comp tia a+_session_11Comp tia a+_session_11
Comp tia a+_session_11
 
Comp tia a+_session_02
Comp tia a+_session_02Comp tia a+_session_02
Comp tia a+_session_02
 

Semelhante a OSGi-based Workflow Engine

N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)
kvz
 
Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2
Amit Gatenyo
 
System analysis and design mobile inventory
System analysis and design mobile inventorySystem analysis and design mobile inventory
System analysis and design mobile inventory
Ahmed Zein
 
Research platform architecture
Research platform architectureResearch platform architecture
Research platform architecture
Pierre Menard
 

Semelhante a OSGi-based Workflow Engine (20)

OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Review
 
N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)
 
Continuous Delivery at Deli XL
Continuous Delivery at Deli XLContinuous Delivery at Deli XL
Continuous Delivery at Deli XL
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 
Javantura v3 - Rational Team Concert – integrated agile development and colla...
Javantura v3 - Rational Team Concert – integrated agile development and colla...Javantura v3 - Rational Team Concert – integrated agile development and colla...
Javantura v3 - Rational Team Concert – integrated agile development and colla...
 
[Serverless OpenHack Tokyo] Azure Serverless (English)
[Serverless OpenHack Tokyo] Azure Serverless (English)[Serverless OpenHack Tokyo] Azure Serverless (English)
[Serverless OpenHack Tokyo] Azure Serverless (English)
 
SynapseIndia mobile apps architecture
SynapseIndia mobile apps architectureSynapseIndia mobile apps architecture
SynapseIndia mobile apps architecture
 
Revised Adf security in a project centric environment
Revised Adf security in a project centric environmentRevised Adf security in a project centric environment
Revised Adf security in a project centric environment
 
Hybrid Applications
Hybrid ApplicationsHybrid Applications
Hybrid Applications
 
Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2Deploying Windows 7 With Configuration Manager 2007 R2
Deploying Windows 7 With Configuration Manager 2007 R2
 
Bi apps 11117
Bi apps 11117Bi apps 11117
Bi apps 11117
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data center
 
EJB Part-1
EJB Part-1EJB Part-1
EJB Part-1
 
System analysis and design mobile inventory
System analysis and design mobile inventorySystem analysis and design mobile inventory
System analysis and design mobile inventory
 
p2, modular provisioning for OSGi
p2, modular provisioning for OSGip2, modular provisioning for OSGi
p2, modular provisioning for OSGi
 
Advanced Serverless Computing in Azure: not another "Hello serverless World"!
Advanced Serverless Computing in Azure: not another "Hello serverless World"!Advanced Serverless Computing in Azure: not another "Hello serverless World"!
Advanced Serverless Computing in Azure: not another "Hello serverless World"!
 
COGNOS Vs OBIEE
COGNOS Vs OBIEECOGNOS Vs OBIEE
COGNOS Vs OBIEE
 
SSAS Azure RemoteApp
SSAS Azure RemoteAppSSAS Azure RemoteApp
SSAS Azure RemoteApp
 
Research platform architecture
Research platform architectureResearch platform architecture
Research platform architecture
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

OSGi-based Workflow Engine

  • 1. OSGi-based Workflow Engine Doreen Seider (German Aerospace Center (DLR)) OSGi DevCon London 2010 Slide 1 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 2. Outline Background (Use Case, Platform Providing the Workflow Engine) OSGi-based Workflow Engine Characteristics of Workflows Usage of Declarative Service Concepts Slide 2 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 3. Use Case: Preliminary design of new airplanes Involvement of many different technical disciplines Goal: Optimal global design Therefore: Coupling of tools from diverse disciplines needed Slide 3 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 4. Remote Component Environment (RCE) General purpose, distributed software integration platform Provision of base software components Based upon OSGi (Equinox) and Eclipse RCP Application-specific Software Custom Bundles Tool A Tool B … Framework with provided Bundles RCE Workflow GUI Data Privilege Notification Distribution Slide 4 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 5. Remote Component Environment (RCE) Distribution Bundle Each OSGi service is accessible from a remote RCE platform On each platform a proxy object for a remote service can be created RCE RCE RCE Slide 5 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 6. Characteristics of a Workflow In the RCE Context Data-based control flow Data channels between components 1 component consists of n inputs and m outputs 1 output is linked with 0..1 input Configuration map for each component instance mess = „pong“ count = 6 mess = „ping“ count = 17 Comp B Comp A Comp B Comp C Slide 6 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 7. Function of a Workflow Engine Fit into the RCE distribution concept  Expose components (and workflows) as OSGi services Manage basically available components Which are installed? How do they look like?  Describe them declaratively Support multiple instantiation of components  Provide them via Component Factories Slide 7 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 8. Provision of Workflow Components Each workflow component is realized as DS Component Factory Service Component Description (of Comp B): <?xml version="1.0"?> <component factory="de.rcenvironment.rce.component" name="Comp B"> <implementation class="de.rcenvironment.samples.CompB"/> <service> <provide interface="de.rcenvironment.rce.component.Component"/> </service> [properties] </component> Slide 8 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 9. Provision of Workflow Components Required information: inputs, outputs, expected configuration Declared as properties of the DS Service Component: <property name="component-inputs" type="String"> myInputOne:java.lang.String myInputTwo:java.lang.Integer </property> [component-outputs] <property name="component-configuration" type="String"> mess:java.lang.String count:java.lang.Integer </property> Slide 9 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 10. Management of Workflow Components Workflow Component Registry Realized as DS Service Component Inject Component Factory of type de.rcenvironment.rce.component Custom bundle Manifest header: RCE-Component („auto-deploy“) <component name=„Workflow Component Registry"> [..] <reference name="de.rcenvironment.rce.component" interface="org.osgi.service.component.ComponentFactory" bind="addComponentDescription" unbind="removeComponentDescription" cardinality="0..n" policy="dynamic" target="(component.factory=de.rcenvironment.rce.component)"/> </component> Slide 10 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 11. Management of Workflow Components Workflow Component Registry How to differentiate diverse workflow components? - No way but instantiation in order to get the implementing class How to retrieve the required information (declared as properties)? - No way but instantiation in order to get the properties Bind method Instantiate component Pull all needed information to manage appropriate component Add component (model object) to registry Dispose component instance Unbind method Remove component (model object) from registry Slide 11 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 12. Creation of Workflows Retrieve all workflow components and its characteristics from the Workflow Component Registry Slide 12 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 13. Instantiation of Workflows Straightforward Iterations = 5 mess = „ping“ count = 17 Instantiate components Connect in- and outputs Comp A Comp B Start components Noteworthy Instantiate component with additional property (unique ID) Register each workflow object as OSGi service (with unique ID) Slide 13 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 14. In a Nutshell Slide 14 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 15. In a Nutshell Slide 15 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 16. In a Nutshell Slide 16 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010
  • 17. Questions or Suggestions? Slide 17 OSGi-based Workflow Engine > Doreen Seider > February 22nd 2010