SlideShare a Scribd company logo
1 of 41
Download to read offline
Practical Process Orchestration using
Eclipse SOA



      Dr. Dietmar Wolz



       Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Agenda




          Introduction
          Process Orchestration in Swordfish
          Sample scenario
          Eclipse BPEL Editor
          Demo




2              Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Agenda




          Introduction
          Process Orchestration in Swordfish
          Sample scenario
          Eclipse BPEL Editor
          Demo




3             Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
What is Swordfish?



     Swordfish is the codename of the Eclipse SOA Runtime
      Framework Project (under the Runtime top level project)

     Mission: Create a flexible and modular SOA runtime framework
      that can be complemented by other components – both open
      source and commercial – to create a full-fledged Enterprise
      Service Bus.

     Swordfish builds upon existing proven open source SOA
      technology and extends it with enterprise features such as service
      registry integration, remote configuration and monitoring
      capabilities.



4                Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Swordfish builds upon proven open
source ESB technology, extending it
with enterprise features




                                                        .




5             Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
How to implement Services in
Swordfish?

     Swordfish is a framework – there's no single way to implement
      services with Swordfish

     The options currently available include:
        BPEL (requires the Apache ODE BPEL Engine to be installed as a plugin)
        Java using JAX-WS (requires Apache CXF to be installed as a plugin)
        Java using low-level JBI APIs

     Swordfish is based on Equinox, so everything you deploy into
      Swordfish must be packaged into an OSGi bundle.




6                  Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Agenda




          Introduction
          Process Orchestration in Swordfish
          Sample scenario
          Eclipse BPEL Editor
          Demo




7             Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Composite Services in Swordfish




8             Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Why to use BPEL?


     Industry standard language for expressing business processes

     Business services can be designed to be process-agnostic

     The BPEL process manages and coordinates the state

     Designed to fit naturally into the Web services stack

     Uses and extends WSDL 1.1

     Expressed entirely in XML

     Provides and consumes Web services in an abstract way, using
      WSDL to define service interfaces


9                  Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
BPEL features

  Parallel processing

  Delayed execution - persisting process state

  Concurrent/selective event processing

  Asynchronous execution

  Message correlation

  Data manipulation - XPath based

  Data validation

  Scoped error handling / compensation handlers

  Dynamic Endpoint Resolution

  Extendable - for example XSLT transformations

10                   Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Swordfish features (will be extended)

  Events / Monitoring
      The Swordfish Event API builds upon the OSGi EventAdmin Service

  Configuration (local/remotely)
      The Configuration API builds upon the OSGi ConfigurationAdmin service
      A ConfigurationAgent receives configurations from a ConfigurationSource
       (possibly a remote one) and provides them to other components through the
       OSGi Configuration Admin service
      A component that implements ConfigurationConsumer receives updated
       configurations as they become available

  Dynamic Endpoint Resolution / Service Discovery
      The Service Resolver API builds upon the general interceptor API
      The ServiceResolverInterceptor is reponsible for translating the (logical)
       service interface name carried inside a message exchange into a physical
       endpoint

11                Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Dynamic Service Discovery




12           Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Process-Tooling

                                                                            Service
                                                                          Registry/
                       Service Discovery/
                                                                         File System
                         WSDL Import


      Eclipse BPEL
          Editor
                                               Deployment



                                                                  Apache ODE
                                                                 JBI Service Unit

13        Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Swordfish-Tooling




14         Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
BPEL Editor for Ganymede/Gallileo
- check the Swordfish Wiki
     http://wiki.eclipse.org/Swordfish_Documentation:_Installing_BPEL_Editor_in_Ganymede




15                    Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
BPEL – WSDL - PartnerLinks




                                       BPEL-Process
                            Partner                                    Partner
                                                                                                                  Service
Process
                            Link                                       Link                                       Provider
Consumer                                                                                       invokes
                            inbound                                    outbound
           calls


                                                     import


                                    abstract                      abstract
                                    WSDL                          WSDL
                                    inbound                       outbound


16                 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Process Execution



                                                                                                      Process
                                        BPEL-Process
                                                                                                      Execution


            calls
 Process
 Consumer

                                                                                             invokes
                                                                                                                 Service
                                                                                                                 Provider
            replies




17                  Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Standard JBI deployment

                                             Inbound
        Swordfish/                         http-binding
         SMIX 4                          JBI Service Unit


                                          Apache ODE                                                  NMR
          external                                                                                   internal
                                         JBI Service Unit
         endpoints                                                                                  endpoints


                                             Outbound
                                            http-binding
                                          JBI Service Unit


