PowerPoint Presentation
JBoss jBPM, the future is now for all your Business Processes
Eric D. SchabellJBoss Senior Solution Architect
What is BPM?Overview jBPM5Flexible ProcessesCool Stuff
Business Process Managementis a systematic approachto making an organization'sworkflowmore effective, more efficientand more capable ofadaptingto an ever-changingenvironment.
Workflow is?
A business process as an activity or set of activities that will accomplish a specific organizational goal.
What is BPM?Overview jBPM5Flexible ProcessesCool Stuff
From Workflow...
Core engine is a workflow engine in pure Java
state transitions
lightweight
embeddable
generic, extensible
CoreEngine
Core Engine
KnowledgeBaseStatefulKnowledgeSessionProcessDefinition
ProcessInstance
ProcessRuntime interface
startProcess(processId)
startProcess(processId, parameters)
signalEvent(type, event)
signalEvent(type, event, instanceId)
abortProcessInstance(instanceId)
getProcessInstance(instanceId)
...to BPMS
CoreEngineBPMN2.0XML
EclipseBPMN2EditorWeb Designer(Oryx)
BPMN 2.0
OMG specificationModel
Notation
Execution semantics
Understandable by all business users
Process, collaboration, choreography
Extensible
jBPM5 and BPMN2
Focus on executable processesJava environment
Native execution
SubsetCommon Executable ++
High-level and domain-specific
Minimal custom extensions
BPMN 2.0 Example
System.out.println("Hello World");
BPEL Vs BPMN
Red Hat does not intend to create 2 BPM solutions
BPMN2 is the strategic direction
BPEL requirements will be fulfilled with implementation.
Project Riftsaw implementation of BPEL will be included in SOA-P 5.2
Future BPM solutions will be built on BPMN2 standards
JBoss BPM platform is our answer to all process flow / workflow solutions
JBoss Enteprise BRMS (new in 2009)Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes)Avoids need to otherwise re-code business rules redundantly in multiple applicationsLeverages JBoss Rules execution engine which has been available for yearsAdds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changesAlso adds Repository to provide version management of multiple sets of business rulesSupports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
BPMN2 positioning
BPMN2Model
ProcessChoreographyCollaborationServices
WS-BPEL
jBPMRiftSawSavaraSOARulesEventBRMS
...to BPMS
CoreEngineBPMN2.0XMLPersistenceTrans-actionsJPA(runtime, history, services)JTA(command-scoped, user-defined)
...to BPMS
CoreEngineBPMN2.0XMLPersistenceTrans-actionsEventsHistoryLogManagementConsoleBAM
...to BPMS
CoreEngineBPMN2.0XMLPersistenceTrans-actionsEventsIntegrationDomain-specificProcessesHuman TaskService (WS-HT)ESB
What is BPM?Overview jBPM5Flexible ProcessesCool Stuff
Being able to adapt...
Exceptional Control Flow
90%
5%3%2%
Exceptional Control Flow
90%Rule1When...Then...Rule2When...Then...Rule3When...Then...5%3%2%
Processes + Rules + Events
Combining processes and rules
IntegrationFrom loose coupling (decision services)
To advanced integration (process rules)
UnificationRules and processes are different types of business knowledge assets
Tooling (IDE, repository, management)
Medical process
What is BPM?Overview jBPM5Flexible ProcessesCool Stuff
Web based artifact management
BRM as knowledge repository
BPMN2 processes
Task and process forms
Web designer (Oryx)
Build, deploy, test, manage and collaboration features
That's awesome!
Domain-specific Processes
Extend palette with domain-specific, declarative service nodes
define input / output parameters
runtime binding
Service Repository
[ [ "name" : "JavaNode", "parameters" : [ "class" : new StringDataType(), "method" : new StringDataType(), ], "displayName" : "Java Node", "icon" : "icons/java.gif" ]]
http://people.redhat.com/kverlaen/repository
jBPM Eclipse Plugin
Import services from repo
Import default handler
Support for local repo (filesystem)
Support for URI repo
At latest update site...
There'smore?
Get your ducks in a row...
jBPMeverywhereyou canimagine...
What about us?
jPDL != BPMN
Historical migration...
Demo web designer:
- singleTask- ?- ?
Web Designer
# Running on OpenShift.# Create an account at http://openshift.redhat.com/## Create a jbossas-7.0 application#$ rhc-create-app -l $username -a editor -t jbossas-7.0
# Add this upstream openshift-jbpmmigration repo.#$ cd editor$ git remote add upstream -m master git://github.com/eschabell/openshift-jbpmmigration.git$ git pull -s recursive -X theirs upstream master # Then push the repo upstream.#$ git push
Welcome to the family...
https://github.com/droolsjbpm/jbpmmigration
Future is now... new toys... must have!!!
jBPM5 community: http://www.jboss.org/jbpm
jBPM5 source: http://github.com/droolsjbpm/jbpm
jBPM5 Hudson: http://hudson.jboss.org/hudson/job/jBPM
Blog: http://kverlaen.blogspot.com
#jbpm on irc.codhaus.org / [email protected]
jBPM user forums: http://community.jboss.org/en/jbpm?view=discussions
jBPM migration strategies: http://www.schabell.org/2010/03/jbpm-migration-strategies-introduction.html
Migration tool project: https://github.com/droolsjbpm/jbpmmigration
Migration story JUDCon 2010: http://www.schabell.org/2010/10/judcon-2010-berlin-get-your-bpm-ducks.html
Migration project update JUDCon 2011: http://www.schabell.org/2011/05/judcon-2011-jbpm-migration-tooling-no.html
Eric D. Schabell | [email protected] | @ericschabell
Add title here
This is a standard slide for your content
Please dont forget to add your name in the footer otherwise
there will be the placeholder Presenter Name. You can edit the
footer information in the
menu VIEW --> MASTER --> SLIDE MASTER and then click in the
text box below
Click to edit the outline text formatSecond Outline LevelThird Outline Level