JBoss Developer Webinar jBPM5

37
jBPM5: Are your business processes ready for the future? Kris Verlaenen Core Developer

description

JBoss Developer Webinar on jBPM5

Transcript of JBoss Developer Webinar jBPM5

Page 1: JBoss Developer Webinar jBPM5

jBPM5:

Are your business processes ready for the

future?

Kris VerlaenenCore Developer

Page 2: JBoss Developer Webinar jBPM5

Overview

• Key characteristics of (j)BPM

• From Workflow to BPM

• Ready for the future?

• jBPM5: What, where?

• Roadmap

Page 3: JBoss Developer Webinar jBPM5

Key Characteristics of BPM

A business process is a process that describesthe order in which a series of steps need to be executed,

using a flow chart.

Page 4: JBoss Developer Webinar jBPM5

Business Process Example

Page 5: JBoss Developer Webinar jBPM5

Key Advantages of BPM

• Visibility

• Monitoring

• Higher-level

• Continuous improvement

• Speed of development

• Increased agility

• ...

Page 6: JBoss Developer Webinar jBPM5

Key Characteristics of jBPM5

• Open-source business process management project offering:– generic process engine supporting native

BPMN 2.0 execution– targeting developers and business users– collaboration, management and monitoring

using web-based consoles– powerfull rules and event integration

Page 7: JBoss Developer Webinar jBPM5

From Workflow to BPM

• Core engine is a workflow engine in pure Java– state transitions– lightweight– embeddable– generic, extensible

CoreEngine

Page 8: JBoss Developer Webinar jBPM5

Core Engine

KnowledgeBase

StatefulKnowledge

Session

ProcessDefinition

ProcessInstance

Page 9: JBoss Developer Webinar jBPM5

Java Interface

ProcessRuntime interface• startProcess(processId)• startProcess(processId, parameters)• signalEvent(type, event)• signalEvent(type, event, instanceId)• abortProcessInstance(instanceId)• getProcessInstance(instanceId)• …

Page 10: JBoss Developer Webinar jBPM5

From Workflow to BPM

CoreEngine

Page 11: JBoss Developer Webinar jBPM5

From Workflow to BPM

CoreEngine BPMN

2.0

XML

Page 12: JBoss Developer Webinar jBPM5

BPMN 2.0

• OMG standard that defines– Graphical notation– Process definition format (XSD / XMI)– Execution semantics

• Focus on executable processes

• Extensible + Interoperability !

• http://www.omg.org/spec/BPMN/2.0/

Page 13: JBoss Developer Webinar jBPM5

BPMN 2.0 Example

<definitions ... >

<process id="com.sample.bpmn.hello" name="Hello World" >

<startEvent id="_1" name="StartProcess" />

<sequenceFlow sourceRef="_1" targetRef="_2" />

<scriptTask id="_2" name="Hello" >

<script>System.out.println("Hello World");</script>

</scriptTask>

<sequenceFlow sourceRef="_2" targetRef="_3" />

<endEvent id="_3" name="EndProcess" />

</process>

</definitions>

Page 14: JBoss Developer Webinar jBPM5

Java Example

// (1) Create knowledge base and add process definition

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

kbuilder.add( ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);

KnowledgeBase kbase = kbuilder.newKnowledgeBase();

// (2) Create new stateful knowledge session

StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

// (3) Start a new process instance

ksession.startProcess(“com.sample.bpmn.hello”);

Page 15: JBoss Developer Webinar jBPM5

From Workflow to BPM

CoreEngine BPMN

2.0

XML

Oryx Web-Based Editor

EclipseBPMN2Editor

Page 16: JBoss Developer Webinar jBPM5
Page 17: JBoss Developer Webinar jBPM5
Page 18: JBoss Developer Webinar jBPM5

From Workflow to BPM

CoreEngine BPMN

2.0

XMLPersistence

Trans-actions

JPA

JTA

Page 19: JBoss Developer Webinar jBPM5

From Workflow to BPM

CoreEngine BPMN

2.0

XMLPersistence

Trans-actions

Events

HistoryLog

ManagementConsole BAM

Page 20: JBoss Developer Webinar jBPM5
Page 21: JBoss Developer Webinar jBPM5
Page 22: JBoss Developer Webinar jBPM5
Page 23: JBoss Developer Webinar jBPM5

From Workflow to BPM

CoreEngine BPMN

2.0

XMLPersistence

Trans-actions

Events

IntegrationDomain-specific

Processes

Human TaskServiceESB

Page 24: JBoss Developer Webinar jBPM5

Domain-specific Processes

• Extend palette with domain-specific, declarative service nodes– define input / output parameters– runtime binding

Page 25: JBoss Developer Webinar jBPM5

Human task service

• User task

• Human task service (WS-HT)– Task lists– Task life cycle

• Task clients– Task forms

Page 26: JBoss Developer Webinar jBPM5

Ready for the future?

Traditional systems have problems with change, complexity, flexibility, data-

intensive applications, etc.

• Adaptive Case Management (ACM)• Unstructured, non-lineair or flexible processes• Event-driven BPM (edBPM)

Page 27: JBoss Developer Webinar jBPM5

27

Processes + Rules + Events

Page 28: JBoss Developer Webinar jBPM5

Flexible processes

Page 29: JBoss Developer Webinar jBPM5

jBPM5: What, where?

• jBPM home page• Source http://github.com/krisv/jbpm• Hudson

http://hudson.jboss.org/hudson/job/jBPM5

• Blog http://kverlaen.blogspot.com/• #jbpm on irc.codehaus.org• [email protected]• jBPM user forum

Page 30: JBoss Developer Webinar jBPM5
Page 31: JBoss Developer Webinar jBPM5
Page 32: JBoss Developer Webinar jBPM5

jBPM5 Installer• ant install.demo

– Download JBoss AS

– Download Eclipse (+GMF)

– Install Drools Guvnor into JBoss AS

– Install Oryx Designer into JBoss AS

– Install the jBPM gwt-console into JBoss AS

– Install the jBPM + Drools Eclipse plugin

• ant start.demo

– Start the H2 database

– Start the JBoss AS

– Start Eclipse

– Start the jBPM Human Task Service

Page 33: JBoss Developer Webinar jBPM5
Page 34: JBoss Developer Webinar jBPM5
Page 35: JBoss Developer Webinar jBPM5

Misconceptions

• For developers only?– Targeting business users as well

• Proprietary, not standards-based?– BPMN2, WS-HT, JPA, JTA, BPAF, etc.

• Low-level, technical details?– Domain-specific nodes

• Not flexible?– Processes + Rules + Events

Page 36: JBoss Developer Webinar jBPM5

jBPM5 Roadmap

• jBPM 5.0 snapshot releases available

• Beta before the end of the month

• Final release of 5.0 before the end of the year

• jBPM 5.x– Business Activity Monitoring– Service Orchestration

• Productization during 2011

Page 37: JBoss Developer Webinar jBPM5

jBPM5:

Are your business processes ready for the

future?

Kris VerlaenenCore Developer