+ All Categories
Home > Technology > JBoss jBPM 4

JBoss jBPM 4

Date post: 20-Jun-2015
Category:
Upload: camunda-services-gmbh
View: 1,749 times
Download: 2 times
Share this document with a friend
Description:
Vorstellung der Open Source Process Engine JBoss jBPM 4 auf dem Java Forum Stuttgart 2009.
Popular Tags:
35
02.07.2009 [email protected] Next generation open source BPM JBoss jBPM 4
Transcript
Page 1: JBoss jBPM 4

Java Forum Stuttgart

02.07.2009

[email protected]

Next generation open source BPMJBoss jBPM 4

Page 2: JBoss jBPM 4

Bernd Rücker / [email protected] / 2

Guten Morgen

Page 3: JBoss jBPM 4

Bernd Rücker / [email protected] / 3

Berater, Trainer, Coach

Softwareentwickler

Committer bei jBPM

Blog: www.bpm-guide.de

Bernd Rü[email protected]

Page 4: JBoss jBPM 4

Bernd Rücker / [email protected] / 4

Standort: Berlin / StuttgartMitarbeiter: 6

Ganzheitliches BPM

Beratung

Seminare

Process Hosting

camunda services GmbH

Page 5: JBoss jBPM 4

Bernd Rücker / [email protected] / 5

Prozessbeispiel:Designer-Taschen

Page 6: JBoss jBPM 4

Bernd Rücker / [email protected] / 6

• Begriffsdefinition

KundeBestel-

lung Lieferung KundeBestell-

annahme

Rechnung-stellung

Waren- entnahme

Versand

Was ist ein Geschäftsprozess?

Page 7: JBoss jBPM 4

Bernd Rücker / [email protected] / 7

Wie setze ich das bloß

technisch um?

Page 8: JBoss jBPM 4

Bernd Rücker / [email protected] / 8

Probleme Geschäftsprozesse• Lang laufend• Wartezustände• Timeouts & Eskalation

Nachteile• Zu viel Arbeit!• Prozess unsichtbar

Möglichkeit 1:Java-Entwicklung

Page 9: JBoss jBPM 4

Bernd Rücker / [email protected] / 9

Open Source (LGPL)

POJO + Hibernate

„Library“

Version 4.0 (10.07.09)

Business Process Engine!

Page 10: JBoss jBPM 4

Bernd Rücker / [email protected] / 10

Der Prozess (Workflow)

Page 11: JBoss jBPM 4

Bernd Rücker / [email protected] / 11

Der Prozess (Workflow)

user task

Business Process Modeling Notation (BPMN 2.0)

Page 12: JBoss jBPM 4

Bernd Rücker / [email protected] / 12

Der Prozess (Workflow)

java

Page 13: JBoss jBPM 4

Bernd Rücker / [email protected] / 13

Der Prozess (Workflow)

gateway = decision

Page 14: JBoss jBPM 4

Bernd Rücker / [email protected] / 14

Der Prozess (Workflow)

wait state != task

Page 15: JBoss jBPM 4

Bernd Rücker / [email protected] / 15

Demo

Page 16: JBoss jBPM 4

Bernd Rücker / [email protected] / 16

Process ExecutionWie funktioniert das?

Tasklist ExternesSystem

Transaction / Request

process execution

Zeit

Process Execution Engine

Client

1.) Aufgabe erzeugen2.) Aufgabe abschließen

1.) System aufrufen / Message2.) Asynchrone Antwort als Message

Page 17: JBoss jBPM 4

Bernd Rücker / [email protected] / 17

JBoss Process Virtual Machine (PVM)

Page 18: JBoss jBPM 4

Bernd Rücker / [email protected] / 18

Eine Prozessinstanz

Page 19: JBoss jBPM 4

Bernd Rücker / [email protected] / 19

Die Hüllen fallen gelassen…

Page 20: JBoss jBPM 4

Bernd Rücker / [email protected] / 20

jPDL ImplementierungPVM Interface

Clie

nt

APIs & Architektur

Pro

cess

Eng

ine

Process Service

Execution Service

Management Service

TaskService

Command Service

Interceptor

Interceptor

Lokal oder RemoteSync oder Async

JTA oder nicht

Commands

Event Listener API

Ser

vice

s

Page 21: JBoss jBPM 4

Bernd Rücker / [email protected] / 21

<process name="Bestellung" xmlns="http://jbpm.org/4.0/jpdl">

<start name="start" g="18,150,48,48"> <transition to="Bestellung pruefen"/> </start>

