2. 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
3. What does Process mean for us?
Set of ordered actions
that tends to transform an input
to a desired output
Thursday, October 27, 11
4. 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
5. 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
6. Business Process
Sequence of actions
performed by
humans and systems
to achieve a
business goal
Thursday, October 27, 11
8. Business Process Management
• Obviously when we have more than 2 Business Processes
we need to manage them!
• History
• Main Stages
Thursday, October 27, 11
9. 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
12. 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
13. 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
14. 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
15. 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
18. 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
19. 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
20. 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
21. BPMN V2.0 Goals
• The specification it's divided into three main sections
• Process:
• Process Modeling
• Process Execution
• Collaboration
• Choreography
Thursday, October 27, 11
23. 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
25. 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
26. 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
27. 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
28. 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
29. 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
30. How BPM fits for everyone
Thursday, October 27, 11
31. 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
32. How BPM fits for End Users (Task List)
Thursday, October 27, 11
33. How BPM fits for End Users (Task Form)
Thursday, October 27, 11
34. 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
35. How BPM fits for Developers
Thursday, October 27, 11
36. 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
37. 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