jbpm5 introduction - drools & jbpm5 bootcamp sf 2011

39
Thursday, October 27, 11

Upload: salaboy-salaboy

Post on 11-Nov-2014

2.705 views

Category:

Technology


2 download

DESCRIPTION

for more information visit: http://salaboy.wordpress.com

TRANSCRIPT

Page 1: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

Thursday, October 27, 11

Page 2: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

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

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

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

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

Business Process Example

Thursday, October 27, 11

Page 8: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

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

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

BPM Cycle

Thursday, October 27, 11

Page 12: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

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

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

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

jBPM5 Core Overview (Process Perspective)

Thursday, October 27, 11

Page 17: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

Drools + jBPM5 Overview

Thursday, October 27, 11

Page 18: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

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

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

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

jBPM5 Human Task Overview

Thursday, October 27, 11

Page 23: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

jBPM5 Tooling Overview

Thursday, October 27, 11

Page 25: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

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

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

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

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

How BPM fits for everyone

Thursday, October 27, 11

Page 31: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

How BPM fits for End Users (Task List)

Thursday, October 27, 11

Page 33: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

How BPM fits for End Users (Task Form)

Thursday, October 27, 11

Page 34: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

How BPM fits for Developers

Thursday, October 27, 11

Page 36: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

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

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

Questions?

Thursday, October 27, 11

Page 39: jBPM5 Introduction - Drools & jBPM5 Bootcamp SF 2011

Thursday, October 27, 11