jboss developer webinar jbpm5
DESCRIPTION
JBoss Developer Webinar on jBPM5TRANSCRIPT
jBPM5:
Are your business processes ready for the
future?
Kris VerlaenenCore Developer
Overview
• Key characteristics of (j)BPM
• From Workflow to BPM
• Ready for the future?
• jBPM5: What, where?
• Roadmap
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.
Business Process Example
Key Advantages of BPM
• Visibility
• Monitoring
• Higher-level
• Continuous improvement
• Speed of development
• Increased agility
• ...
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
From Workflow to BPM
• Core engine is a workflow engine in pure Java– state transitions– lightweight– embeddable– generic, extensible
CoreEngine
Core Engine
KnowledgeBase
StatefulKnowledge
Session
ProcessDefinition
ProcessInstance
Java Interface
ProcessRuntime interface• startProcess(processId)• startProcess(processId, parameters)• signalEvent(type, event)• signalEvent(type, event, instanceId)• abortProcessInstance(instanceId)• getProcessInstance(instanceId)• …
From Workflow to BPM
CoreEngine
From Workflow to BPM
CoreEngine BPMN
2.0
XML
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/
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>
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”);
From Workflow to BPM
CoreEngine BPMN
2.0
XML
Oryx Web-Based Editor
EclipseBPMN2Editor
From Workflow to BPM
CoreEngine BPMN
2.0
XMLPersistence
Trans-actions
JPA
JTA
From Workflow to BPM
CoreEngine BPMN
2.0
XMLPersistence
Trans-actions
Events
HistoryLog
ManagementConsole BAM
From Workflow to BPM
CoreEngine BPMN
2.0
XMLPersistence
Trans-actions
Events
IntegrationDomain-specific
Processes
Human TaskServiceESB
Domain-specific Processes
• Extend palette with domain-specific, declarative service nodes– define input / output parameters– runtime binding
Human task service
• User task
• Human task service (WS-HT)– Task lists– Task life cycle
• Task clients– Task forms
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)
27
Processes + Rules + Events
Flexible processes
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
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
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
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
jBPM5:
Are your business processes ready for the
future?
Kris VerlaenenCore Developer