SlideShare uma empresa Scribd logo
1 de 38
About me: Tammo van Lessen

          SOA/BPM Consultant
                    Working on Intalio|BPMS Server
                    Member of the BPMN 2.0 FTF
          Apache Software Foundation
                    Member
                    Apache ODE: PMC Chair, Committer
          Book author
                    German book about BPEL
          Researcher @ IAAS, University of Stuttgart



© Tammo van Lessen                                      3
The Talk Today

          Motivation for BPM
          BPM & IT
                    Business Process Lifecycle
                    Programming in the Small vs. Programming in the Large
                    Workflow Languages / Standards / Status Quo
          WS-BPEL concepts
          Summary




© Tammo van Lessen                                                           4
Business Processes: A Definition

          Hammer & Champy [1993]
                    “a collection of activities that takes one or more kinds of input
                     and creates an output that is of value to the customer.”
          Davenport [1992]
                    “a structured, measured set of activities designed to produce a
                     specific output for a particular customer or market. It implies a
                     strong emphasis on how work is done within an organization,
                     in contrast to a product focus’s emphasis on what. A process is
                     thus a specific ordering of work activities across time and
                     space, with a beginning and an end, and clearly defined inputs
                     and outputs: a structure for action. ... Taking a process
                     approach implies adopting the customer’s point of view.
                     Processes are the structure by which an organization does what
                     is necessary to produce value for its customers.”

© Tammo van Lessen                                                                       5
Motivation

          Modeling Business Processes
                    You understand what is happening in your organization.
                    You understand who is responsible for certain tasks.
                    You understand which resources are involved.
          Simulating Business Processes
                    You understand how your processes could be optimized.
                    You can identify bottlenecks, dead locks, waste of time and
                     resources.
          Executing Business Processes
                    You can automate parts of your business processes.
                    You can implement changes to your processes as you go.
          Monitor Business Processes
                    You can get a health status of your organization in real time.
          Optimize Business Processes
                    You can continuously improve your organization’s processes.

© Tammo van Lessen                                                                    6
Business Process Lifecycle



                                      Model




                     Optimize                      Implement




                           Monitor/
                                              Execute
                           Analyse


© Tammo van Lessen                                             7
Process == Product

          Best practice:
                    Take the customer’s point of view
                    Your process is your product and vice versa (on certain
                     levels)
                    Products can be composed of other products (recursion)
          Process Model:
                    Abstract view on how a product is
                     build/composed/manufactured
          Process Instance
                    Abstract view on a concrete product



© Tammo van Lessen                                                             8
Business Process Modelling Notation (BPMN 1.x)

          Notation for business experts to analyse, document
           and discuss business processes.
          Activities, Gateways, Events
          Control & Data flow (Sequence Flow, Data Objects)
          Organisational modelling (Pools, Lanes)




          No defined execution semantics!
          Calls for a technical language for business process
           automation
© Tammo van Lessen                                               9
Business Process Execution Language (BPEL)

          Standardized XML-based language for executable,
           technical business processes
          Hybrid language: block-structured & graph-based
          Well-defined execution language
                    No dead-locks, no lack-of-synchronization
                    Graphs must be acyclic
          Tied to concepts of SOA/Web Services
          No support for human activities

          No notation!

© Tammo van Lessen                                               10
BPMN + BPEL

          Established Approach
                    Business experts create BPMN models
                    IT experts translate them to BPEL in order to make them
                     executable


          Problem
                    Mapping BPMN to BPEL is not straight forward
                        Lax vs. strict semantics
                        Loops / Blocks
                        Lack of technical details in BPMN models
                    Roundtripping is difficult


© Tammo van Lessen                                                             11
Business Process Model and Notation (BPMN 2.0)

          Best of both worlds
                    A notation (subset) for BPEL
                    A meta model and execution semantics for BPMN
          Notational support for Choreographies
          BPMN 2.0 models
                    are now interchangeable
                    can be executed
                    can carry technical details




© Tammo van Lessen                                                   12
Mind the Gap

          BPMN 2.0 does not
           automatically bridge
           the Business/IT gap
          Don‘t entirely trust
           the business model
          Business model and
           technical model
           may diverge
          Be careful with
           blocking/non-
           blocking tasks

© Tammo van Lessen                13
How Much BPMN do you Need?

          BPMN is very complex
          Try to agree on subsets
          Discuss your models




                                     zur Muehlen, M.; Recker, J.: How much BPMN do you need?
                                     http://www.bpm-research.com/2008/03/03/how-much-bpmn-do-you-need/
© Tammo van Lessen                                                                                       14
Business Process
                        Execution



