JBoss jBPM, the future is now (YaJUG session)

download JBoss jBPM, the future is now (YaJUG session)

If you can't read please download the document

Transcript of JBoss jBPM, the future is now (YaJUG session)

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