SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
 
                             
jBPM5 Community Training
    Sponsored by Plugtree
Module 1: jBPM5 Introduction

      jBPM5 Community Training
        version: 1.0-SNAPSHOT
       Release Date: 01/28/2011
  Under The Creative Common License
Module 1: jBPM5 Introduction

 jBPM5 Community Training Course by
 Mauricio "Salaboy" Salatino is licensed
 under a Creative Commons Attribution
           3.0 Unported License.
 Based on a work at salaboy.wordpress.
                   com.
  Permissions beyond the scope of this
    license may be available at http:
        //salaboy.wordpress.com/.
Agenda


jBPM Project History
jBPM5 Overview
jBPM5 Goals
Classic BPMS vs jBPM5 architecture (Competitors)
BPMN2 Standard
jBPM5 features
Developing Applications with jBPM5
Conclusions
jBPM Project History


jBPM 3.x borns as a BPMS (Business Process Management
System)
It was classified by JBoss as an integration software
Until jBPM 4.x Tom Baeyens was in charge of the project
Tom Baeyens quit JBoss and joins Alfresco
jBPM Project History (Drools)


Drools was born as a Rule Engine.
Mark Proctor is the current project leader.
In Drools version 4.x a new module appear called Drools
Flow.
The main idea behind Drools Flow was to provide BPMS
capabilities on top of the Rule Engine.
Kris Verlaenen, Phd was in charge of the Drools Flow
initiative, writing it from the scratch.
The main goal of Drools is to provide a platform where rules
and business processes can live, coexist and collaborate as
Knowledge Representations.
jBPM Project History


Drools Flow 5.x was released back in 2009
The rebranded version of Drools Flow, jBPM5 was
released on December of 2010
Provides a rock solid BPMS core and a flexible
mechanisms to implement the main stages of the BPM
discipline
Totally based on BPMN2
jBPM5 was conceived having in mind the code base of
Drools Flow and covering all the functionality provided
by jBPM 4.x
jBPM 5.x is a mature code base with more than 3 years of
development and several testing.
jBPM Project History


The main difference between jBPM5 and other BPMS's is
the fact that jBPM5 runs on top of Drools Expert (Rule
Engine), providing amazing features like:
   The possibility of doing inferences over our business
   processes
   Handling process exceptional paths using business
   rules
   Mixing Complex Event Processing, Rules and
   Processes together without learning a new API for
   each topic
jBPM5 Overview
jBPM5 Overview


It is a bridge between Business Analysts and Developers
Apache ASL Licensed
Central concept inside jBPM5: Business Process
BPMS = BPM System
     Design / Model (Eclipse Plug in - Web Based Editor)
     Execute (runtime to execute our processes)
     Monitor / Optimize (BAM and Reporting tools)
Tightly coupled with the rule engine
     allow us to represent complex situations (real life is
     complex)
Business Process


hmm.. but wait a second, What is a business process?


          "A sequence of activities,
      performed by humans or systems
        to complete a business goal"
Business Process Example

Simple Emergency Service Process
jBPM5 Features


It provides you a flexible platform for designing and
executing your business processes
It provides you an integrated set of APIs for the Rule
Engine, Process Engine and the Complex Event Processing
Engine
It provides you a platform to build our applications using
business processes to guide the company work
It provides you an abstraction about how your company's
activities are orchestrated
It provides a simple and automated mechanism to handle
information across activities
jBPM5 competitors

   Workflow          BPMS          BPMS
Execution Engine   jBPM 3.x   jBPM 4.x / Activiti
OSWorkflow


Workflow wf = new BasicWorkflow(username);
HashMap inputs = new HashMap();
inputs.put("docTitle", request.getParameter
("title"));
wf.doAction(1, 1, inputs);
jBPM 3.x


