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
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!