18                   Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Alternative deployment

                                         Inbound
                                       http-binding
       Swordfish/
                                     JBI Service Unit
        SMIX 4

                                       Apache ODE                                                  NMR
         external                                                                                 internal
                                      JBI Service Unit
        endpoints                                                                                endpoints



                                   Swordfish
                           ServiceResolverInterceptor



19              Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Agenda




          Introduction
          Process Orchestration in Swordfish
          Sample scenario
          Eclipse BPEL Editor
          Demo




20            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Flight Reservation Service Process




                              Reservation Service
                              BPEL-Process
                        Partner                                       Partner                                 Reservation
Reservation
                                                                                                              Storage
                        Link                                          Link
Service
                                                                                                              Service
                                                                                             invokes
                        Reservation                                   Storage
Consumer calls
                                                                                                              Provider

                                                   import


                            WSDL                                WSDL
                            Reservation                         Storage



21               Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Flight Reservation Service WSDLs




                       invokes




22            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Physical Endpoints are not specified
    in the Process Description




       Physical Endpoints are either
           defined in the http-binding SU
           or are provided dynamically by the
            Swordfish Service Resolver Interceptor


23            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Agenda




          Introduction
          Process Orchestration in Swordfish
          Sample scenario
          Eclipse BPEL Editor
          Demo




24            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The Reservation Process in the
             BPEL Editor




25              Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The BPEL source view




26           Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The missing view


   missing: a (really) human
    readable process DSL

   Intalio developed such a
    DSL called SimPEL

   a SimPEL compiler
    translates SimPEL code
    into BPEL

   Disadvantage: textual
    representation is not
    standardized



 27             Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Import a WSDL




28      Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Receive the Process Parameters




29           Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The providerRequest Variable




30            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The providerResponse Variable




31           Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The consumerRequest Variable




32           Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The consumerResponse Variable




33           Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The Inbound PartnerLink




34            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
The Outbound PartnerLink




35           Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Assigning Data




36      Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Invoke an External Web Service




37            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Deployment to Apache ODE




38          Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Customizing ODE log output




39            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Debugging / Tracing service calls


         Tracing outgoing service calls using httptracer




40               Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
Agenda




          Introduction
          Process Orchestration in Swordfish
          Sample scenario
          Eclipse BPEL Editor
          Demo




41            Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0

More Related Content

Viewers also liked

S&OP and Strategy Alignment APICS IBF Jun 2016
S&OP and Strategy Alignment APICS IBF Jun 2016S&OP and Strategy Alignment APICS IBF Jun 2016
S&OP and Strategy Alignment APICS IBF Jun 2016Michel Nachbar, MBA
 
Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1
Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1 Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1
Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1 Plan4Demand
 
SITIST 2016 Dev - SAP API Management
SITIST 2016 Dev - SAP API ManagementSITIST 2016 Dev - SAP API Management
SITIST 2016 Dev - SAP API Managementsitist
 
SAP Logistics - CS - Standard Process & Configuration document
SAP Logistics - CS - Standard Process & Configuration documentSAP Logistics - CS - Standard Process & Configuration document
SAP Logistics - CS - Standard Process & Configuration documentSubhrajyoti (Subhra) Bhattacharjee
 
Integrated business planning
Integrated business planningIntegrated business planning
Integrated business planningGenpact Ltd
 
Demand planning session
Demand planning sessionDemand planning session
Demand planning sessionAlfaPeople US
 

Viewers also liked (6)

S&OP and Strategy Alignment APICS IBF Jun 2016
S&OP and Strategy Alignment APICS IBF Jun 2016S&OP and Strategy Alignment APICS IBF Jun 2016
S&OP and Strategy Alignment APICS IBF Jun 2016
 
Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1
Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1 Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1
Demand Planning Leadership Exchange: 10 Tips for SAP DP | Part 1
 
SITIST 2016 Dev - SAP API Management
SITIST 2016 Dev - SAP API ManagementSITIST 2016 Dev - SAP API Management
SITIST 2016 Dev - SAP API Management
 
SAP Logistics - CS - Standard Process & Configuration document
SAP Logistics - CS - Standard Process & Configuration documentSAP Logistics - CS - Standard Process & Configuration document
SAP Logistics - CS - Standard Process & Configuration document
 
Integrated business planning
Integrated business planningIntegrated business planning
Integrated business planning
 