© Tammo van Lessen                      15
Different Kinds of BPMS (1)

          The “commercial” model
                    Standards-based
                    Proprietary extension
                    Closed-source
                    Typically well tested & supported
                    Often combined with consulting & support offerings
          The “open source” model
                    Standards-based and/or proprietary
                    Source code is available for free
                    Tech experts needed to get started
          The “commercial open source” model
                    Based on open source
                    Sell technical experience, glue code, consulting & support
                    E.g. Intalio, WSO2, Redhat,…
© Tammo van Lessen                                                                16
Different Kinds of BPMS (2)

          The “embedded” approach
                    Light-weight process engine
                    Can be easily integrated into your application
                    Java-centric
                    E.g. jBPM, Drools Flow, Activiti


          The “SOA” approach
                    Architecture typically more heavy-weight
                    Orchestrates services to achieve a higher business goal
                    Service implementation is hidden by an interface and is
                     exchangeable (mostly Web Services).
                    E.g. Apache ODE, IBM, Oracle, SAP,…
© Tammo van Lessen                                                             17
The Basis: Service Platform


                                                   Orchestration     Protocols            State
                                                                                                        Components
               Discovery, Negotiation, Agreement




                                                           Composite                    Atomic


                                                     Reliable                                             Quality
                                                                            Security     Transactions
                                                    Messaging                                            of Service


                                                     Interface + Bindings                Policy         Description

                                                               XML                      Non-XML         Messaging

                                                                           Transports                    Transport




© Tammo van Lessen , Frank Leymann
The Basis: Web Service Platform


                                                     WS-C, WS-CDL,
                                           BPEL                               WSRF
                                                      BPEL4Chor                              Components
                                              Composite                      Atomic
               UDDI, WS-A, WS-MEX, WSIL




                                                                                               Quality
                                          WSRM             WS-Security*     WS-AT, WS-BA,…
                                                                                              of Service


                                                  WSDL                     WS-Policy*        Description

                                             SOAP, WS-A                   JMS, RMI/IIOP      Messaging

                                          HTTP, SMTP, XMPP, TCP/IP, FTP, Tuple Spaces,…       Transport




© Tammo van Lessen , Frank Leymann
Why Orchestration?




                                     ???
                                           To achieve a business
                                           goal, you often need
                                           more than one service…


                                           Which to use, in which
                                           order, how to use them?




© Tammo van Lessen , Frank Leymann
Web Service Orchestration



                     BPEL!




© Tammo van Lessen , Frank Leymann
Process-based SOA



                                                                                                  Messages / Conversations

                                                          ESB / WS Gateway


                            PI                                 PI                                 PI
                                 PI                                 PI                                 PI
                                      PI                                 PI                                 PI
                                           PI                                 PI                                 PI
                                                PI                                 PI                                 PI
                                                     PI                                 PI                                 PI




                       PM                                 PM                                 PM

                     Process Engine
© Tammo van Lessen                                                                                                              22
The Programming Models

                                      Application
                                        Processes

                 Programming in
                    the Large
                                  Business                  Workflow
                                                            System


                                   Service Configuration


                     Deployment         pL EPR             Service Bus
                                         pT



                 Programming in
                                         IT
                                      Web Services

                                                             Service
                    the Small                               Container




© Tammo van Lessen
BPEL Concepts




© Tammo van Lessen                   24
What is BPEL?

          Business Process Execution Language
                    7/02 IBM & MS, 5/03 +BEA+SAP+Siebel, 4/07 OASIS Standard
          High-level programming language
          Recursive Model
          BPEL has native support for
                    Long running processes
                    Scalability
                    Concurrency
                    Message and instance correlation
                    Fault handling
                    Compensation based recovery
                    Phoenix behaviour
                    Most important: BPEL is standard and supported by most important
                     vendors.
          Defined Execution Semantics
          Abstract Processes (protocols, “views” on internal processes)

© Tammo van Lessen                                                                      25
BPEL 2.0 Activities

               Basic Activities                                              Structured Activities

                     receive       reply           invoke                        A               flow                        pick

                                                                                      B           C      M1 M2 … A

                     assign         validate
                                                                                          sequence                      forEach

                                                                                 1.       2. … N.            1.        2. … N.
                     throw          rethrow            exit

                                                                                             while                if-elseif-else
                                                                                                        c1        c2
                      compensate           compensateScope                            c                                  …


                                                                                      repeatUntil                        scope
                     wait
                                                                                             c



                      empty


                                                             extensionActivity