ProcessDefinition processDefinition = ProcessDefinition
                             .parseXmlResource("process-def.
xml");
ProcessInstance processInstance = new
                               ProcessInstance
(processDefinition);
processInstance. signal();
jBPM 4.x


ProcessEngine processEngine = new Configuration()
              .setResource(configurationResource)
              . buildProcessEngine();

ExecutionService executionService = processEngine
                                             .
getExecutionService();
executionService. startProcessInstanceByKey("simpleProcess");
Activiti5


ProcessEngine processEngine = new ProcessEngineBuilder()
          .configureFromPropertiesResource(configurationResource)
          . buildProcessEngine();

RuntimeService runtimeService = processEngine
                                             . getRuntimeService();
runtimeService. startProcessInstanceByKey("simpleProcess");
Classic BPMS and Rule Engine Interaction
Classic BPMS and Rule Engine Interaction


Drawbacks of the classic approach:

   The Rule Engine and the BPMS uses different APIs
   Sharing information between the Rule Engine and the
   BPMS becomes complicated and difficult to maintain
   Our Business Processes become very complex when we
   describe the exceptional paths using a process centric vision.
   We can leverage the declarative approach of business rules
   to describe exceptional situations.
Spaghetti BPEL of hell
Inversion of Control


Business Processes and Business Rules run on top of the
Rule Engine
Inversion of Control


Benefits:

   Tightly coupled design
   Process Centric vision for common branches
   Exceptions are handled in a cleaner way with rules
      Using a declarative approach
   No problems with communications and marshaling
   We don't need to learn different APIs
Once again, Business Process




       "A sequence of activities,
   performed by humans or systems
     to complete a business goal"
Business Process Structure


Directed Graph Composed of:
   Nodes (Activities)
   Connections (SequenceFlows)
       Outgoing and Incoming
Business Process Structure



Internal Structure:
   Process
      Node Container
          Node
Simple Process (BPMN2)

<process processType="executable" id="Sample" name="Sample Process" >
  <!-- nodes -->
  <startEvent id="_1" name="StartProcess"    />
  <scriptTask id="_3" name="Hello World"    >
    <script>System.out.println("Hello World!");</script>
  </scriptTask>
  <endEvent id="_2" name="End" >
      <terminateEventDefinition/>
  </endEvent>
  <!-- connections -->
  <sequenceFlow sourceRef="_3" targetRef="_2" />
  <sequenceFlow sourceRef="_1" targetRef="_3" />
</process>
Business Process Definitions

At runtime jBPM5 load the XML process definitions to
an Object Model that contains the process structure
Business Process Runtime

Based on the process structure that jBPM5 creates, we
can create new Processes Instances
These Processes Instances will represent living process
executions
Developing Applications


For developing applications with jBPM5 you will need to
know:
   Project library dependencies
   Understand the concept of KnowledgeBuilder,
   KnowledgeBase and KnowledgeSession
   Basic jBPM5 APIs
Project Dependencies


   Maven project dependencies of jBPM5 can be
   found at JBoss Maven Repositories:
    <repositories>
        <repository>
            <id>JBoss Maven Repo</id>
            <name>jboss</name>
            <url>https://repository.jboss.
org/nexus/content/groups/public/</url>
         </repository>
    </repositories>
Project Dependencies


The jBPM artifacts that you must use in your
projects are:
   <dependency>
       <groupId>org.jbpm</groupId>
       <artifactId>jbpm-flow</artifactId>
       <version>5.0-SNAPSHOT</version>
   </dependency>
   <dependency>
       <groupId>org.jbpm</groupId>
       <artifactId>jbpm-flow-builder</artifactId>
       <version>5.0-SNAPSHOT</version>
   </dependency>
   <dependency>
       <groupId>org.jbpm</groupId>
       <artifactId>jbpm-bpmn2</artifactId>
       <version>5.0-SNAPSHOT</version>
   </dependency>
KBase and KSession


Knowledge Base: it will represent a compiled and static
representation of our business assets. The knowledge base is
constructured using a Knowledge Builder that will compile our
knowledge assets into knowledge packages. The knowledge base
can be composed of 1..N knowledge packages.

Knowledge Session: it represent our runtime environment. A
knowledge session is created based on a knowledge base and it will
contain a living version (in memory) of our knowledge assets. Our
applications will interact with it. It will contain our processes and
rules running inside it.
Basic APIs


KnowledgeBuilder and KnowledgeBuilderFactory
KnowledgeBase and KnowledgeBaseFactory
StatefulKnowledgeSession
KnowledgeBuilder


It will compile our business assets into a binary and
optimized format
This process is expensive and must be avoided in production
systems
We usually build our packages once and then store the
binary result in a repository to reuse them
Useful methods
    add(KnowledgeResource resource, ResourceType type)
    getErrors()
    getKnowledgePackages()
KnowledgeBase


It will contain our Knowledge packages
It represents a static version of our knowledge assets
Useful methods
    addKnowledgePackage(KnowledgePackage)
    newStatefulKnowledgeSession()
StatefulKnowledgeSession


Easy and cheap to create
It will represent our runtime environment
Our processes will run inside a StatefulKnowledgeSession
Useful methods
    startProcess(String processId, Map parameters)
    signalEvent(String eventId, Object event, Long
    processId)
    For rules, insert, update, retract, fireAllRules()
    For events: getWorkingMemoryEntryPoint(String
    name)
We have learned ...


jBPM5 is a BPMS that runs on top of Drools Expert (Rule
Engine)
Knowing the project library dependencies and the jBPM5
artifact dependencies we can create our first jBPM5 project
Using the Basic APIs we can set up easily our runtime
environment
Stay tuned for the next modules that will explain important
topics such as:
    The Business Process Management Discipline
    The Business Process Modeling and Notation V2
    Human Interactions inside our processes
    etc.
Next Modules


Stay tuned for the next modules that will explain important
topics such as:
   The Business Process Management Discipline
   The Business Process Modeling and Notation V2
   Human Interactions inside our processes
   etc.
Related Links


You can find more information, examples, tutorials and
more in:
   Official documentation
      http://hudson.jboss.
      org/hudson/job/jBPM5/lastSuccessfulBuild/artifact/
      target/jbpm-5.0-SNAPSHOT-docs-build/jbpm-
      docs/html/index.html
   Blog Athico:
      http://blog.athico.com
   Salaboy Blog
      http://salaboy.wordpress.com
   Plug Tree Blog
      http://www.plugtree.com
Enjoy! and be patient for the first
Hands On Labs!
 
              
Questions?
 
                     
    Contact us at
www.plugtree.com

Weitere ähnliche Inhalte

Was ist angesagt?

Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Peter R. Egli
 
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPMEMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPMEric D. Schabell
 
BPM Standards - What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)
BPM Standards -  What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)BPM Standards -  What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)
BPM Standards - What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)Denis Gagné
 