Demand planning session
Demand planning sessionDemand planning session
Demand planning session
 

Similar to Eclipse Con2009 Practical Process Orchestration

Bpel And OSGi
Bpel And OSGi Bpel And OSGi
Bpel And OSGi zoppello
 
Bpel And Osgi
Bpel And OsgiBpel And Osgi
Bpel And Osgizoppello
 
Bpel And OSGi
Bpel And OSGi Bpel And OSGi
Bpel And OSGi zoppello
 
BPEL & OSGi at EclipseCon 2010
BPEL & OSGi at EclipseCon 2010BPEL & OSGi at EclipseCon 2010
BPEL & OSGi at EclipseCon 2010SpagoWorld
 
ESE 2010 - eBPM - Business Process Management for OSGi
ESE 2010 - eBPM - Business Process Management for OSGiESE 2010 - eBPM - Business Process Management for OSGi
ESE 2010 - eBPM - Business Process Management for OSGiSpagoWorld
 
Smila ESE 2008
Smila ESE 2008Smila ESE 2008
Smila ESE 2008novakovic
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupDavid Bosschaert
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsSanjeev Sharma
 
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
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Reviewnjbartlett
 
VoLTE Testing Solution in NFV ecosystem
VoLTE Testing Solution in NFV ecosystemVoLTE Testing Solution in NFV ecosystem
VoLTE Testing Solution in NFV ecosystemDebayan Chaudhuri
 
Web sphere administration
Web sphere administrationWeb sphere administration
Web sphere administrationvenkatcgnm
 
Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Dataopenservices
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...VMware Tanzu
 
Delivering Eclipse Projects
Delivering Eclipse Projects Delivering Eclipse Projects
Delivering Eclipse Projects Genuitec, LLC
 

Similar to Eclipse Con2009 Practical Process Orchestration (20)

Bpel And OSGi
Bpel And OSGi Bpel And OSGi
Bpel And OSGi
 
Bpel And Osgi
Bpel And OsgiBpel And Osgi
Bpel And Osgi
 
Bpel And OSGi
Bpel And OSGi Bpel And OSGi
Bpel And OSGi
 
BPEL & OSGi at EclipseCon 2010
BPEL & OSGi at EclipseCon 2010BPEL & OSGi at EclipseCon 2010
BPEL & OSGi at EclipseCon 2010
 
ESE 2010 - eBPM - Business Process Management for OSGi
ESE 2010 - eBPM - Business Process Management for OSGiESE 2010 - eBPM - Business Process Management for OSGi
ESE 2010 - eBPM - Business Process Management for OSGi
 
Smila ESE 2008
Smila ESE 2008Smila ESE 2008
Smila ESE 2008
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert Group
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
F03-Cloud-Obiwee
F03-Cloud-ObiweeF03-Cloud-Obiwee
F03-Cloud-Obiwee
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
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
 
Riena onrap econ-2011
Riena onrap econ-2011Riena onrap econ-2011
Riena onrap econ-2011
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Review
 
VoLTE Testing Solution in NFV ecosystem
VoLTE Testing Solution in NFV ecosystemVoLTE Testing Solution in NFV ecosystem
VoLTE Testing Solution in NFV ecosystem
 
Beyond OSGi Software Architecture
Beyond OSGi Software ArchitectureBeyond OSGi Software Architecture
Beyond OSGi Software Architecture
 