© Tammo van Lessen
BPEL Concepts: Variables & Partner Links

          Variables
                    Shared variables, statically typed via WSDL messages, XSD elements or
                     XSD types
                    “Global” process variables and “local” scoped variables
          Partner Links / Partner Link Types
                    Partner Links define “contract channels” between partners
                    Mutual call-back dependency
                    Associates interfaces (pTs) with roles
                    Partner Links define which partner takes which role
                     Key concept to enable asynchronous messaging!


                           Role 1 / myRole   Role 2 / partnerRole   “I expect from my partner
                                                                    an implementation of this!”


                      portType                         portType



© Tammo van Lessen                                                                                29
BPEL Concepts: Fault Handling & Compensation

          Fault Handling
                    Like in Java, enables alternative execution paths
                    Can trigger compensation
          Compensation
                    ACID Transactions are not applicable when dealing with
                     long running processes
                    Compensation-based recovery
                        Compensation Handler can reverse the work performed by an
                         already completed scope
                        Compensation Handler is “installed” after successful execution of a
                         scope
                        Compensation can only be triggered by
                         fault/compensation/termination handler of the enclosing scope

© Tammo van Lessen                                                                         30
BPEL Concepts: Fault Handling & Compensation




© Tammo van Lessen                          31
BPEL Concepts: Data Manipulation

          (Strong type system)
          No explicit data flow
          Assigning variable values
                    By receiving a message from a partner service
                    By invoking a partner service and storing the result into a
                     variable
                    Copying (parts) of variables into other variables
                        <assign>
                    Drawbacks: Quite cumbersome, requires often XSLT
                     Look at E4X and BPELJ



© Tammo van Lessen                                                                 32
BPEL Concepts: Modelling Styles

          Block structured modelling
                    Nesting of structured activities
                    Use of <flow> activity for parallelism
          Graph based modelling
                    <flow> activity with links                t1   t2


                    Transition conditions & join conditions             j

                    Dead-Path-Elimination
                    Acyclic graph to ensure sound execution
                     semantics
                    Loops can be realized with <while> /
                     <repeatUntil> / <forEach>


© Tammo van Lessen                                                           33
Message Correlation

          How can a messages be routed to the correct
           process instance?

          A process instance is assigned one or more keys
          Business data is used as key
                                                  Process 4
                                                 (0123,15)
                                  customerID
                                                         Process 3
                                  orderNumber           (0815,42)
                                                                Process 2
      Message 1                                                (4711,37)
                                                                       Process 1
                     4711   37                                        (0815,12)

      Message 2
                     0815   42



© Tammo van Lessen                                                                 34
BPEL Extensions

          BPEL4People/WS-HT                     BPEL4SWS
                    Support for Human               Support for Semantic
                     Tasks                            Web Services (Service
                    Standardization almost           Discovery)
                     done
                                                     Data Mediation
          BPEL-SPE
                                                 BPELlight
                    Support for sub-
                     processes                       WSDL-less BPEL
                    Autonomy is key                 Is about message
          BPELJ                                      exchanges
                    Use Java in BPEL            BPEL JS/E4X
                     Activities                      Use JavaScript/E4X for
                    Use Java types in BPEL           variable assignments

© Tammo van Lessen                                                             35
Summary

          Process-oriented thinking is key to benefit from
           service orientation
                    on a business level
                    on a technical level
                    recursive aggregation model helps to support any
                     granularity
          BPEL is
                    best suited for technical service orchestrations
                    tailormade for WS-* based environments




© Tammo van Lessen                                                      36
Apache ODE




© Tammo van Lessen                38
Apache ODE: Project Stats

          Open Source (Apache)
          ODE is widely deployed and being used in commercial
           projects
                    Intalio|BPMS
                    WSO2 BPS
                    Redhat/JBoss RiftSaw
                    Progress Fuse ESB
          BPEL compliance
                    Supports BPEL 1.1 & BPEL 2.0
                    http://ode.apache.org/ws-bpel-20-specification-
                     compliance.html
                    Runs on different platforms with different databases
                    Interoperable with existing tools
© Tammo van Lessen                                                          39
Apache ODE: Features

          Fast and scalable process engine
          Modular design & embeddable
          Lightweight ESB included
                    Supported protocols: SOAP via HTTP/JMS/SMTP/what ever
                     Axis2 can do, POX/HTTP
          Implicit Message Correlation
                    Via SOAP headers and WS-Addressing
          Different deployment scenarios
                    JBI, hot-deployment
          Robustness
                    Everything is internally executed within JTA/XA transactions
          Management and Auditing
