BPMasters & Phactum geben einen Einblick über Prozessversionsmigrationen bei langlaufenden Prozessinstanzen und stellen Design Patterns für asynchrone Kommunikation mit Drittsystemen vor.
Camunda Optimize ist ein neues Tool, um die in Camunda BPM ausgeführten Prozesse systematisch zu verbessern. Es richtet sich speziell an Fachanwender und erlaubt zum Beispiel einen Soll-/Ist-Vergleich von Performance-KPI, das Erkennen von Ursachen einer suboptimalen Prozessleistung und die sofortige Anpassung von Prozessen und Entscheidungen im Live-Betrieb.
In seiner Sneak Preview gabd Bernd Rücker eine erste Live-Demo von Camunda Optimize und stellte die weitere Roadmap vor.
Camunda-Mitgründer Bernd Rücker gibt einen technischen Überblick über die Camunda BPM Plattform, sowie die Umsetzung von Prozessen/Workflows mit BPMN, Cases mit CMMN und Business Rules/Entscheidungen mit dem brandneuen Standard DMN.
Infografiken erstellen – mit Powerpoint und anderen ToolsKatja Evertz
Wie lassen sich mit PowerPoint einfach Infografiken erstellen? Wir haben im MonitoringMatcher Tipps und Tricks gesammelt - und empfehlen darüber hinaus einige andere Tools.
BPMasters & Phactum geben einen Einblick über Prozessversionsmigrationen bei langlaufenden Prozessinstanzen und stellen Design Patterns für asynchrone Kommunikation mit Drittsystemen vor.
Camunda Optimize ist ein neues Tool, um die in Camunda BPM ausgeführten Prozesse systematisch zu verbessern. Es richtet sich speziell an Fachanwender und erlaubt zum Beispiel einen Soll-/Ist-Vergleich von Performance-KPI, das Erkennen von Ursachen einer suboptimalen Prozessleistung und die sofortige Anpassung von Prozessen und Entscheidungen im Live-Betrieb.
In seiner Sneak Preview gabd Bernd Rücker eine erste Live-Demo von Camunda Optimize und stellte die weitere Roadmap vor.
Camunda-Mitgründer Bernd Rücker gibt einen technischen Überblick über die Camunda BPM Plattform, sowie die Umsetzung von Prozessen/Workflows mit BPMN, Cases mit CMMN und Business Rules/Entscheidungen mit dem brandneuen Standard DMN.
Infografiken erstellen – mit Powerpoint und anderen ToolsKatja Evertz
Wie lassen sich mit PowerPoint einfach Infografiken erstellen? Wir haben im MonitoringMatcher Tipps und Tricks gesammelt - und empfehlen darüber hinaus einige andere Tools.
Want to be seen as a leader at the office? Learn how to identify and push back against gender bias by supporting your female colleagues at work. Read the full tips at leanin.org/tips/mvp
This is my slide deck from my session at the North Carolina Reading Conference last week in Raleigh, NC. I do staff development to schools and districts all over the country about best practices in literacy instruction. This topic is one of my most requested.
Mobile-First SEO - The Marketers Edition #3XEDigitalAleyda Solís
How to target your SEO process to a reality of more people searching on mobile devices than desktop and an upcoming mobile first Google index? Check it out.
Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems?
Here’s what AI learnings your business should keep in mind for 2017.
Nach einer Pressemeldung von EMC2 vom September 2007 haben mehr als die Hälfte der IT-Verantwortlichen keinen verlässlichen, aktuellen Einblick in ihre IT-Infrastrukturen. 78 Prozent der Befragten haben keine integrierte Dashboard-Übersicht über ihre IT-Infrastruktur. 31 Prozent gaben an, bei auftretenden Störungen deren Ursache manuell zu analysieren. Mangelnde Einsichtsmöglichkeiten in die IT-Infrastruktur sind ein Risiko bei Konsolidierungs- oder Migrationsprojekten in Rechenzentren, denn Unternehmen sind gezwungen, eine manuelle Bestandsaufnahme ihrer Informationsinfrastruktur vorzunehmen.
Um IT-Serviceleistungen wirklich kundenorientiert erbringen zu können, ist ein prozessorientierter Ansatz unumgänglich. Der horizontale Leistungserstellungsprozess muss dazu mit den vertikalen Führungsstrukturen verbunden werden. Mit dem ITIL-Konzept gelingt eine Wende von einer derzeitig noch vorherrschenden primär technologischen Betrachtung im IT-Bereich hin zum echten Dienstleistungsgedanken.
Seit knapp einem Jahr ist die Norm ISO/IEC 20000 der allein gültige internationale Standard für Unternehmen, die sich gemäß ITIL zertifizieren lassen wollen. Sie löst damit das BS15000-Zertifikat (British Standard) ab. Auf Basis einer gemeinsamen Terminologie für Service Provider, Kunden und Lieferanten wird konsequent der integrierte Prozessansatz als Erfolgsfaktor angesehen. Das itSMF hat in umfangreicher Arbeit einen 115 Punkte umfassenden Kriterienkatalog erstellt, welcher den Unternehmen eine Orientierung bzgl. der thematischen und formalen Anforderungen zur Erfüllung der Norm ISO/IEC 20000 geben soll.
ITIL im Überblick
- Die Entstehung von ITIL
- Die Entwicklung der Versionen
Das Konzept der "Best Practices" und KPIs
- Beispiele aus ITIL-Diziplinen
Service Level Agreements
- SLA aus Sicht des Kunden
- SLA aus Sicht des IT-Providers
Ein Ausblick zur Entwicklung von ITIL
Learn about a plugin that equips Camunda with machine learning techniques for predictive process monitoring. Features include:
- Display activity, time and risk prediction in the Cockpit view
- Training, version control and parametrization of ML algorithms
- Ensemble Learning – Easy expandability in means of predictions types, algorithms
- Automated hyperparameter optimization
Camunda Product Update – The present and the future of Process Automationcamunda services GmbH
Hear about the latest innovations in process automation from Camunda. Find out how our engineering team is delivering solutions for our customers’ biggest challenges from CTO Daniel Meyer.
Camunda Run is the most recent addition to the list of Camunda Platform distributions. It combines extensive configurability with simplicity while making Camunda Platform more accessible to non-Java developers.
In this talk I will demonstrate how to solve some of the most common problems we see users face like securing your REST API, enabling CORS and more. We will have a closer look at new Run features involving OpenAPI and explore different ways to configure Camunda Run to make it ready for production.
Combining both Customer-Centric and Process-Centric approaches and developing a dynamic user interaction catering to varying partner business process flows. The talk will explain how camunda BPM helped us grow our wireless business.
Local government has many moving parts, complex workflows, data routing and security concerns, and a general difficulty in buying and using new software. Building bespoke, custom software for each and every local government effort is also time-consuming and not a great use of public resources.
In this community presentation, San Francisco’s director of product management will showcase the latest thinking on how automation, with tools like Camunda, can be used to simplify and improve existing needs as well as address future problems.
This year has redefined 'business as usual' and we wanted to gauge how process automation was playing in a role in 2020 and beyond. So when our global community gathered for CamundaCon LIVE 2020.1 in April, we ran a global pulse survey of 160 attendees -- from Germany and the USA, to South Africa and Ecuador -- and we asked everything, from how COVID-19 had impacted business, to where they saw the future of process automation. Here's what we discovered...
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmencamunda services GmbH
Dieses Jahr ist ein besonderes Jahr und hat den Begriff "business as usual" neu definiert. Die bisherige Geschäftswelt verändert sich rasant und wird digitaler, gefördert durch remote work.
In diesem Zusammenhang stellen wir uns die Frage, wie es sich mit der Prozessautomatisierung im Jahr 2020 und darüber hinaus verhalten wird. Werden bzw. wurden bereits Prozesse zunehmend automatisiert? Ende April 2020 führten wir eine Blitzumfrage mit 160 Probanden aus aller Welt durch und stellten Fragen nach den Auswirkungen von COVID-19 auf das Geschäft, zur aktuellen Situation, aber auch zur Zukunft der Prozessautomatisierung.
Die Ergebnisse dieser Umfrage können Sie in den Slides einsehen.
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...camunda services GmbH
We cut to the chase with this kick start primer to Camunda BPM for Developers. Learn the easiest ways to get Camunda BPM up and running in no time. To round it off, we will deploy a simple process and show different ways to integrate an existing REST service into this process.
The examples shown will contain suitable approaches for Java and non-Java developers.
Extending human workflow preparing people and processes for the digital era w...camunda services GmbH
Organizations around the world have been moving toward the goal of a ‘paperless office’ for years. Fast forward to 2020, with millions of people working from home and mission critical operations are breaking down because they depend on a manual process which in turn requires a person to act.
The top priority for enterprises with nonfunctioning processes is restoring operations quickly. The best approach to fix fully or partially manual processes requires some planning to achieve the desired outcome of a digital + human workflow. Join Robert Emsbach, Head of Consulting, APAC, Camunda, and Mary Thengvall, Director of Developer Relations, Camunda, as they discuss best practices when digitizing paper processes. Learn common pitfalls to avoid; which architectural approaches can yield the best return and how to build in flexibility when digitizing manual processes.
Camunda BPM is the leading open-source platform for workflow and decision automation. For developer friendly organisations, it is becoming the de facto standard for process automation. Yet, there is always room for improvement. Can we allow users to monitor and improve their processes end-to-end - even if parts of the process are not automated with Camunda? Can we expand support for more programming languages? Can we make BPMN execution and standards support even more powerful? Yes, we can. And we have. Continuous improvement is at the heart of what we do.
Join this webinar with Camunda’s VP of Product Management, Rick Weinberg, as he discusses the workflow enhancements and operational efficiencies coming in the 7.13 release and the value they deliver to Camunda customers and the Camunda community. In this webinar, you’ll learn about:
- How Camunda Run lets teams automate and orchestrate processes…no JAVA or app server knowledge required
- Our Open API support will let any developer use Camunda in their preferred programming languages
- Seamlessly generating a Camunda Rest client in your language of choice
- Standards continue to drive Camunda as we expand Open API support of the REST standard, in addition to support for DMN1.3 and FEEL expressions
- Process Events Monitoring: End-To-End Process Monitoring and Reporting for your Camunda (or non-Camunda) process fragments
Presenters
Rick Weinberg, Camunda VP Product Management
Thorben Lindhauer, Engineering Manager Camunda BPM
Nico Rehwaldt, Principal Software Engineer Camunda Modeler
Niall Deehan, Camunda Developer Advocate
The new Process Events Monitoring feature set makes it possible for the first time to import process data into Optimize from a range of external sources and carry out monitoring, reporting, and continuous improvement for end-to-end processes even in cases where the entire process isn’t yet automated by Camunda BPM.
Enhancement in Optimize 3.0 include:
- New capabilities for efficient End-To-End Monitoring and Reporting
- New User Task Reporting and Monitoring capabilities which allow you to analyse performance trends for your user tasks
- New Flexible Alerting capabilities which allow you to send Alerts to any system of your choice
- New Dashboarding capabilities which simplify creating and modifying dashboards to a large extend
- Support for Elasticsearch 7
These new capabilities expand the scope of Optimize from a process analytics platform that’s entirely Camunda-centric to one that enables you to visualize, monitor, and improve processes anywhere in your organization–even the processes you haven’t yet gotten around to fully automating with Camunda.
In this webinar, Optimize Product Manager Felix Müller will be joined by Camunda Optimize Tech Lead Sebastian Bathke to share more on Process Events Monitoring and to show you step-by-step how to start using it.
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...camunda services GmbH
A company’s core business processes nearly always span more than one microservice. In an e-commerce company, for example, a “customer order” might involve different services for payments, inventory, shipping and more. But how do these services play together to fulfill the customer’s desire?
Implementing long-running, asynchronous, and complex collaborations between distributed microservices is challenging. How can we ensure visibility of cross-microservice flows and provide status and error monitoring? How do we guarantee that overall flows always complete, even if single services fail? Or how do we recognize stuck flows so that we can fix them?
In this webinar, Bernd will explain how workflow automation supports the orchestration of microservices, to make sure business processes are always carried out - even in case of failure -
providing monitoring and visibility into the overall progress and status.
He will reveal how to do all of this without introducing monolithic workflows that clash with microservices principles. You will also learn how to balance orchestration (using a workflow engine) with choreography (using events). Still believe that choreography is more loosely coupled and thus the modern way to go? You definitely need to listen in…
Standard und Individual-Software vereint
Armin Heinzer, Leiter Business Process Solutions, finnova AG Bankware
Roland Imhof, Solution Engineer, finnova AG Bankware
Standard-Software oder kundenspezifische Individual-Software? Wir haben beides in einem Produkt vereint.
Mit der Advisor Workbench bieten wir unseren Bankkunden eine standardisierte Beratungslösung an. Diese erlaubt den Kundenberatern neue Kunden und Produkte zu eröffnen.
Dank Camunda und unserem Business Process Framework sind wir nun in der Lage die Standard-Prozesse der Advisor Workbench kundenindividuell und flexibel zu erweitern.
Wir werden aufzeigen, welche Herausforderungen wir hatten und wie wir dies mit Camunda umgesetzt haben.
Von Dokumenten zu Vorgängen – mit Koala auf der Überholspur.
Michael Karas, Software Entwickler und Business Analyst, Swiss Life
Markus Schimmer, IT Specialist, Swiss Life
Das Konzept des Workflow-Systems der Versicherung stammt noch aus der Ära der Dokument-Workflows. Neue Herausforderungen wie Digitalisierung und Automatisierung erfordern eine andere fachliche und technische Architektur. Die SwissLife Deutschland berichtet anhand eines produktiv genutzten Systems, welchen Weg die Versicherung bei Prozessautomation eingeschlagen hat und welche Erfahrungen bei der Transformation gesammelt wurden.
Konsolidierung des Designs & Integration der Planungsprozesse mittels Camunda Modeler & BPM Engine.
Thorsten Guggenberger, CEO, "J-IT" IT-Dienstleistungs GesmbH
Christian Stöhr, IT Business Analyst, A1
Wir geben einen Einblick in die Konsolidierung der semiautomatischen Planungsprozesse mittels Camunda Process Modeler und anschließend die Implementierung der Prozesse mittels Camunda BPM sowie der Integration in die Bestandslandschaft (Remedy, Tibco, uvm.).
Camunda als Kernkomponente der digitalen Transformation der Raiffeisen Bankengruppe Österreich.
Michael Feichtegger, IT-Architekt, Raiffeisen Software GmbH
Thomas Kriechbaum, IT-Architekt, Raiffeisen Software GmbH
Die Raiffeisen Software GmbH als Softwarelieferant der Raiffeisen Banken Gruppe Österreich setzt seit mehr als einem Jahrzehnt auf Open Source Workflow Lösungen.
Als jBPM 3 Nachfolgeprodukt wurde Camunda BPM ausgewählt. Im Zuge der Einführung von Camunda BPM standen wir vor einigen Herausforderungen.
Folgenden Punkte werden wir im Vortrag behandeln.
Darstellung der Architektur und Betriebsrahmenbedingungen (Parallelbetrieb unterschiedlicher Workflowlösungen)
Showcase 1: Migration bestehender BPM Prozesse nach Camunda BPM Prozesse bei bestehenden Applikationen
Showcase 2. Omnikanal Architektur mit Camunda BPM in OpenShift
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGcamunda services GmbH
Prozessautomation bei der Provinzial Rheinland: Dunkelprozesse mit unstrukturierten und strukturierten Daten
Ralph Rennert, Betriebsorganisator, Provinzial Rheinland Versicherung AG
Simon Thiel, Fachinformatiker Anwendungsentwicklung, Provinzial Rheinland Versicherung AG
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native Worldcamunda services GmbH
A decade ago, business process management (BPM) focused on modeling and perhaps automating stable, repeatable back-office processes. Even with the bar set this low, many of the BPM tools on the market struggled to meet the needs of the business.
Today, business processes are more dynamic. Enterprises are more likely to focus on customer-facing, front-office processes. Low-code tools improve collaboration, increase quality, and lower technical debt. And we have yet to maximize the full power of the cloud. Welcome to the BPM renaissance.
On this live webinar, listen to Jason Bloomberg, president of analyst firm Intellyx, and Daniel Meyer, CTO Camunda, as they discuss how today’s BPM addresses business problems the way first-generation BPM never could. They will cover the five core value propositions of next-generation BPM and explain how low-code technologies and cloud-native computing change the BPM game, allowing you to not just survive, but also thrive through these transformative times.
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
1. Die Process Virtual Machine
Das Hibernate des BPM?
Matheman Herbstcampus
Nürnberg, 17.09.2008
Nürnberg 17 09 2008
bernd.ruecker@camunda.com
2. Bernd Rücker
Wer bin ich?
• Berater, Trainer, Coach
• Softwareentwickler
• Committer im JBoss jBPM-Projekt
j j
• Themen: BPM, SOA, Process Execution
(jBPM, BPEL, XPDL
(jBPM BPEL XPDL, …), Java EE
)
• Eigene Trainings zu Process Execution,
BPMN, BPM-Software,
BPMN BPM Software …
Bernd Rücker / bernd.ruecker@camunda.com / 2
3. Agenda
Geschäftsprozess und Regeln
• Einführung BPM (Business Process Management)
• Die Process Virtual Machine (PVM)
• j
jBPM jPDL 3
j
• Beispielprozess mit Demo
• Fazit
Bernd Rücker / bernd.ruecker@camunda.com / 3
4. Geschäftsprozesse & Software
Der Status Quo in manchen Unternehmen
GUI
Paper Email
Gui 1 Gui 2 Gui
G i3
Software
Kunden SAP
Komponente Server
EAI-Tool
Web-Service
Bernd Rücker / bernd.ruecker@camunda.com / 4
5. Ein „digitaler“ Prozess
mit Business Process Engine
Δ Durchlaufzeit
Task Service Task
Zuweisung Aufruf Zuweisung
Process Engine
IT
Human W kfl
H Workflow EAI Human W kfl
H Workflow
SOA
Bernd Rücker / bernd.ruecker@camunda.com / 5
6. Process Execution
Business Process Engine
1.) Aufgabe erzeugen 1.) System aufrufen / Message
2.) Aufgabe abschließen 2.) Asynchrone Antwort als Message
Client Tasklist Externes
System
Process Execution Engine
Transaction / Request
… Zeit
process execution
Task Service Task
Zuweisung Aufruf Zuweisung
Bernd Rücker / bernd.ruecker@camunda.com / 6
7. Integration: BPM & SOA
Quelle: Nicolai Josuttis
e o t
Bernd Rücker / bernd.ruecker@camunda.com / 7
8. Business Process Engine
Middleware für Geschäftsprozesse
Business Analyst Sachbearbeiter
Aufgaben-
Verwaltung
V lt
Prozess- Prozess- Fremd-
definitionen Ausführung Anwendungen
Entwickler
Prozess-
Administration
Logs
Administrator
Persistenz
Definition Laufzeit
Business Process Engine (BPM-Engine)
Bernd Rücker / bernd.ruecker@camunda.com / 8
9. Was leistet die Business Process Engine
Features
• Versionierung, Persistenz & Interpretation von
Prozessmodellen
P d ll
• Steuerung & Persistenz von Prozessinstanzen
• Task-Management
• Wait-States
Wait States
• Prozesskontext (Variablen zu Prozess speichern)
• Ei bi d
Einbindung externer S i
t Services
• Verwalten von Ereignissen (z.B. Timeouts)
• …
Bernd Rücker / bernd.ruecker@camunda.com / 9
10. Process Execution Languages
Welche Sprache spricht BPM?
Standards
BPEL YAML
UML
Wissenschaftlich
XPDL
Fachliche Notationen
jPDL
Proprietär EPC
DSL‘s
BPMN
…
Bernd Rücker / bernd.ruecker@camunda.com / 10
11. Sprachen heute: Was nehmen?
Komplexität, LOC, Mächtigkeit,
Komplexität LOC Mächtigkeit Standards?
Generierte Artefakte (WSDL & Schema)
Deployment-Deskriptor
p y p
1000
XSLT
900 WSDL
Java-Code (Hooks/Actions)
800 Prozessbeschreibung
700
600
500
400
300
200
100
0 Quelle: Dr. Martin Bartonitz
BPEL XPDL jBPM
Bernd Rücker / bernd.ruecker@camunda.com / 11
12. Motivation Process Virtual Machine
JBoss PVM
• Es existieren verschiedenste Prozessausführungs-
sprachen (P
h (Process E Execution L
ti Language) )
– BPEL, XPDL, jPDL, DSL‘s, …
• Es gibt nicht die perfekte Sprache
• Koexistenz von verschiedenen Sprachen erlauben
p
• Sprache nach Problem auswählen
Grundfunktionalität Prozessmaschine in PVM
Bernd Rücker / bernd.ruecker@camunda.com / 12
13. JBoss PVM
Das Projekt
• Gestartet 2007 durch JBoss (jBPM) und Bull
(Bonita O h t )
(B it & Orchestra)
• Gehostet bei JBoss, LGPL
• POJO-Kern: Interne Prozessrepräsentation durch
Java-Modelle
• Persistenz austauschbar (Hibernate, EJB3)
• Lauffähig mit oder ohne Application Server
Application-Server
• „Library“, kann eigebettet werden
• Aktuell Alpha Version
Bernd Rücker / bernd.ruecker@camunda.com / 13
14. Konzepte & Kernabstraktionen
Prozesse als Zustandsautomat
Verhalten über
Sprache definiert
Bernd Rücker / bernd.ruecker@camunda.com / 14
16. Verhalten von Nodes
Activity (entspricht Executable)
Einfaches Interface um Verhalten zu implementieren:
public interface Activity {
void execute(Execution execution) throws Exception;
}
Beispiel:
public class Display implements Activity {
String message;
public Display(String message) {
this.message = message;
}
public void execute(Execution execution) {
System.out.println(message);
}
}
Bernd Rücker / bernd.ruecker@camunda.com / 16
17. Verhalten von „externen Nodes“
External Activity
Externes
System
execute signal
public class StateActivity implements ExternalActivity {
public void execute(Execution execution) {
execution.waitForSignal();
}
public void signal(Execution execution, String signalName,
Map<String, Object> parameters) {
if (parameters!=null) {
execution.setVariables(parameters);
}
execution.take(signalName);
}
}
Bernd Rücker / bernd.ruecker@camunda.com / 17
18. Beispiel: TaskActivity
z.B.
z B jPDL TaskNode oder BPEL PeopleActivity
Tasklist
quest
public class TaskActivity implements ExternalActivity { execute signal
public void execute(Execution execution) {
// let's use the node name as the task id
String taskName = execution.getNode().getName();
TaskComponent.createTask(taskName,
TaskComponent createTask(taskName execution);
}
public void signal(Execution execution, String signal,
Map<String,
Map<String Object> parameters) {
execution.takeDefaultTransition();
}
}
Bernd Rücker / bernd.ruecker@camunda.com / 18
19. Just an API – PVM definiert keine Sprache
Ein erster kleiner Prozess
ProcessDefinition processDefinition = ProcessFactory.build()
.node("accept loan request").initial().behaviour(new WaitState())
.transition().to("loan evaluation")
.node("loan evaluation").behaviour(new WaitState())
( ) ( ())
.transition("approve").to("wire the money")
.transition("reject").to("end")
.node("wire the money").behaviour(new Display("automatic payment"))
.transition().to("end")
() ( )
.node("end").behaviour(new WaitState())
.done();
Bernd Rücker / bernd.ruecker@camunda.com / 19
20. Implementierung Wartezustand
Beispielsweise der jPDL "State"
State
p
public class WaitState implements ExternalActivity {
p y
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
public void signal(ActivityExecution execution,
String signal,
Map<String, Object> p
p g, j parameters) {
)
execution.take(signal);
}
}
Bernd Rücker / bernd.ruecker@camunda.com / 20
21. Events
"Hooks" im Prozessablauf
Hooks
p
public class Display implements Activity {
p y p y
String message;
public Display(String message) {
this.message = message;
g g ;
}
public void execute(Execution execution) {
System.out.println(message);
}
}
• An Transitionen
• Node-Enter / Node-Leave
• Prozess-Start / Prozess-End
Bernd Rücker / bernd.ruecker@camunda.com / 21
22. Automatische Entscheidungen
"Nur" eine andere Art Activities
Nur
public class A t
bli l AutomaticCreditRating i l
ti C ditR ti implements A ti it {
t Activity
public void execute(Execution execution) {
int creditRate = (Integer) execution.getVariable("creditRate");
if (
(creditRate > 5)
ditR t
execution.take("good");
else if (creditRate < -5)
execution.take("bad");
else
l
execution.take("average");
}
}
Durch Parametrisierung (gesteuert
über die Sprache) kann jPDL- oder
jPDL
BPEL-Entscheidung gebaut werden
Bernd Rücker / bernd.ruecker@camunda.com / 22
23. Execution
Die Schnittstelle zur Prozessmaschine
Bernd Rücker / bernd.ruecker@camunda.com / 23
28. Persistenz
Viele Sprachen – eine Datenbasis
Bernd Rücker / bernd.ruecker@camunda.com / 28
29. Prozesssprachen
Die PVM unterstützt verschiedene Sprachen
• Unterstützung für Graphen & Blockstruktur
• Sprache kann durch entsprechende Nodes
definiert werden
• Für Node-Typen wird Verhalten implementiert
(
(Activities)
)
• Es wird geben
– XPDL: Nova Bonita
– jPDL: JBoss jBPM JPDL
– BPEL
• Eigene DSL (Domain Specific Language) möglich
• MDSD-Ansätze denkbar
Bernd Rücker / bernd.ruecker@camunda.com / 29
30. JBoss jBPM jPDL
Das Projekt
• Business Process Engine
• Proprietäre Sprache „jBPM Process Definition
Language“ (jPDL)
• Aufbauend auf PVM
• Klein und flexibel, leicht erweiterbar
flexibel
• Aktuell in der Entwicklung (released 3.2, noch ohne
PVM),
PVM) Fertigstellung bis Anfang 2009 geplant
• Java-Objekte als Prozessvariablen
Bernd Rücker / bernd.ruecker@camunda.com / 30
31. „Graph oriented programming“ in jPDL 3
Der Prozess als gerichteter Graph
Node 1
Token
current
Node
from to
leaving arriving
Transitions * * Transitions
Transition
<process-definition>
...
<node name=“serve client”>
<transition name=“ok” to=“order” />
<transition name=“nok” to=“joke” />
</node>
<node name=“order” />
<node name=“joke” />
...
</process-definition>
Bernd Rücker / bernd.ruecker@camunda.com / 31
32. Sprachbeispiel jPDL
Node-Typen
• Task-Node: Human Tasks / Aufgaben
• State: Wait-States
St t W it St t
• Fork / Join: Parallelisierung
• Decision: Automatische Entscheidung
• Start-State / End-State
• Super-State
• Process State
Process-State
• …
• Eigene Node-Typen mit
Verhalten können
implementiert werden
erden
Bernd Rücker / bernd.ruecker@camunda.com / 32
33. jBPM & Java
jBPM in a nutshell
• Einfache Java-API zur Steuerung der Engine
– Prozessstart
– Aufgabenliste
–…
• Aufrufen von „User-Code“
– definierte Stellen im Prozess
– Interface & Java-Klassen
Bernd Rücker / bernd.ruecker@camunda.com / 33
34. jBPM & Java
jBPM in a nutshell
JbpmConfiguration conf = JbpmConfiguration.getInstance();
JbpmContext context = conf. createJbpmContext();
ProcessInstance pi = context.getGraphSession().
findLatestProcessDefinition("Ticket").createProcessInstance();
pi.getRootToken().signal();
List<TaskInstance> tasks = context.getTaskMgmtSession().
findTaskInstances("Vertrieb");
tasks.get(0).end("Ticket schliessen");
context.close();
public class MyAction implements ActionHandler {
public void execute(ExecutionContext ctx) {
Object var = ctx.getVariable("var");
result = service.doSomething(var);
ctx.setVariable("result", result);
}
}
Bernd Rücker / bernd.ruecker@camunda.com / 34
36. Prozess Deployment in jBPM 4
jBPM in a nutshell
• Java API .class
• Ant
A t deploy
XML jPDL
• Eclipse-Designer
PVM
• Web-Console XSD
• AdminClient Parser
• MBean DB
• …
jBPM (Zugriff per API)
• Alle Prozesse werden versioniert
• Action-Klassen können mit
deployed und versioniert werden
Bernd Rücker / bernd.ruecker@camunda.com / 36
37. Kurzer Demoprozess
Einfacher Ticketprozess
Actions
Task-Node
T kN d
Node
Transition
State
Bernd Rücker / bernd.ruecker@camunda.com / 37
38. Demoanwendung
Architektur
Browser
jBPM Web-Console (JSF)
Geschäftsprozess
Action Action
JBoss jBPM (Webanwendung)
Zur Vereinfachung in
der Übung: Pure Java!
CRM
System Ticket
System
Tomcat
Bernd Rücker / bernd.ruecker@camunda.com / 38
41. jBPM in der Architektur
Einbettung in eigene Anwendung
• jBPM kann in eigene Java-Architektur integriert
werden
d
• Process Engine ist eigene Architekturschicht
• Domänenobjekte oder Referenzen als
Prozessvariablen
• Ansteuerung ext.
Zum Beispiel EJB-Container
Services im Prozess jBPM jPDL
Human
Session Task
Bean Mgmnt
EJB JCA JMS
WS
Bernd Rücker / bernd.ruecker@camunda.com / 41
42. Command-Pattern
Remote-Zugriffe und Asynchronität
public class TaskInstanceEndCommand
implements Command {
...
public Object execute(JbpmContext jbpmContext) {
TaskInstance taskInstance =
getTaskInstance(jbpmContext);
if (transitionName == null) {
taskInstance.end();
} else {
taskInstance.end(transitionName);
}
return taskInstance;
}
...
}
Bernd Rücker / bernd.ruecker@camunda.com / 42
44. Beispiel: JBoss ESB
Commands in Action
create
Event start
message
(File) process
from file
FilePickupService
Command
prepare
Case call Web
Paramete
Management Service
r
CreateCaseService
JMS- read signal
Message message process
CaseCompletionService
Environment JBoss ESB JBoss jBPM
Bernd Rücker / bernd.ruecker@camunda.com / 44
46. Praxiserfahrungen jBPM jPDL 3
Aus dem Nähkästchen
• Performance und Skalierbarkeit bei korrektem
Einsatz kein Problem
Ei t k i P bl
• Ohne Persistenz minimaler Overhead
• Relativ „leichtgewichtig“, kleine Lernkurve
• Gute Dokumentation für normale Probleme
• Auch in großen Projekten und Unternehmen
eingesetzt
• Ach ja: Tooling (Designer und Webconsole) ist
verbesserungsbedürftig ;-)
Bernd Rücker / bernd.ruecker@camunda.com / 46
47. Architektur
PVM - Hibernate des BPM?
jPDL BPEL …
PVM
Hibernate / JPA
JVM
DB
Sprache XY
Eigener
Code
PVM
Hibernate / JPA
JVM
DB
Produkt XY
Bernd Rücker / bernd.ruecker@camunda.com / 47
48. Fazit & Ausblick
JBoss PVM & jBPM 4
• PVM stabilisiert sich
• Sehr interessantes Konzept, Interesse auch
seitens kommerzieller Tool-Hersteller
• Im Java Umfeld ist JBoss jBPM sehr interessant
• „Leichtgewichtig und in verschiedensten
Leichtgewichtig“
Umgebungen Lauffähig
• Erweiterbar und flexibel
• Vision und Roadmap vorhanden!
• Einige Verbesserungen in jBPM 4: Logging
konfigurierbar, Persistenz austauschbar, Control-
Loop, …
Bernd Rücker / bernd.ruecker@camunda.com / 48
49. Fragen & Antworten
Bernd Rücker
Geschäftsführer
Berater, Trainer & Coach
bernd.ruecker@camunda.com
+49 711 3278645
Unsere Themen
• G
Ganzheitliches BPM
h itli h
• Prozessautomatisierung
• SOA, BPEL, XPDL, jBPM, Drools, ESB
• BPMN
• BPM-Toolauswahl
Unsere Leistungen
• Beratung
• Seminare
• Process as a Service
(Hosting)
Bernd Rücker / bernd.ruecker@camunda.com / 49