35
camunda BPM und Apache Camel Eine leichtgewichtige BPM/SOA Infrastruktur [email protected]

camunda BPM + Apache Camel

Embed Size (px)

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

Page 1: camunda BPM + Apache Camel

camunda BPM und Apache Camel

Eine leichtgewichtige BPM/SOA Infrastruktur

[email protected]

Page 2: camunda BPM + Apache Camel

Bernd Rücker

camunda services GmbH

Page 3: camunda BPM + Apache Camel

Qu

elle

: N

ico

lai Jo

su

ttis

Was wir uns heute anschauen

Page 4: camunda BPM + Apache Camel

SOA & der ESB

Integration-Code(XML)

Entwickler(Spielkinder)

Der ESB(versteckt die ganze Sauerei)

Lecker Features

Page 5: camunda BPM + Apache Camel

Meine Mission

BPM für JEDEN Java-Entwickler

Page 6: camunda BPM + Apache Camel

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.

Page 7: camunda BPM + Apache Camel

Qu

elle

: N

ico

lai Jo

su

ttis

Big Picture

Page 8: camunda BPM + Apache Camel

camunda BPM Komponenten

Engine

TasklistIndividuelles

FrontendCockpit

Cycle

Modeler

FachlicherModeler

FachanwenderFachlicher / Technischer

Betrieb

BusinessAnalyst

EntwicklerDatenbank

File Repository

REST / Java API

REST RESTREST / Java

Page 9: camunda BPM + Apache Camel

Was camunda BPM nicht ist

Prozesse

Integration

Rules

GUI

Reporting

Dokumente

und ich brauch noch...

Ham wa nich!

Page 10: camunda BPM + Apache Camel

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)

Page 11: camunda BPM + Apache Camel

Beispiel: Apache Camel

Prozesse

camunda BPM

Integration

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

Page 12: camunda BPM + Apache Camel

Apache Camel: Typischer Use Case

dropcsvfile

poll files

do something

with it

transformdata

Page 13: camunda BPM + Apache Camel

Beispiel

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

Page 14: camunda BPM + Apache Camel

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

Page 15: camunda BPM + Apache Camel

Why is Camel cool?

Page 16: camunda BPM + Apache Camel

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

+camunda-bpmcomponent

Page 17: camunda BPM + Apache Camel

camunda-bpm-camel

http://camundabpm.blogspot.de

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

Page 18: camunda BPM + Apache Camel

Beispiel mit Integrationspunkten

Apache Camel

Page 19: camunda BPM + Apache Camel

DEMO

Page 20: camunda BPM + Apache Camel

Start Process Instance

Apache Camel

Page 21: camunda BPM + Apache Camel

Start Process Instance by Message

Apache Camel

Page 22: camunda BPM + Apache Camel

Call synchronous Service

Apache Camel

Page 23: camunda BPM + Apache Camel

Handle errors during service calls

Apache Camel

Page 24: camunda BPM + Apache Camel

Call asynchronous services

Apache Camel

Page 25: camunda BPM + Apache Camel

Handle response messages

Apache Camel

Page 26: camunda BPM + 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

Page 27: camunda BPM + Apache Camel

Aufpassen: Content Based Routing!

Quelle: JBoss ESB

Quelle: Mule ESB

Page 28: camunda BPM + Apache Camel

Was bringt uns das?

„Passion“ / Freude

Produktivität

Kein Vendor-Lock-In

Black BoxSuites

Page 29: camunda BPM + Apache Camel

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

Page 30: camunda BPM + Apache Camel

Ausgewählte camunda BPM Referenzanwender

Page 31: camunda BPM + Apache Camel

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

Page 32: camunda BPM + Apache Camel

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

Page 33: camunda BPM + Apache Camel

Anfangen!

camunda BPM 7.0.0-Final(31.08.2013)

www.camunda.org

Page 34: camunda BPM + Apache Camel

Online-Meeting 1x pro Monat

−Montag, 30.09., 17.00: Testing

Diverse Vor-Ort-Termine:

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

Und mitreden!

Page 35: camunda BPM + Apache Camel

Vielen Dank!

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