© Tammo van Lessen                                                             40
Apache ODE: Architecture

          Modular and extensible
                                                                    Deployment                *.bpel, *.wsdl,
           architecture                                                 Unit                  deploy.xml


                    Deployment Strategy
                                              Apache ODE
                    Integration Layer                                  BPEL
                                                                                              OModel
                                                                       Compiler
                    Process and Instance
                     Management
                                                     BPEL Runtime
                    Data Access
                                            Axis2
                    Scheduler




                                                                                               Management &
                                                            JACOB             DAOs
                                             JBI




                                                                                                  Events
                    Event Processor        SCA
                                                                          Hiber        Open
                                                           Scheduler
                    Transaction Manager     …                            nate          JPA


                    Expressions
                                                                                  DB


© Tammo van Lessen                                                                                              41
Thank you for
      your attention!

      Questions?


© Tammo van Lessen      42

Mais conteúdo relacionado

Destaque

Detection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL PerspectiveDetection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL PerspectiveFrancis Palma
 
Activiti v6 UI (Activiti Community Day Paris 2015)
 Activiti v6 UI (Activiti Community Day Paris 2015)  Activiti v6 UI (Activiti Community Day Paris 2015)
Activiti v6 UI (Activiti Community Day Paris 2015) Joram Barrez
 
Introduction to business process execution language
Introduction to business process execution languageIntroduction to business process execution language
Introduction to business process execution languagePatel Saunak
 
Quality Assurance and Testing of Automated Business Processes
Quality Assurance and Testing of Automated Business ProcessesQuality Assurance and Testing of Automated Business Processes
Quality Assurance and Testing of Automated Business ProcessesTammo van Lessen
 
Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Tammo van Lessen
 
Formalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL lightFormalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL lightTammo van Lessen
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Joram Barrez
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...
Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...
Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...andreina1983
 
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?Guido Schmutz
 
Introducción a bpmn
Introducción a bpmnIntroducción a bpmn
Introducción a bpmnmayer2380
 
BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...
BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...
BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...GeneXus
 
Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...
Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...
Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...BDO Colombia
 
Proyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de NegociosProyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de NegociosLuis Alberto Grijalva
 

Destaque (20)

Detection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL PerspectiveDetection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL Perspective
 
Activiti v6 UI (Activiti Community Day Paris 2015)
 Activiti v6 UI (Activiti Community Day Paris 2015)  Activiti v6 UI (Activiti Community Day Paris 2015)
Activiti v6 UI (Activiti Community Day Paris 2015)
 
Introduction to business process execution language
Introduction to business process execution languageIntroduction to business process execution language
Introduction to business process execution language
 
Quality Assurance and Testing of Automated Business Processes
Quality Assurance and Testing of Automated Business ProcessesQuality Assurance and Testing of Automated Business Processes
Quality Assurance and Testing of Automated Business Processes
 
Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0Web Services Orchestration with BPEL 2.0
Web Services Orchestration with BPEL 2.0
 
Formalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL lightFormalizing Message Exchange Patterns using BPEL light
Formalizing Message Exchange Patterns using BPEL light
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015)
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
 
Logging & Metrics
Logging & Metrics  Logging & Metrics
Logging & Metrics
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Herramientas de Software para Proyectos BPM
Herramientas de Software para Proyectos BPMHerramientas de Software para Proyectos BPM
Herramientas de Software para Proyectos BPM
 
Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...
Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...
Cuadro Sinóptico Definitivo. Estrategias para el Procesamiento de Información...
 
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
 
Introducción a bpmn
Introducción a bpmnIntroducción a bpmn
Introducción a bpmn
 
BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...
BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...
BPM: desde los modelos a los sistemas basados en procesos de negocio ¿qué se ...
 
Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...
Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...
Webinar BDO 160914 - La Gestión por Procesos (BPM) como dimensión importante ...
 
Jerarquia de Procesos
Jerarquia de ProcesosJerarquia de Procesos
Jerarquia de Procesos
 
Enfoque basado en proceso
Enfoque basado en procesoEnfoque basado en proceso
Enfoque basado en proceso
 
Proyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de NegociosProyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de Negocios
 

Semelhante a Business Process Management with BPMN & BPEL

Oracle soa and e2.0 partner community forum bpm léon smiers share
Oracle soa and e2.0 partner community forum bpm léon smiers shareOracle soa and e2.0 partner community forum bpm léon smiers share
Oracle soa and e2.0 partner community forum bpm léon smiers shareLeon Smiers
 
Business Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process TransformationBusiness Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process TransformationNathaniel Palmer
 
Ssbpm
SsbpmSsbpm
SsbpmWSO2
 
What is BPM?
What is BPM?What is BPM?
What is BPM?BOC Group
 
Omg bpmn tutorial
Omg bpmn tutorialOmg bpmn tutorial
Omg bpmn tutorialuhuru1973
 
