jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011
-
Upload
salaboy-salaboy -
Category
Technology
-
view
2.705 -
download
2
description
Transcript of jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011
![Page 1: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/1.jpg)
Thursday, October 27, 11
![Page 2: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/2.jpg)
Agenda
• Introduction, why BPM?• Business Processes• BPM the discipline -> Main Stages• BPM Systems
• jBPM5 Components• Process Runtime (BPMN2 models)• Human Task Server (WS-HT Spec)• Tooling• Service Repository
• F.A.Q.
Thursday, October 27, 11
![Page 3: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/3.jpg)
What does Process mean for us?
Set of ordered actionsthat tends to transform an input
to a desired output
Thursday, October 27, 11
![Page 4: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/4.jpg)
What does Business mean for us?
Relative to a domain, company or a scoped scenario, where certain rules and actions needs to be applied
to achieve a goal.
Thursday, October 27, 11
![Page 5: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/5.jpg)
What does Business Goal mean for us?
Objective to be satisfied inside the business scope that gives to the company a profit/benefit in some way.
Thursday, October 27, 11
![Page 6: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/6.jpg)
Business Process
Sequence of actions
performed by
humans and systems
to achieve a
business goal
Thursday, October 27, 11
![Page 7: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/7.jpg)
Business Process Example
Thursday, October 27, 11
![Page 8: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/8.jpg)
Business Process Management
•Obviously when we have more than 2 Business Processes we need to manage them!
• History
•Main Stages
Thursday, October 27, 11
![Page 9: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/9.jpg)
Business Process Management History
•Was born more than 30 years ago
• Focused on improve how companies work
•Workflows, person to person interactions come first
• A business related approach come later with high level concepts
• The BPM discipline was created to provide a framework where business processes can be discovered and improved over the years
Thursday, October 27, 11
![Page 10: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/10.jpg)
Business Process Management Stages
• Stage #1: Discover (Quality)
• Stage #2: Formalize (Quality)
• Stage #3: Implement (Technical) -> Devs!!!
• Stage #4: Runtime (Technical) -> Devs!!!
• Stage #5: Monitor (Decision Making)
• Stage #6: Improve (Quality)
Thursday, October 27, 11
![Page 11: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/11.jpg)
BPM Cycle
Thursday, October 27, 11
![Page 12: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/12.jpg)
BPM Systems
• You can do the whole process with a pen and paper
•Or you can use a Business Process Management System
• It gives you a set of tools to implement each stage
•Developers needs to understand the key features of a Process Engine
•Developers needs to understand the tooling that the BPMS provides them
Thursday, October 27, 11
![Page 13: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/13.jpg)
jBPM5 Quick Overview
• It's a Business Process Management System
• It provides us the process engine
• It allows us to model our process using BPMN2
Thursday, October 27, 11
![Page 14: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/14.jpg)
jBPM5 Quick Overview
• It can be easily embedded in your applications or used as a service
• It will be responsible to handle the interaction between Human and Systems defined inside our business processes
• Focus: reduce the gap between developers and business analyst to model and execute business scenarios
Thursday, October 27, 11
![Page 15: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/15.jpg)
jBPM5 Components Overview
• jBPM5 Ecosystem • jBPM5 Runtime• BPMN2 Semantic Module• Core Business Process Engine• Persistence and Transaction Mechanism• History Logs
• jBPM5 Human Task Server • jBPM5 Service Repository• jBPM5 Tooling• jBPM5 Designer• jBPM5 Process Console• jBPM5 REST Process Server• jBPM5 BAM
Thursday, October 27, 11
![Page 16: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/16.jpg)
jBPM5 Core Overview (Process Perspective)
Thursday, October 27, 11
![Page 17: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/17.jpg)
Drools + jBPM5 Overview
Thursday, October 27, 11
![Page 18: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/18.jpg)
jBPM5 Runtime
• BPMN2 Semantic Module: it understands BPMN2 process definitions and lets us load our process definitions into the jBPM5 Runtime.
• Core Business Process Engine: it runs our Process Definitions. It provides a full set of APIs to interact and create our process instances.
• Persistence and Transaction Mechanism: it helps us to store the runtime status of our running processes
• History Logs: it stores all the activity that it's being executed in the engine.
Thursday, October 27, 11
![Page 19: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/19.jpg)
BPMN V2.0 Introduction
• Business Process Model and Notation V2
• Standard Specification created by the Object Management Group (OMG)
• Publicly released: 2011-01-03
•Define best practices for Business Process Model definitions and Business Process implementations based on industry expertise
Thursday, October 27, 11
![Page 20: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/20.jpg)
BPMN V2.0 Goals
•Defines a standard language to model business process that can be understood by:
• Business Analysts
• Technical IT people
• Business People
•Defines the execution semantics for that notation
Thursday, October 27, 11
![Page 21: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/21.jpg)
BPMN V2.0 Goals
• The specification it's divided into three main sections
• Process:
• Process Modeling
• Process Execution
• Collaboration
• Choreography
Thursday, October 27, 11
![Page 22: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/22.jpg)
jBPM5 Human Task Overview
Thursday, October 27, 11
![Page 23: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/23.jpg)
jBPM5 Human Task Server
• Pluggeable component to handle the human tasks life cycle
• Implements the Web Service Human Task specification -> http://incubator.apache.org/hise/WS-HumanTask_v1.pdf
• It defines the data structures to store information about the Human Tasks involved in our processes, without knowing about the process itself
• It defines the different states that a human task can have during the interaction
Thursday, October 27, 11
![Page 24: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/24.jpg)
jBPM5 Tooling Overview
Thursday, October 27, 11
![Page 25: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/25.jpg)
jBPM5 Tooling
• jBPM5 Designer: Graphical Process Designer that lets us define BPMN2 compliant business processes.
• jBPM5 Process Console: It lets us test and run our processes, providing us a runtime environment where we can interact with them.
Thursday, October 27, 11
![Page 26: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/26.jpg)
jBPM5 Tooling
• jBPM5 REST Process Server: It exposes the jBPM5 runtime through a REST interface to be able to interact with the runtime from different clients and programming languages.
• jBPM5 BAM: It provides us some widgets and reporting features to externalize, browse and aggregate information that it's being generated from the processes execution.
Thursday, October 27, 11
![Page 27: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/27.jpg)
jBPM5 Human Task Server
• Connectors for including domain specific activities
• Centralize in a repository the already created connectors
• Promotes reutilization
• Allows us to have a private repository with our private domain specific connectors
Thursday, October 27, 11
![Page 28: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/28.jpg)
jBPM5 Source Code
jBPM5 Source Code
http://www.github.com/droolsjbpm/jbpm
Get the code and build it!
> git clone https://github.com/..
> mvn clean install
Thursday, October 27, 11
![Page 29: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/29.jpg)
How BPM fits for everyone
• Business processes represent
• The steps required to do a specific work
• Great for End Users, New End Users and Managers
• How to coordinate systems (Systems Integration) and human interactions
• Great for developers and re-utilization
• End Users will end up with an Unified User Interface
•Developers will have an unified way of doing new developments/adding functionality
Thursday, October 27, 11
![Page 30: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/30.jpg)
How BPM fits for everyone
Thursday, October 27, 11
![Page 31: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/31.jpg)
How BPM fits for End Users
• Task Lists Oriented User Interfaces
• It's easy to know what tasks have each role inside the company
• Just one way of doing things, unified, in the same place
• The task lists guide you through your tasks
Thursday, October 27, 11
![Page 32: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/32.jpg)
How BPM fits for End Users (Task List)
Thursday, October 27, 11
![Page 33: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/33.jpg)
How BPM fits for End Users (Task Form)
Thursday, October 27, 11
![Page 34: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/34.jpg)
How BPM fits for Developers
• Easy to maintain
•Decoupled from the application code
• Encourage re-utilization of the communication mechanisms and connectors
• Changes in the business processes don't affect the application neither the UI
Thursday, October 27, 11
![Page 35: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/35.jpg)
How BPM fits for Developers
Thursday, October 27, 11
![Page 36: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/36.jpg)
How BPM fits for Developers
• Developers will be in charge of:
• Create connectors for different applications (or use the ESB and configure each new system)
• Store the connectors in a centralized repository
•Define the technical aspects for each task type interface
• Configure the environment to run the business processes
•Maintain the business process definition technical assets
Thursday, October 27, 11
![Page 37: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/37.jpg)
References
JBoss Community
http://www.jbpm.org
Salaboy Blog
http://salaboy.wordpress.com
Esteban Blog
http://ilesteban.wordpress.com
Plug Tree Blog
http://www.plugtree.com
Thursday, October 27, 11
![Page 38: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/38.jpg)
Questions?
Thursday, October 27, 11
![Page 39: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011](https://reader034.fdocuments.us/reader034/viewer/2022052617/54622a73b1af9fba388b4cc8/html5/thumbnails/39.jpg)
Thursday, October 27, 11