Business Process Management with BPMN & BPEL
Business Process Management  with BPMN & BPELBusiness Process Management  with BPMN & BPEL
Business Process Management with BPMN & BPELTammo van Lessen
 
How to use BPMN* for modelling business processes
How to use BPMN* for modelling business processesHow to use BPMN* for modelling business processes
How to use BPMN* for modelling business processesAlexander SAMARIN
 
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...GBS PAVONE Groupware GmbH
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteDeclan Chellar
 
Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...
Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...
Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...Marlon Dumas
 
BPMN Process Modeling Levels
BPMN Process Modeling LevelsBPMN Process Modeling Levels
BPMN Process Modeling LevelsMax Tay
 
BPMN Introduction
BPMN IntroductionBPMN Introduction
BPMN Introductionejlp12
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationMichael zur Muehlen
 
Frank Leymann @ BPMN 2010
Frank Leymann @ BPMN 2010Frank Leymann @ BPMN 2010
Frank Leymann @ BPMN 2010bpmn2010
 
A Comparison of Cloud based ERP Systems
A Comparison of Cloud based ERP SystemsA Comparison of Cloud based ERP Systems
A Comparison of Cloud based ERP SystemsNakul Patel
 
15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5bguest4c12f7
 
15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5bguest4c12f7
 
15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5bguest4c12f7
 
BPMN + BPSim PEX Week 2014
BPMN + BPSim PEX Week 2014BPMN + BPSim PEX Week 2014
BPMN + BPSim PEX Week 2014Denis Gagné
 