Nextgen Bpm End to End
Nextgen Bpm End to EndNextgen Bpm End to End
Nextgen Bpm End to EndTechnoPeers
 
The business analyst and bpm
The business analyst and bpmThe business analyst and bpm
The business analyst and bpmdotNFS
 
Enterprise Soa And Bpm
Enterprise Soa And BpmEnterprise Soa And Bpm
Enterprise Soa And BpmTerry Cho
 
Ultimate guide to_bpmn2_2016_edition_110716
Ultimate guide to_bpmn2_2016_edition_110716Ultimate guide to_bpmn2_2016_edition_110716
Ultimate guide to_bpmn2_2016_edition_110716yomito_2
 
Respond quickly to changing business needs–Business Process Management (BPM)
Respond quickly to changing business needs–Business Process Management (BPM)Respond quickly to changing business needs–Business Process Management (BPM)
Respond quickly to changing business needs–Business Process Management (BPM)Carly Snodgrass
 
Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11Paul Vincent
 
BPMN 2.0 Simulation Exectuive Briefing
BPMN 2.0 Simulation Exectuive BriefingBPMN 2.0 Simulation Exectuive Briefing
BPMN 2.0 Simulation Exectuive Briefingidabney
 
Bpms, Putting Business In The Driver’S Seat
Bpms, Putting Business In The Driver’S SeatBpms, Putting Business In The Driver’S Seat
Bpms, Putting Business In The Driver’S Seathanshantson
 
Pioneering a path to the future with JBoss Business Process Management
Pioneering a path to the future with JBoss Business Process ManagementPioneering a path to the future with JBoss Business Process Management
Pioneering a path to the future with JBoss Business Process ManagementEric D. Schabell
 
Business and IT Alignment in Corporate Banking
Business and IT Alignment in Corporate BankingBusiness and IT Alignment in Corporate Banking
Business and IT Alignment in Corporate BankingGherda Stephens
 

Semelhante a Business Process Management with BPMN & BPEL (20)

Bpmspark
BpmsparkBpmspark
Bpmspark
 
Oracle soa and e2.0 partner community forum bpm léon smiers share
Oracle soa and e2.0 partner community forum bpm léon smiers shareOracle soa and e2.0 partner community forum bpm léon smiers share
Oracle soa and e2.0 partner community forum bpm léon smiers share
 
Business Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process TransformationBusiness Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process Transformation
 
Ssbpm
SsbpmSsbpm
Ssbpm
 
What is BPM?
What is BPM?What is BPM?
What is BPM?
 
20100223 bpmn
20100223 bpmn20100223 bpmn
20100223 bpmn
 
Business Modeling and the Business Analyst
Business Modeling and the Business AnalystBusiness Modeling and the Business Analyst
Business Modeling and the Business Analyst
 
Omg bpmn tutorial
Omg bpmn tutorialOmg bpmn tutorial
Omg bpmn tutorial
 
Nextgen Bpm End to End
Nextgen Bpm End to EndNextgen Bpm End to End
Nextgen Bpm End to End
 
The business analyst and bpm
The business analyst and bpmThe business analyst and bpm
The business analyst and bpm
 
Enterprise Soa And Bpm
Enterprise Soa And BpmEnterprise Soa And Bpm
Enterprise Soa And Bpm
 
Ultimate guide to_bpmn2_2016_edition_110716
Ultimate guide to_bpmn2_2016_edition_110716Ultimate guide to_bpmn2_2016_edition_110716
Ultimate guide to_bpmn2_2016_edition_110716
 
Respond quickly to changing business needs–Business Process Management (BPM)
Respond quickly to changing business needs–Business Process Management (BPM)Respond quickly to changing business needs–Business Process Management (BPM)
Respond quickly to changing business needs–Business Process Management (BPM)
 
Ignite The Spark!
Ignite The Spark!Ignite The Spark!
Ignite The Spark!
 
Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11Intro to OMG DMN v2d may11
Intro to OMG DMN v2d may11
 
BPMN 2.0 Simulation Exectuive Briefing
BPMN 2.0 Simulation Exectuive BriefingBPMN 2.0 Simulation Exectuive Briefing
BPMN 2.0 Simulation Exectuive Briefing
 
Bpms, Putting Business In The Driver’S Seat
Bpms, Putting Business In The Driver’S SeatBpms, Putting Business In The Driver’S Seat
Bpms, Putting Business In The Driver’S Seat
 
BPM - better without the waterfall
BPM - better without the waterfall BPM - better without the waterfall
BPM - better without the waterfall
 
Pioneering a path to the future with JBoss Business Process Management
Pioneering a path to the future with JBoss Business Process ManagementPioneering a path to the future with JBoss Business Process Management
Pioneering a path to the future with JBoss Business Process Management
 
