camunda BPM @ JUG München

37
camunda BPM 15.07.2013 – Java User Group München [email protected]

description

 

Transcript of camunda BPM @ JUG München

Page 1: camunda BPM @ JUG München

camunda BPM

15.07.2013 – Java User Group München

[email protected]

Page 2: camunda BPM @ JUG München

Willkommen

Page 3: camunda BPM @ JUG München

Bernd Rücker

camunda services GmbH

Page 4: camunda BPM @ JUG München

Meine Mission

BPM für JEDEN Java-Entwickler

Page 5: camunda BPM @ JUG München

Demo

Page 6: camunda BPM @ JUG München

Standalone

Page 7: camunda BPM @ JUG München

Unit Testing

Page 8: camunda BPM @ JUG München

Fluent Testing API contributed by

https://github.com/camunda/camunda-bpm-fluent-testing

Page 9: camunda BPM @ JUG München

Oder BDD

Feature: Performance process happy path

Scenario: should start and wait on timer

Given the process definition "bpmn/performance.bpmn"

When the initial payload variable "timerDate" is set correctly

And the process "process_performance" is started with payload

Then the step "timer_waitForDate" is reached

And the payload "tree" variable is set correctly

And the payload "timerDate" variable is set correctly

1

@When("the process \"$instanceName\" is started with payload")

@Given("the process \"$instanceName\" is started with payload")

public void processIsStartedWithPayload(String instanceName) {

assertNotNull(initialPayload);

support.startProcessInstanceByKey(instanceName,

initialPayload);

}

Page 10: camunda BPM @ JUG München

Spring

Page 11: camunda BPM @ JUG München

Process Engine = Infrastruktur

Process Engine

Container

My process application2

Java Classes

BPMN 2.0 Processes

JPA, EJB, JTA …

My process application1

Java Classes

BPMN 2.0 Processes

My process application1

process engine (jar)

Java Classes

BPMN 2.0 Processes

… My process application2

process engine (jar)

Java Classes

BPMN 2.0 Processes

Websphere, WebLogic, …

Page 12: camunda BPM @ JUG München

camunda BPM Komponenten

Glassfish

Tomcat

JBoss

WebSphere

WebLogic

Page 13: camunda BPM @ JUG München

Der richtige Ansatz?

Page 14: camunda BPM @ JUG München

Best of Breed

Integration

• Apache CXF

• Apache Camel

• Mule ESB

• Talend ESB

• IBM ESB

• Apache CMIS

• ...

GUI

• HTML 5, PHP

• JSF, Vaadin, GWT

• xyz Portal Server

• Swing

• Orbeon

• ...

Prozesse

camunda BPM

+ Reporting

• Jasper

• BIRT

• ...

Rules

• JBoss Drools

• IBM ILOG

• ...

Documents

• Alfresco ECM

• ...

...what ever!

• Java

• ... (REST)

“Die offene Plattform erlaubt

uns die Abbildung unserer individuellen Anforderungen mit einer Konsequenz, die geschlossene BPM-Suiten nicht erreichen können.“ (Marko Lehn, Teamlead Software Engineering, Zalando GmbH)

Page 15: camunda BPM @ JUG München

ESB Integration

Process Engine

Consumer Consumer

Provider

REST REST

Page 16: camunda BPM @ JUG München

Beispiel: Kontoeröfnung

1.

2.

3.

Page 17: camunda BPM @ JUG München

In BPMN

Page 18: camunda BPM @ JUG München

BPMN Teil 2

Page 19: camunda BPM @ JUG München

Kollaboration

Page 20: camunda BPM @ JUG München

Demo

Page 21: camunda BPM @ JUG München

Real-Life-Versicherungsbeispiel

ESB

Sachbearbeiter

Genehmiger

Page 22: camunda BPM @ JUG München

Deployment-Szenarien

Application Server App Server Camel

camunda BPM

Anwendung

camunda BPM

Anwendung

camel

Variante 1: Camel Teil der Anwendung

Variante 3 Camel als Standalone Server

Application Server

camunda BPM

Anwendung

camel

Variante 2 Camel Dienst des Application

Server

Page 23: camunda BPM @ JUG München

Prozessfluss

Persistenter Zustandsautomat

Business-IT-Alignment (mit BPMN 2.0)

Human Task Management

Service-Orchestrierung

Wer macht was?

„Connectivity“

Abstraktion der Schnittstellen-Technologie

Orttransparenz / Routing

Transformation

Page 24: camunda BPM @ JUG München

Aufpassen: Content Based Routing

Quelle: JBoss ESB

Quelle: Mule

Page 25: camunda BPM @ JUG München

Was bringt uns das?

„Passion“ / Freude

Produktivität

Kein Vendor-Lock-In

Black Box BPM-Suite

Page 26: camunda BPM @ JUG München

Wer setzt camunda BPM ein? und v

iele

mehr…

Page 27: camunda BPM @ JUG München

Okay Dudes – but why did you fork Activiti?

Quelle: http://dudespaper.com/look-both-ways.html/

Page 28: camunda BPM @ JUG München

Quelle: http://en.wikipedia.org/wiki/Alfresco_%28software%29 http://www.verkehrsrundschau.de/zalando-eroeffnet-logistikzentrum-in-erfurt-1186912.html

Use Cases

Page 29: camunda BPM @ JUG München

Activiti®

camunda BPM

your BPM solution

BPMN 2.0 & roundtrip

operations incl.

monitoring huge scenarios

best of breed +

ease of use

Business Analysts

Page 30: camunda BPM @ JUG München

Leidenschaftliches Vollzeit-Team

+

Page 31: camunda BPM @ JUG München

Maven dependencies: activiti-engine.jar => camunda-engine.jar

Package names: org.activiti => org.camunda.bpm

A couple of (internal) classes are renamed

Not changed:

Database schema and table names (fork of Activiti 5.11)

Migration is easy

Ctrl+Shift+O

Page 32: camunda BPM @ JUG München

Eclipse BPMN 2.0 Modeler

Shared Process Engine & Container Integration

REST API

Web Tools (Cockpit, Tasklist and Cycle)

Performance Improvements

Improved error handling and KPI logging

BPMN 2.0 coverage

Keep up-to-date: http://camundabpm.blogspot.de

Differences

Page 33: camunda BPM @ JUG München

Roadmap always online 7.0 GA Release 31.08.2013

Page 34: camunda BPM @ JUG München

Anfangen!

www.camunda.org

Page 35: camunda BPM @ JUG München

Was anzubieten?

[email protected]

Und vorbeikommen!

Page 36: camunda BPM @ JUG München

Erarbeitung von Best Practices

Erster Termin: 29.07.2013 |17.00 – 18.30

WebEX - Anmeldung über camunda.org

Themen Backlog

−Daten in Prozessen

−Prozessversionierung

−Threading & Transaktionssteuerung

−Fehlerbehandlung

−Testing

−Integration & ESB

−Reporting

−…

Online Arbeitsgruppe „Best Practices“

Page 37: camunda BPM @ JUG München

Vielen Dank! Neuer Job gesucht? www.camunda.com/jobs/