Web sphere administration
Web sphere administrationWeb sphere administration
Web sphere administration
 
Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Data
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
Delivering Eclipse Projects
Delivering Eclipse Projects Delivering Eclipse Projects
Delivering Eclipse Projects
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
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
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Eclipse Con2009 Practical Process Orchestration

  • 1. Practical Process Orchestration using Eclipse SOA Dr. Dietmar Wolz Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 2. Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 2 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 3. Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 3 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 4. What is Swordfish?  Swordfish is the codename of the Eclipse SOA Runtime Framework Project (under the Runtime top level project)  Mission: Create a flexible and modular SOA runtime framework that can be complemented by other components – both open source and commercial – to create a full-fledged Enterprise Service Bus.  Swordfish builds upon existing proven open source SOA technology and extends it with enterprise features such as service registry integration, remote configuration and monitoring capabilities. 4 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 5. Swordfish builds upon proven open source ESB technology, extending it with enterprise features . 5 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 6. How to implement Services in Swordfish?  Swordfish is a framework – there's no single way to implement services with Swordfish  The options currently available include:  BPEL (requires the Apache ODE BPEL Engine to be installed as a plugin)  Java using JAX-WS (requires Apache CXF to be installed as a plugin)  Java using low-level JBI APIs  Swordfish is based on Equinox, so everything you deploy into Swordfish must be packaged into an OSGi bundle. 6 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 7. Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 7 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 8. Composite Services in Swordfish 8 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 9. Why to use BPEL?  Industry standard language for expressing business processes  Business services can be designed to be process-agnostic  The BPEL process manages and coordinates the state  Designed to fit naturally into the Web services stack  Uses and extends WSDL 1.1  Expressed entirely in XML  Provides and consumes Web services in an abstract way, using WSDL to define service interfaces 9 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 10. BPEL features  Parallel processing  Delayed execution - persisting process state  Concurrent/selective event processing  Asynchronous execution  Message correlation  Data manipulation - XPath based  Data validation  Scoped error handling / compensation handlers  Dynamic Endpoint Resolution  Extendable - for example XSLT transformations 10 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 11. Swordfish features (will be extended)  Events / Monitoring  The Swordfish Event API builds upon the OSGi EventAdmin Service  Configuration (local/remotely)  The Configuration API builds upon the OSGi ConfigurationAdmin service  A ConfigurationAgent receives configurations from a ConfigurationSource (possibly a remote one) and provides them to other components through the OSGi Configuration Admin service  A component that implements ConfigurationConsumer receives updated configurations as they become available  Dynamic Endpoint Resolution / Service Discovery  The Service Resolver API builds upon the general interceptor API  The ServiceResolverInterceptor is reponsible for translating the (logical) service interface name carried inside a message exchange into a physical endpoint 11 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 12. Dynamic Service Discovery 12 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 13. Process-Tooling Service Registry/ Service Discovery/ File System WSDL Import Eclipse BPEL Editor Deployment Apache ODE JBI Service Unit 13 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 14. Swordfish-Tooling 14 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 15. BPEL Editor for Ganymede/Gallileo - check the Swordfish Wiki http://wiki.eclipse.org/Swordfish_Documentation:_Installing_BPEL_Editor_in_Ganymede 15 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 16. BPEL – WSDL - PartnerLinks BPEL-Process Partner Partner Service Process Link Link Provider Consumer invokes inbound outbound calls import abstract abstract WSDL WSDL inbound outbound 16 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 17. Process Execution Process BPEL-Process Execution calls Process Consumer invokes Service Provider replies 17 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 18. Standard JBI deployment Inbound Swordfish/ http-binding SMIX 4 JBI Service Unit Apache ODE NMR external internal JBI Service Unit endpoints endpoints Outbound http-binding JBI Service Unit 18 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 19. Alternative deployment Inbound http-binding Swordfish/ JBI Service Unit SMIX 4 Apache ODE NMR external internal JBI Service Unit endpoints endpoints Swordfish ServiceResolverInterceptor 19 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 20. Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 20 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 21. Flight Reservation Service Process Reservation Service BPEL-Process Partner Partner Reservation Reservation Storage Link Link Service Service invokes Reservation Storage Consumer calls Provider import WSDL WSDL Reservation Storage 21 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 22. Flight Reservation Service WSDLs invokes 22 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 23. Physical Endpoints are not specified in the Process Description  Physical Endpoints are either  defined in the http-binding SU  or are provided dynamically by the Swordfish Service Resolver Interceptor 23 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 24. Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 24 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 25. The Reservation Process in the BPEL Editor 25 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 26. The BPEL source view 26 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 27. The missing view  missing: a (really) human readable process DSL  Intalio developed such a DSL called SimPEL  a SimPEL compiler translates SimPEL code into BPEL  Disadvantage: textual representation is not standardized 27 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 28. Import a WSDL 28 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 29. Receive the Process Parameters 29 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 30. The providerRequest Variable 30 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 31. The providerResponse Variable 31 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 32. The consumerRequest Variable 32 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 33. The consumerResponse Variable 33 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 34. The Inbound PartnerLink 34 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 35. The Outbound PartnerLink 35 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 36. Assigning Data 36 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 37. Invoke an External Web Service 37 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 38. Deployment to Apache ODE 38 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 39. Customizing ODE log output 39 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 40. Debugging / Tracing service calls  Tracing outgoing service calls using httptracer 40 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • 41. Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 41 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0