jbpm5 introduction - drools & jbpm5 bootcamp sf 2011
DESCRIPTION
for more information visit: http://salaboy.wordpress.comTRANSCRIPT
Thursday, October 27, 11
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
What does Process mean for us?
Set of ordered actionsthat tends to transform an input
to a desired output
Thursday, October 27, 11
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
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
Business Process
Sequence of actions
performed by
humans and systems
to achieve a
business goal
Thursday, October 27, 11
Business Process Example
Thursday, October 27, 11
Business Process Management
•Obviously when we have more than 2 Business Processes we need to manage them!
• History
•Main Stages
Thursday, October 27, 11
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
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
BPM Cycle
Thursday, October 27, 11
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
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
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
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
jBPM5 Core Overview (Process Perspective)
Thursday, October 27, 11
Drools + jBPM5 Overview
Thursday, October 27, 11
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
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
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
BPMN V2.0 Goals
• The specification it's divided into three main sections
• Process:
• Process Modeling
• Process Execution
• Collaboration
• Choreography
Thursday, October 27, 11
jBPM5 Human Task Overview
Thursday, October 27, 11
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
jBPM5 Tooling Overview
Thursday, October 27, 11
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
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
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
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
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
How BPM fits for everyone
Thursday, October 27, 11
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
How BPM fits for End Users (Task List)
Thursday, October 27, 11
How BPM fits for End Users (Task Form)
Thursday, October 27, 11
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
How BPM fits for Developers
Thursday, October 27, 11
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
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
Questions?
Thursday, October 27, 11
Thursday, October 27, 11