From zero to_j_bpm_hero_tomek_bujok
From zero to_j_bpm_hero_tomek_bujokFrom zero to_j_bpm_hero_tomek_bujok
From zero to_j_bpm_hero_tomek_bujokTomek Bujok
 

Was ist angesagt? (20)

Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
 
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPMEMEA Partner Summit: 	jBPM 5 - Bringing More Power to BPM
EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM
 
BPM Standards - What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)
BPM Standards -  What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)BPM Standards -  What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)
BPM Standards - What is new in BPMN 2.0 and XPDL 2.2 (BBC 2011)
 
Business Process Management with BPMN & BPEL
Business Process Management  with BPMN & BPELBusiness Process Management  with BPMN & BPEL
Business Process Management with BPMN & BPEL
 
Omg bpmn tutorial
Omg bpmn tutorialOmg bpmn tutorial
Omg bpmn tutorial
 
How to use BPMN* for modelling business processes
How to use BPMN* for modelling business processesHow to use BPMN* for modelling business processes
How to use BPMN* for modelling business processes
 
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 Palette
 
Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...
Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...
Fundamentals of Business Process Management: A Quick Introduction to Value-Dr...
 
BPMN Process Modeling Levels
BPMN Process Modeling LevelsBPMN Process Modeling Levels
BPMN Process Modeling Levels
 
BPMN Introduction
BPMN IntroductionBPMN Introduction
BPMN Introduction
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process Innovation
 
Frank Leymann @ BPMN 2010
Frank Leymann @ BPMN 2010Frank Leymann @ BPMN 2010
Frank Leymann @ BPMN 2010
 
A Comparison of Cloud based ERP Systems
A Comparison of Cloud based ERP SystemsA Comparison of Cloud based ERP Systems
A Comparison of Cloud based ERP Systems
 
15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b
 
15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b
 
15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b15 2 Eleni Pm Lesson 5b
15 2 Eleni Pm Lesson 5b
 
BPMN + BPSim PEX Week 2014
BPMN + BPSim PEX Week 2014BPMN + BPSim PEX Week 2014
BPMN + BPSim PEX Week 2014
 
SAP Landscape
SAP Landscape SAP Landscape
SAP Landscape
 
From zero to_j_bpm_hero_tomek_bujok
From zero to_j_bpm_hero_tomek_bujokFrom zero to_j_bpm_hero_tomek_bujok
From zero to_j_bpm_hero_tomek_bujok
 

Ähnlich wie jBPM5 Community Training Course Overview

Streamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPMStreamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPMKris Verlaenen
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesKris Verlaenen
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5Oscar V
 
JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsAndrea Leoncini
 
All the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMSAll the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMSJBug Italy
 
jBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processesjBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processesKris Verlaenen
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayKris Verlaenen
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksKenneth Peeples
 
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEJBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEtsurdilovic
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info SheetMark Proctor
 
OSA03 Pourquoi choisir IBM pour vos projets BPM ?
OSA03 Pourquoi choisir IBM pour vos projets BPM ?OSA03 Pourquoi choisir IBM pour vos projets BPM ?
OSA03 Pourquoi choisir IBM pour vos projets BPM ?Nicolas Desachy
 
Integrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst applicationIntegrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst applicationGaneshNagalingam1
 
jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)Kris Verlaenen
 
JBoss jBPM, the future is now (YaJUG session)
JBoss jBPM, the future is now (YaJUG session)JBoss jBPM, the future is now (YaJUG session)
JBoss jBPM, the future is now (YaJUG session)Eric D. Schabell
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco WorkflowsFrancesco Valente
 
Singapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerSingapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerEric D. Schabell
 
JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)Eric D. Schabell
 

Ähnlich wie jBPM5 Community Training Course Overview (20)

Streamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPMStreamline your business processes and enhance productivity by using jBPM
Streamline your business processes and enhance productivity by using jBPM
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5
 
JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labs
 
All the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMSAll the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMS
 
jBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processesjBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processes
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss way
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service Works
 
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEJBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
 
