camunda BPM + Apache Camel

Preview:

DESCRIPTION

Slides from my talk at JUG Karlsruhe 25-Septemer-2013. Code is available and described in this blogpost: http://camundabpm.blogspot.de/2013/09/camunda-bpm-apache-camel-integrating.html

Citation preview

camunda BPM und Apache Camel

Eine leichtgewichtige BPM/SOA Infrastruktur

bernd.ruecker@camunda.com

Bernd Rücker

camunda services GmbH

Qu

elle

: N

ico

lai Jo

su

ttis

Was wir uns heute anschauen

SOA & der ESB

Integration-Code(XML)

Entwickler(Spielkinder)

Der ESB(versteckt die ganze Sauerei)

Lecker Features

Meine Mission

BPM für JEDEN Java-Entwickler

Heute

“camunda BPM platform

is a flexible framework for workflow and process automation. It's core is a native BPMN 2.0 process engine that runs inside the Java Virtual Machine.

“Apache Camel is a

versatile open-source integration frameworkbased on known Enterprise Integration Patterns.

Qu

elle

: N

ico

lai Jo

su

ttis

Big Picture

camunda BPM Komponenten

Engine

TasklistIndividuelles

FrontendCockpit

Cycle

Modeler

FachlicherModeler

FachanwenderFachlicher / Technischer

Betrieb

BusinessAnalyst

EntwicklerDatenbank

File Repository

REST / Java API

REST RESTREST / Java

Was camunda BPM nicht ist

Prozesse

Integration

Rules

GUI

Reporting

Dokumente

und ich brauch noch...

Ham wa nich!

Besser: 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, ZalandoGmbH)

Beispiel: Apache Camel

Prozesse

camunda BPM

Integration

Apache Camel+Komponenten:• File• JMS• FTP• …• Twitter• Salesforce• …

Apache Camel: Typischer Use Case

dropcsvfile

poll files

do something

with it

transformdata

Beispiel

Quelle: Eric Weikl, TNG: http://www.youtube.com/watch?v=6Hw6wceWMfchttps://speakerdeck.com/ericweikl/meet-the-camel-eai-made-easy

http://camel.apache.org/architecture.html

Why is Camel cool?

http://camel.apache.org/architecture.html

+camunda-bpmcomponent

camunda-bpm-camel

http://camundabpm.blogspot.de

https://github.com/camunda/camunda-bpm-camel

Beispiel mit Integrationspunkten

Apache Camel

DEMO

Start Process Instance

Apache Camel

Start Process Instance by Message

Apache Camel

Call synchronous Service

Apache Camel

Handle errors during service calls

Apache Camel

Call asynchronous services

Apache Camel

Handle response messages

Apache Camel

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

Aufpassen: Content Based Routing!

Quelle: JBoss ESB

Quelle: Mule ESB

Was bringt uns das?

„Passion“ / Freude

Produktivität

Kein Vendor-Lock-In

Black BoxSuites

Deployment-Szenarien

Application Server App Server Camel

camunda BPM

Anwendung

camunda BPM

Anwendung

camel

Variante 1:Camel Teil der Anwendung

Variante 3Camel Standalone

Application Server

camunda BPM

Anwendung

camel

Variante 2Camel Dienst des Application

Server

Ausgewählte camunda BPM Referenzanwender

Community vs. Enterprise Edition

Community Edition Enterprise Edition

License Apache License 2.0 commercial

Quellcode verfügbar

für Lizenznehmer

Features

Process Engine

+ Distributions for Tomcat, JBoss, Glassfish

+ Distributions for IBM Websphere AS, Oracle WLS

Modeler

Tasklist

Cycle

Cockpit

Consulting

Support

Wartung

Haftungsfreistellung

Wartung: Release Management

6.2

7.0-alpha1 ... 7.0-alpha[x]

7.0

6.2.1 ... 6.2.[x]

7.1-alpha1 ... 7.1-alpha[x]

7.0.1 ... 7.0.[x]

GA Release

Development Release

Patch Release

6.2 7.0

CommunityEdition

EnterpriseEdition

Anfangen!

camunda BPM 7.0.0-Final(31.08.2013)

www.camunda.org

Online-Meeting 1x pro Monat

−Montag, 30.09., 17.00: Testing

Diverse Vor-Ort-Termine:

−http://www.camunda.org/community/meetings.html

Und mitreden!

Vielen Dank!

http://www.camunda.com/jobs/

Recommended