Business and IT Alignment in Corporate Banking
Business and IT Alignment in Corporate BankingBusiness and IT Alignment in Corporate Banking
Business and IT Alignment in Corporate Banking
 

Mais de Tammo van Lessen

Behavior-driven Business Process Development with BPMN
Behavior-driven Business Process Development with BPMNBehavior-driven Business Process Development with BPMN
Behavior-driven Business Process Development with BPMNTammo van Lessen
 
Vorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kann
Vorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kannVorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kann
Vorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kannTammo van Lessen
 
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterWeb Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterTammo van Lessen
 
Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...
Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...
Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...Tammo van Lessen
 
SOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODESOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODETammo van Lessen
 
Facilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4XFacilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4XTammo van Lessen
 
An Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business ProcessesAn Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business ProcessesTammo van Lessen
 

Mais de Tammo van Lessen (9)

Behavior-driven Business Process Development with BPMN
Behavior-driven Business Process Development with BPMNBehavior-driven Business Process Development with BPMN
Behavior-driven Business Process Development with BPMN
 
Vorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kann
Vorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kannVorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kann
Vorsicht Schuldenfalle - Was die IT aus der Finanzwelt lernen kann
 
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterWeb Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
 
BPM meets Semantic Web
BPM meets Semantic WebBPM meets Semantic Web
BPM meets Semantic Web
 
Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...
Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...
Virtualizing Services and Resources with ProBus: The WS-Policy-Aware Service...
 
SOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODESOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODE
 
Facilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4XFacilitating Rich Data Manipulation in BPEL using E4X
Facilitating Rich Data Manipulation in BPEL using E4X
 
BPM meets Semantic Web
BPM meets Semantic WebBPM meets Semantic Web
BPM meets Semantic Web
 
An Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business ProcessesAn Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business Processes
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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 SolutionsEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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 Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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 WorkerThousandEyes
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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...apidays
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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...
 