OSA03 Pourquoi choisir IBM pour vos projets BPM ?
OSA03 Pourquoi choisir IBM pour vos projets BPM ?OSA03 Pourquoi choisir IBM pour vos projets BPM ?
OSA03 Pourquoi choisir IBM pour vos projets BPM ?
 
Integrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst applicationIntegrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst application
 
jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)
 
My Saminar On Php
My Saminar On PhpMy Saminar On Php
My Saminar On Php
 
BPMN2 and jBPM5
BPMN2 and jBPM5BPMN2 and jBPM5
BPMN2 and jBPM5
 
JBoss jBPM, the future is now (YaJUG session)
JBoss jBPM, the future is now (YaJUG session)JBoss jBPM, the future is now (YaJUG session)
JBoss jBPM, the future is now (YaJUG session)
 
IBM Business Process Management 8.5
IBM Business Process Management 8.5IBM Business Process Management 8.5
IBM Business Process Management 8.5
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco Workflows
 
Singapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerSingapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS Primer
 
JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)JBoss Brings More Power to your Business Processes (PTJUG)
JBoss Brings More Power to your Business Processes (PTJUG)
 

Mehr von Mauricio (Salaboy) Salatino

Lessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsMauricio (Salaboy) Salatino
 
Building Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfMauricio (Salaboy) Salatino
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdfMauricio (Salaboy) Salatino
 
The Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsMauricio (Salaboy) Salatino
 
Functions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfMauricio (Salaboy) Salatino
 
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022 Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022 Mauricio (Salaboy) Salatino
 
Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Mauricio (Salaboy) Salatino
 
Knative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateKnative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateMauricio (Salaboy) Salatino
 
CDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemCDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemMauricio (Salaboy) Salatino
 
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaA Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaMauricio (Salaboy) Salatino
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesMauricio (Salaboy) Salatino
 
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingMauricio (Salaboy) Salatino
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeMauricio (Salaboy) Salatino
 

Mehr von Mauricio (Salaboy) Salatino (20)

Devoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8sDevoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8s
 
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdfWTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
 
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
 
Building Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdf
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
 
The Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native Platforms
 
Functions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdf
 
JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)
 
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022 Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
 
Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`
 
KnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative FunctionsKnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative Functions
 
Knative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateKnative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and Update
 
CDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemCDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystem
 
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaA Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
 
Pave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal PlatformPave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal Platform
 
Knative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdfKnative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdf
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre Abstracciones
 
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
 
Intro to the Cloud with Knative (Spanish)
Intro to the Cloud with Knative (Spanish) Intro to the Cloud with Knative (Spanish)
Intro to the Cloud with Knative (Spanish)
 

jBPM5 Community Training Course Overview

  • 1.     jBPM5 Community Training Sponsored by Plugtree
  • 2. Module 1: jBPM5 Introduction jBPM5 Community Training version: 1.0-SNAPSHOT Release Date: 01/28/2011 Under The Creative Common License
  • 3. Module 1: jBPM5 Introduction jBPM5 Community Training Course by Mauricio "Salaboy" Salatino is licensed under a Creative Commons Attribution 3.0 Unported License. Based on a work at salaboy.wordpress. com. Permissions beyond the scope of this license may be available at http: //salaboy.wordpress.com/.
  • 4. Agenda jBPM Project History jBPM5 Overview jBPM5 Goals Classic BPMS vs jBPM5 architecture (Competitors) BPMN2 Standard jBPM5 features Developing Applications with jBPM5 Conclusions
  • 5. jBPM Project History jBPM 3.x borns as a BPMS (Business Process Management System) It was classified by JBoss as an integration software Until jBPM 4.x Tom Baeyens was in charge of the project Tom Baeyens quit JBoss and joins Alfresco
  • 6. jBPM Project History (Drools) Drools was born as a Rule Engine. Mark Proctor is the current project leader. In Drools version 4.x a new module appear called Drools Flow. The main idea behind Drools Flow was to provide BPMS capabilities on top of the Rule Engine. Kris Verlaenen, Phd was in charge of the Drools Flow initiative, writing it from the scratch. The main goal of Drools is to provide a platform where rules and business processes can live, coexist and collaborate as Knowledge Representations.
  • 7. jBPM Project History Drools Flow 5.x was released back in 2009 The rebranded version of Drools Flow, jBPM5 was released on December of 2010 Provides a rock solid BPMS core and a flexible mechanisms to implement the main stages of the BPM discipline Totally based on BPMN2 jBPM5 was conceived having in mind the code base of Drools Flow and covering all the functionality provided by jBPM 4.x jBPM 5.x is a mature code base with more than 3 years of development and several testing.
  • 8. jBPM Project History The main difference between jBPM5 and other BPMS's is the fact that jBPM5 runs on top of Drools Expert (Rule Engine), providing amazing features like: The possibility of doing inferences over our business processes Handling process exceptional paths using business rules Mixing Complex Event Processing, Rules and Processes together without learning a new API for each topic
  • 10. jBPM5 Overview It is a bridge between Business Analysts and Developers Apache ASL Licensed Central concept inside jBPM5: Business Process BPMS = BPM System Design / Model (Eclipse Plug in - Web Based Editor) Execute (runtime to execute our processes) Monitor / Optimize (BAM and Reporting tools) Tightly coupled with the rule engine allow us to represent complex situations (real life is complex)
  • 11. Business Process hmm.. but wait a second, What is a business process? "A sequence of activities, performed by humans or systems to complete a business goal"
  • 12. Business Process Example Simple Emergency Service Process
  • 13. jBPM5 Features It provides you a flexible platform for designing and executing your business processes It provides you an integrated set of APIs for the Rule Engine, Process Engine and the Complex Event Processing Engine It provides you a platform to build our applications using business processes to guide the company work It provides you an abstraction about how your company's activities are orchestrated It provides a simple and automated mechanism to handle information across activities
  • 14. jBPM5 competitors Workflow BPMS BPMS Execution Engine jBPM 3.x jBPM 4.x / Activiti
  • 15. OSWorkflow Workflow wf = new BasicWorkflow(username); HashMap inputs = new HashMap(); inputs.put("docTitle", request.getParameter ("title")); wf.doAction(1, 1, inputs);
  • 16. jBPM 3.x ProcessDefinition processDefinition = ProcessDefinition .parseXmlResource("process-def. xml"); ProcessInstance processInstance = new ProcessInstance (processDefinition); processInstance. signal();
  • 17. jBPM 4.x ProcessEngine processEngine = new Configuration() .setResource(configurationResource) . buildProcessEngine(); ExecutionService executionService = processEngine . getExecutionService(); executionService. startProcessInstanceByKey("simpleProcess");
  • 18. Activiti5 ProcessEngine processEngine = new ProcessEngineBuilder() .configureFromPropertiesResource(configurationResource) . buildProcessEngine(); RuntimeService runtimeService = processEngine . getRuntimeService(); runtimeService. startProcessInstanceByKey("simpleProcess");
  • 19. Classic BPMS and Rule Engine Interaction
  • 20. Classic BPMS and Rule Engine Interaction Drawbacks of the classic approach: The Rule Engine and the BPMS uses different APIs Sharing information between the Rule Engine and the BPMS becomes complicated and difficult to maintain Our Business Processes become very complex when we describe the exceptional paths using a process centric vision. We can leverage the declarative approach of business rules to describe exceptional situations.
  • 22. Inversion of Control Business Processes and Business Rules run on top of the Rule Engine
  • 23. Inversion of Control Benefits: Tightly coupled design Process Centric vision for common branches Exceptions are handled in a cleaner way with rules Using a declarative approach No problems with communications and marshaling We don't need to learn different APIs
  • 24. Once again, Business Process "A sequence of activities, performed by humans or systems to complete a business goal"
  • 25. Business Process Structure Directed Graph Composed of: Nodes (Activities) Connections (SequenceFlows) Outgoing and Incoming
  • 26. Business Process Structure Internal Structure: Process Node Container Node
  • 27. Simple Process (BPMN2) <process processType="executable" id="Sample" name="Sample Process" > <!-- nodes --> <startEvent id="_1" name="StartProcess" /> <scriptTask id="_3" name="Hello World" > <script>System.out.println("Hello World!");</script> </scriptTask> <endEvent id="_2" name="End" > <terminateEventDefinition/> </endEvent> <!-- connections --> <sequenceFlow sourceRef="_3" targetRef="_2" /> <sequenceFlow sourceRef="_1" targetRef="_3" /> </process>
  • 28. Business Process Definitions At runtime jBPM5 load the XML process definitions to an Object Model that contains the process structure
  • 29. Business Process Runtime Based on the process structure that jBPM5 creates, we can create new Processes Instances These Processes Instances will represent living process executions
  • 30. Developing Applications For developing applications with jBPM5 you will need to know: Project library dependencies Understand the concept of KnowledgeBuilder, KnowledgeBase and KnowledgeSession Basic jBPM5 APIs
  • 31. Project Dependencies Maven project dependencies of jBPM5 can be found at JBoss Maven Repositories: <repositories> <repository> <id>JBoss Maven Repo</id> <name>jboss</name> <url>https://repository.jboss. org/nexus/content/groups/public/</url> </repository> </repositories>
  • 32. Project Dependencies The jBPM artifacts that you must use in your projects are: <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-flow</artifactId> <version>5.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-flow-builder</artifactId> <version>5.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-bpmn2</artifactId> <version>5.0-SNAPSHOT</version> </dependency>
  • 33. KBase and KSession Knowledge Base: it will represent a compiled and static representation of our business assets. The knowledge base is constructured using a Knowledge Builder that will compile our knowledge assets into knowledge packages. The knowledge base can be composed of 1..N knowledge packages. Knowledge Session: it represent our runtime environment. A knowledge session is created based on a knowledge base and it will contain a living version (in memory) of our knowledge assets. Our applications will interact with it. It will contain our processes and rules running inside it.
  • 34. Basic APIs KnowledgeBuilder and KnowledgeBuilderFactory KnowledgeBase and KnowledgeBaseFactory StatefulKnowledgeSession
  • 35. KnowledgeBuilder It will compile our business assets into a binary and optimized format This process is expensive and must be avoided in production systems We usually build our packages once and then store the binary result in a repository to reuse them Useful methods add(KnowledgeResource resource, ResourceType type) getErrors() getKnowledgePackages()
  • 36. KnowledgeBase It will contain our Knowledge packages It represents a static version of our knowledge assets Useful methods addKnowledgePackage(KnowledgePackage) newStatefulKnowledgeSession()
  • 37. StatefulKnowledgeSession Easy and cheap to create It will represent our runtime environment Our processes will run inside a StatefulKnowledgeSession Useful methods startProcess(String processId, Map parameters) signalEvent(String eventId, Object event, Long processId) For rules, insert, update, retract, fireAllRules() For events: getWorkingMemoryEntryPoint(String name)
  • 38. We have learned ... jBPM5 is a BPMS that runs on top of Drools Expert (Rule Engine) Knowing the project library dependencies and the jBPM5 artifact dependencies we can create our first jBPM5 project Using the Basic APIs we can set up easily our runtime environment Stay tuned for the next modules that will explain important topics such as: The Business Process Management Discipline The Business Process Modeling and Notation V2 Human Interactions inside our processes etc.
  • 39. Next Modules Stay tuned for the next modules that will explain important topics such as: The Business Process Management Discipline The Business Process Modeling and Notation V2 Human Interactions inside our processes etc.
  • 40. Related Links You can find more information, examples, tutorials and more in: Official documentation http://hudson.jboss. org/hudson/job/jBPM5/lastSuccessfulBuild/artifact/ target/jbpm-5.0-SNAPSHOT-docs-build/jbpm- docs/html/index.html Blog Athico: http://blog.athico.com Salaboy Blog http://salaboy.wordpress.com Plug Tree Blog http://www.plugtree.com
  • 41. Enjoy! and be patient for the first Hands On Labs!
  • 42.     Questions?
  • 43.     Contact us at www.plugtree.com