+ All Categories
Home > Technology > jBPM At Riviera JUG

jBPM At Riviera JUG

Date post: 10-May-2015
Category:
Upload: tom-baeyens
View: 1,295 times
Download: 0 times
Share this document with a friend
Description:
jBPM Presentation Given At The Riviera JUG In Nice October 2nd 2009
Popular Tags:
33
Simplified BPM Power In The Hands Of The Developer 4
Transcript
Page 1: jBPM At Riviera JUG

Simplified BPM Power In The Hands Of The Developer

4

Page 2: jBPM At Riviera JUG

Agenda Business Process Management jBPM Introduction

Developer Value Business Value

Train ticket system Roadmap

Page 3: jBPM At Riviera JUG

BPM as a management discipline Not an IT concept

William Edwards Deming Plan Do Check Act

BPM Business Value

Page 4: jBPM At Riviera JUG

Assembly Lines 1723-1790, Adam Smith: The pin factory 1863-1947, Henry Ford: mass production

Page 5: jBPM At Riviera JUG

Government Tax Collection

Page 6: jBPM At Riviera JUG

Library Lending A Book

Page 7: jBPM At Riviera JUG

Selling A Ticket For A Concert

Page 8: jBPM At Riviera JUG

Even Getting Up In The Morning

Page 9: jBPM At Riviera JUG

Business Processes Business process

Organized way of doing things Reach certain goal

Any company - any product - any service They all have business processes

Page 10: jBPM At Riviera JUG

Business Processes Need To Be Managed

BUT… doesn’t mean that People are aware They are controlled or guided Everyone is using the same process

Managing a process requires Everyone knows what to do Enforcement Organizational changes Measuring key performance indicators

jBPM can help

Page 11: jBPM At Riviera JUG

BPM System (aka BPM engine or workflow engine) Executable business process

Diagram

<tech-details /> Deploy, run, collect history

BPM System Introduction

Page 12: jBPM At Riviera JUG

General BPMS Advantages Process diagram understandable by business people Audit

Who did what and when ? History statistics

Where are the bottlenecks ?

Page 13: jBPM At Riviera JUG

jBPM Advantages Embeds into your application

Integrates with your transaction Integrates with your database Integrates with your domain model

Deploy as Simple library Standalone server

Page 14: jBPM At Riviera JUG

Process Language Flavours• Business Process Management• Pageflow• Orchestrating web services (BPEL)• Transactional scripts

Page 15: jBPM At Riviera JUG

jBPM 4

Process Virtual Machine

jPDL BPMN2 BPEL XPDLPageFlow

Page 16: jBPM At Riviera JUG

jPDL jBPM’s original process language Clean and easy Java integration Task management out of the box Developers like it

Transactional control flow Compact, readable XML

Page 17: jBPM At Riviera JUG

jPDL Non technical business analysts like it

Diagram decoupled from execution semantics Listeners do not change the diagram Developers can code custom activity Direct connection with Java Agile

Free graph modelling Boxes and arrows

Page 18: jBPM At Riviera JUG

BPMN 2.0 New process language next to jPDL Standard Technical business analysts like it

Focus on modelling Precise execution semantics Directly coupled with diagram

Now in incubation Target for in H2 2010

Page 19: jBPM At Riviera JUG

jBPM Technical Perspective API for application integration

Start new process instances Provide external signals Get task lists Get history

Audit Statistics

Same API for all environments

Page 20: jBPM At Riviera JUG

Software Project

Executable Business Process

Processes As Part Of Software Development

Abstract Business Process

Non-techBusiness Analyst Developer<details />

Java, XML, Buildscripts,Tests, …

EAPSOA-PJBossTomcatJDK 5

Oracle, MySQL, PostgreSQL

jBPM YourApp

Page 21: jBPM At Riviera JUG

A jPDL Process

Page 22: jBPM At Riviera JUG

A jPDL Process<process name="DecisionExpression">

<start> <transition to="evaluate document"/> </start>

<decision name="evaluate document" expr="#{content}"> <transition name="good" to="submit document" /> <transition name="bad" to="try again" /> <transition name="ugly" to="give up" /> </decision>

<state name="submit document" /> <state name="try again" /> <state name="give up" />

</process>

Page 23: jBPM At Riviera JUG

Deployment Deploy this process to the jBPM DB

<jbpm-deploy file="target/examples.bar" />

Programmatic

jBPM DB Tables•Deployments•Runtime state•History

Page 24: jBPM At Riviera JUG

Start A Process InstanceConfiguration cfg = new Configuration();

ProcessEngine processEngine = cfg.buildProcessEngine();

processEngine.getExecutionService()

.startProcessInstanceByKey("ticketProcess");

Page 25: jBPM At Riviera JUG

A Process In Your Architecture

ReceiveClick

CalcAvg

ReceiveMessage

InvokeA WS

User clicks button in your webapp

JMS message arrivesfrom some other app

Transaction

Transaction

Page 26: jBPM At Riviera JUG

Let jBPM Do The TX Juggling Extract state management from your code Decorate your process with POJO java logic Let jBPM deal with

Transactions Async messages Timers

Page 27: jBPM At Riviera JUG

The Train Ticket Demo

Page 28: jBPM At Riviera JUG

Taking The Train

NEEDS

SHOW

REQUIRES

WANTS

BUY

Page 29: jBPM At Riviera JUG

Taking The Train 2.0 The Problem

Using coins, ticket machines, conductors, ... sooooo 2008

The solution

JBPM on Rails

Page 30: jBPM At Riviera JUG

Train Ticket jPDL Use Case

1. Ticket request

2. Price Quote

3. Accept

Other Train System (EJB)

Page 31: jBPM At Riviera JUG

Modeling the process Business analyst (BA)

Weapons: Word, Excel, Browser Eclipse designer is 'a bridge too far'

jBPM solution Collaboration with Signavio

http://www.signavio.com

Webbased BPMN editor Stored as a jPDL process

BA Dev

import

Page 32: jBPM At Riviera JUG

Getting started I just know you're excited to give jBPM a try

You can do it tonight Just before you go to sleep Or in your bed?

Last demo movie jBPM demo setup in less than a minute! Install server, jBPM, example processes jBPM-console, signavio, ...

Page 33: jBPM At Riviera JUG

Questions ?• http://jbpm.org• http://processdevelopments.blogspot.com


Recommended