Business Process Management with BPMN & BPEL

  • 1.
  • 2. About me: Tammo van Lessen  SOA/BPM Consultant  Working on Intalio|BPMS Server  Member of the BPMN 2.0 FTF  Apache Software Foundation  Member  Apache ODE: PMC Chair, Committer  Book author  German book about BPEL  Researcher @ IAAS, University of Stuttgart © Tammo van Lessen 3
  • 3. The Talk Today  Motivation for BPM  BPM & IT  Business Process Lifecycle  Programming in the Small vs. Programming in the Large  Workflow Languages / Standards / Status Quo  WS-BPEL concepts  Summary © Tammo van Lessen 4
  • 4. Business Processes: A Definition  Hammer & Champy [1993]  “a collection of activities that takes one or more kinds of input and creates an output that is of value to the customer.”  Davenport [1992]  “a structured, measured set of activities designed to produce a specific output for a particular customer or market. It implies a strong emphasis on how work is done within an organization, in contrast to a product focus’s emphasis on what. A process is thus a specific ordering of work activities across time and space, with a beginning and an end, and clearly defined inputs and outputs: a structure for action. ... Taking a process approach implies adopting the customer’s point of view. Processes are the structure by which an organization does what is necessary to produce value for its customers.” © Tammo van Lessen 5
  • 5. Motivation  Modeling Business Processes  You understand what is happening in your organization.  You understand who is responsible for certain tasks.  You understand which resources are involved.  Simulating Business Processes  You understand how your processes could be optimized.  You can identify bottlenecks, dead locks, waste of time and resources.  Executing Business Processes  You can automate parts of your business processes.  You can implement changes to your processes as you go.  Monitor Business Processes  You can get a health status of your organization in real time.  Optimize Business Processes  You can continuously improve your organization’s processes. © Tammo van Lessen 6
  • 6. Business Process Lifecycle Model Optimize Implement Monitor/ Execute Analyse © Tammo van Lessen 7
  • 7. Process == Product  Best practice:  Take the customer’s point of view  Your process is your product and vice versa (on certain levels)  Products can be composed of other products (recursion)  Process Model:  Abstract view on how a product is build/composed/manufactured  Process Instance  Abstract view on a concrete product © Tammo van Lessen 8
  • 8. Business Process Modelling Notation (BPMN 1.x)  Notation for business experts to analyse, document and discuss business processes.  Activities, Gateways, Events  Control & Data flow (Sequence Flow, Data Objects)  Organisational modelling (Pools, Lanes)  No defined execution semantics!  Calls for a technical language for business process automation © Tammo van Lessen 9
  • 9. Business Process Execution Language (BPEL)  Standardized XML-based language for executable, technical business processes  Hybrid language: block-structured & graph-based  Well-defined execution language  No dead-locks, no lack-of-synchronization  Graphs must be acyclic  Tied to concepts of SOA/Web Services  No support for human activities  No notation! © Tammo van Lessen 10
  • 10. BPMN + BPEL  Established Approach  Business experts create BPMN models  IT experts translate them to BPEL in order to make them executable  Problem  Mapping BPMN to BPEL is not straight forward  Lax vs. strict semantics  Loops / Blocks  Lack of technical details in BPMN models  Roundtripping is difficult © Tammo van Lessen 11
  • 11. Business Process Model and Notation (BPMN 2.0)  Best of both worlds  A notation (subset) for BPEL  A meta model and execution semantics for BPMN  Notational support for Choreographies  BPMN 2.0 models  are now interchangeable  can be executed  can carry technical details © Tammo van Lessen 12
  • 12. Mind the Gap  BPMN 2.0 does not automatically bridge the Business/IT gap  Don‘t entirely trust the business model  Business model and technical model may diverge  Be careful with blocking/non- blocking tasks © Tammo van Lessen 13
  • 13. How Much BPMN do you Need?  BPMN is very complex  Try to agree on subsets  Discuss your models zur Muehlen, M.; Recker, J.: How much BPMN do you need? http://www.bpm-research.com/2008/03/03/how-much-bpmn-do-you-need/ © Tammo van Lessen 14
  • 14. Business Process Execution © Tammo van Lessen 15
  • 15. Different Kinds of BPMS (1)  The “commercial” model  Standards-based  Proprietary extension  Closed-source  Typically well tested & supported  Often combined with consulting & support offerings  The “open source” model  Standards-based and/or proprietary  Source code is available for free  Tech experts needed to get started  The “commercial open source” model  Based on open source  Sell technical experience, glue code, consulting & support  E.g. Intalio, WSO2, Redhat,… © Tammo van Lessen 16
  • 16. Different Kinds of BPMS (2)  The “embedded” approach  Light-weight process engine  Can be easily integrated into your application  Java-centric  E.g. jBPM, Drools Flow, Activiti  The “SOA” approach  Architecture typically more heavy-weight  Orchestrates services to achieve a higher business goal  Service implementation is hidden by an interface and is exchangeable (mostly Web Services).  E.g. Apache ODE, IBM, Oracle, SAP,… © Tammo van Lessen 17
  • 17. The Basis: Service Platform Orchestration Protocols State Components Discovery, Negotiation, Agreement Composite Atomic Reliable Quality Security Transactions Messaging of Service Interface + Bindings Policy Description XML Non-XML Messaging Transports Transport © Tammo van Lessen , Frank Leymann
  • 18. The Basis: Web Service Platform WS-C, WS-CDL, BPEL WSRF BPEL4Chor Components Composite Atomic UDDI, WS-A, WS-MEX, WSIL Quality WSRM WS-Security* WS-AT, WS-BA,… of Service WSDL WS-Policy* Description SOAP, WS-A JMS, RMI/IIOP Messaging HTTP, SMTP, XMPP, TCP/IP, FTP, Tuple Spaces,… Transport © Tammo van Lessen , Frank Leymann
  • 19. Why Orchestration? ??? To achieve a business goal, you often need more than one service… Which to use, in which order, how to use them? © Tammo van Lessen , Frank Leymann
  • 20. Web Service Orchestration BPEL! © Tammo van Lessen , Frank Leymann
  • 21. Process-based SOA Messages / Conversations ESB / WS Gateway PI PI PI PI PI PI PI PI PI PI PI PI PI PI PI PI PI PI PM PM PM Process Engine © Tammo van Lessen 22
  • 22. The Programming Models Application Processes Programming in the Large Business Workflow System Service Configuration Deployment pL EPR Service Bus pT Programming in IT Web Services Service the Small Container © Tammo van Lessen
  • 23. BPEL Concepts © Tammo van Lessen 24
  • 24. What is BPEL?  Business Process Execution Language  7/02 IBM & MS, 5/03 +BEA+SAP+Siebel, 4/07 OASIS Standard  High-level programming language  Recursive Model  BPEL has native support for  Long running processes  Scalability  Concurrency  Message and instance correlation  Fault handling  Compensation based recovery  Phoenix behaviour  Most important: BPEL is standard and supported by most important vendors.  Defined Execution Semantics  Abstract Processes (protocols, “views” on internal processes) © Tammo van Lessen 25
  • 25. BPEL 2.0 Activities Basic Activities Structured Activities receive reply invoke A flow pick B C M1 M2 … A assign validate sequence forEach 1. 2. … N. 1. 2. … N. throw rethrow exit while if-elseif-else c1 c2 compensate compensateScope c … repeatUntil scope wait c empty extensionActivity © Tammo van Lessen
  • 26. BPEL Concepts: Variables & Partner Links  Variables  Shared variables, statically typed via WSDL messages, XSD elements or XSD types  “Global” process variables and “local” scoped variables  Partner Links / Partner Link Types  Partner Links define “contract channels” between partners  Mutual call-back dependency  Associates interfaces (pTs) with roles  Partner Links define which partner takes which role Key concept to enable asynchronous messaging! Role 1 / myRole Role 2 / partnerRole “I expect from my partner an implementation of this!” portType portType © Tammo van Lessen 29
  • 27. BPEL Concepts: Fault Handling & Compensation  Fault Handling  Like in Java, enables alternative execution paths  Can trigger compensation  Compensation  ACID Transactions are not applicable when dealing with long running processes  Compensation-based recovery  Compensation Handler can reverse the work performed by an already completed scope  Compensation Handler is “installed” after successful execution of a scope  Compensation can only be triggered by fault/compensation/termination handler of the enclosing scope © Tammo van Lessen 30
  • 28. BPEL Concepts: Fault Handling & Compensation © Tammo van Lessen 31
  • 29. BPEL Concepts: Data Manipulation  (Strong type system)  No explicit data flow  Assigning variable values  By receiving a message from a partner service  By invoking a partner service and storing the result into a variable  Copying (parts) of variables into other variables  <assign>  Drawbacks: Quite cumbersome, requires often XSLT Look at E4X and BPELJ © Tammo van Lessen 32
  • 30. BPEL Concepts: Modelling Styles  Block structured modelling  Nesting of structured activities  Use of <flow> activity for parallelism  Graph based modelling  <flow> activity with links t1 t2  Transition conditions & join conditions j  Dead-Path-Elimination  Acyclic graph to ensure sound execution semantics  Loops can be realized with <while> / <repeatUntil> / <forEach> © Tammo van Lessen 33
  • 31. Message Correlation  How can a messages be routed to the correct process instance?  A process instance is assigned one or more keys  Business data is used as key Process 4 (0123,15) customerID Process 3 orderNumber (0815,42) Process 2 Message 1 (4711,37) Process 1 4711 37 (0815,12) Message 2 0815 42 © Tammo van Lessen 34
  • 32. BPEL Extensions  BPEL4People/WS-HT  BPEL4SWS  Support for Human  Support for Semantic Tasks Web Services (Service  Standardization almost Discovery) done  Data Mediation  BPEL-SPE  BPELlight  Support for sub- processes  WSDL-less BPEL  Autonomy is key  Is about message  BPELJ exchanges  Use Java in BPEL  BPEL JS/E4X Activities  Use JavaScript/E4X for  Use Java types in BPEL variable assignments © Tammo van Lessen 35
  • 33. Summary  Process-oriented thinking is key to benefit from service orientation  on a business level  on a technical level  recursive aggregation model helps to support any granularity  BPEL is  best suited for technical service orchestrations  tailormade for WS-* based environments © Tammo van Lessen 36
  • 34. Apache ODE © Tammo van Lessen 38
  • 35. Apache ODE: Project Stats  Open Source (Apache)  ODE is widely deployed and being used in commercial projects  Intalio|BPMS  WSO2 BPS  Redhat/JBoss RiftSaw  Progress Fuse ESB  BPEL compliance  Supports BPEL 1.1 & BPEL 2.0  http://ode.apache.org/ws-bpel-20-specification- compliance.html  Runs on different platforms with different databases  Interoperable with existing tools © Tammo van Lessen 39
  • 36. Apache ODE: Features  Fast and scalable process engine  Modular design & embeddable  Lightweight ESB included  Supported protocols: SOAP via HTTP/JMS/SMTP/what ever Axis2 can do, POX/HTTP  Implicit Message Correlation  Via SOAP headers and WS-Addressing  Different deployment scenarios  JBI, hot-deployment  Robustness  Everything is internally executed within JTA/XA transactions  Management and Auditing © Tammo van Lessen 40
  • 37. Apache ODE: Architecture  Modular and extensible Deployment *.bpel, *.wsdl, architecture Unit deploy.xml  Deployment Strategy Apache ODE  Integration Layer BPEL OModel Compiler  Process and Instance Management BPEL Runtime  Data Access Axis2  Scheduler Management & JACOB DAOs JBI Events  Event Processor SCA Hiber Open Scheduler  Transaction Manager … nate JPA  Expressions DB © Tammo van Lessen 41
  • 38. Thank you for your attention! Questions? © Tammo van Lessen 42