<task candidate-groups="Lager" name="Bestellung_pruefen" g="191,149,109,52"> <transition name="Problem aufgetreten" to="Alternativvorschlag_erarbeiten„ g="267,103:-3,27"/> <transition name="Auftrag OK" to="Bestellung_buchen" g="268,236:0,-25"/> </task>

<java name="Kunden informieren" class="com.camunda.training.jbpm.service.MockService" method="informCustomer" g="493,75,119,52"> <arg><object expr="#{order.customer}"/></arg> <arg><object expr="#{problem}"/></arg> <transition to="Auf Entscheidung warten"/> </java>

jPDL Quellcode

Page 22: JBoss jBPM 4

Bernd Rücker / [email protected] / 22

...

<decision name="Stornierung?" g="804,84,48,48"> <transition name="Alternativvorschlag bestellen" to="Bestellung_pruefen" g="828,43;245,43:247,-19"> <condition expr="#{orderChanged}"/> </transition> <transition name="Stornierung" to="cancel" g="-26,-18"/> </decision>

<state name="Auf Entscheidung warten" g="695,72,144,52" > <transition to="Stornierung?"/> </state>

... <end name="end" g="906,212,48,48" /> <end-cancel name="cancel" g="905,152,48,48"/></process>

jPDL Quellcode

Page 23: JBoss jBPM 4

Bernd Rücker / [email protected] / 23

<state name="wait" > <on event="start"> <event-listener class="org.jbpm.examples.eventlistener.LogListener"/> </on> <transition to="end"> <event-listener class="org.jbpm.examples.eventlistener.LogListener"/> </transition></state>

public class LogListener implements EventListener { public void notify(EventListenerExecution execution) { execution.getVariable("logs"); ... execution.setVariable("logs", logs); }}

Und ActionHandler?

Page 24: JBoss jBPM 4

Bernd Rücker / [email protected] / 24

Möglichkeiten & Features

Page 25: JBoss jBPM 4

Bernd Rücker / [email protected] / 25

Möglichkeiten & Features

Page 26: JBoss jBPM 4

Bernd Rücker / [email protected] / 26

jbpm und die BPMN-Spezifikation„Why can‘t we be friends?“

Page 27: JBoss jBPM 4

Bernd Rücker / [email protected] / 27

ProzesseBonitäts-prüfung

Kunden-anlage

Kredit-vergabe

Services

Bonitätscheck Kundendaten Kreditantrag

Ressourcen

Web-Service Kundenkonto-Komponente

SAPServer

GUI

BPM & SOA – Blueprint & Vision

Page 28: JBoss jBPM 4

Bernd Rücker / [email protected] / 28

ArchitekturEJB-Container (oder Tomcat oder Java SE)

SessionBean

JCA JMSEJB

WS

WS

EJB-Container

JMS, …EJB

.NET HumanTask

Mgmnt

WS WS WS

WSJava

jbpm

BPEL-Server

HumanTask

MgmntWeb-Anwendung

Rich-Client

Page 29: JBoss jBPM 4

Bernd Rücker / [email protected] / 29

Software-Entwicklung

Prozess-Automatisierung

Prozess-Beschreibung

Integration& EAI

Fachliche Analyse,

Modellierung, Dokumentation

& Kommunikation

HumanWorkflow

Anwendungs-entwicklung

GUI-SteuerungPageflow

BPM aus IT-Perspektive

Page 30: JBoss jBPM 4

Bernd Rücker / [email protected] / 30

BPMN

jbpm 3vs. jbpm 4

Process Virtual Machine

Saubere Architektur

Page 31: JBoss jBPM 4

Bernd Rücker / [email protected] / 31

Und was nehme ich im Projekt?

Page 32: JBoss jBPM 4

Bernd Rücker / [email protected] / 32

Doch selber bauen? Quelle: Zitty, Berlin

siehe www.bpm-guide.de

Page 33: JBoss jBPM 4

Bernd Rücker / [email protected] / 33

Und das Besondere an jbpm?

Page 34: JBoss jBPM 4

Bernd Rücker / [email protected] / 34

www.jboss.org/jbossjbpm/ Und jetzt?

JavaMagazin www.bpm-guide.de

Versionsverwirrung• Aktuell: 3.2.6 & 4.0• Unsupported community release: 3.3.x• Roadmap: 01.09. 4.1, 01.11. 4.2

Page 35: JBoss jBPM 4

Bernd Rücker / [email protected] / 35

Bernd RückerGeschäftsführer

Berater, Trainer & [email protected]

+49 30 664040901+49 711 3278645

Fragen & Antworten


Recommended