20110223 activiti
TRANSCRIPT
Open Source BPM mit ActivitiOpen Source BPM mit Activiti
Bernd Rücker, camunda services GmbH
Hallo!Hallo!
Master of Science in Software Technology
Berater, Trainer, Coach
Softwareentwickler
„BPM mit der technischen Brille“
Projekterfahrung seit 2002: Technische BPM/SOA-Architekturen, Java Enterprise Edition (JEE)
Bernd Rü[email protected]
Activiti Cycle Component Lead
Committer bei Activiti & JBoss jBPM
Blog: www.bpm-guide.de
Los geht’s mit einem kleinen Beispiel…Beispiel…
AnwendungsbeispielAnwendungsbeispiel
Wollen wir das?Wollen wir das?
Die Lösung: Der Twitter QA Prozess ;-)Die Lösung: Der Twitter QA Prozess ;-)
DemoDemo
TwitterQA
SessionBean
Process Engine
Wege rein und raus aus der EngineWege rein und raus aus der Engine
TestCase
Java API, REST, Mule (WS), Spring
JCA JMSEJB WS
Web-Application
…
Spring
Java, Scripting, WS, Spring, Mule, …
ServicesServices
see Apidocs: http://www.activiti.org/javadocs/org/activiti/engine/package-summary.html
Service Task with Java ClassService Task with Java Class
<serviceTask id="SysoutService"name="SysoutService"activiti:class="...InsertIntoWebsitesDelegate"/>
• Java Engine
• Open Source (Apache 2.0)
• POJO + MyBatis• POJO + MyBatis
• „Library“ / „Framework“
• Flexibel und Erweiterbar
• BPMN 2.0
• Projektstart 03/2010
• 01.12.2010: Release 5.0 GA
• Motivation Alfresco: jBPM Replacement
Wer ist Activiti?Wer ist Activiti?
Activiti Komponenten in der ÜbersichtActiviti Komponenten in der Übersicht
Activiti
REST
Cycle
CycleExplorer Probe Modeler
Modeler
Designer Kickstart
ActivitiEngine
CycleBackend
Modeler Backend
DatabaseDatabase(H2, Oracle, MySQL, PostgresSQL, DB2)
MS-SQLgeplant
camunda foxPlug-Ins
Filesystem
� WebService-Support
� Eclipse Designer
� Spring Integration
� Mule Integration
� OSGI Fähigkeit
� Activiti & Apache Camel
Es gibt noch viel mehr…Es gibt noch viel mehr…
� Activiti & Apache Camel
� Drools Integration
� Flexible Aufgabenzuweisungen
� …
Und wofür ist das nun gut?Und wofür ist das nun gut?
AnpassbareStandard-SW
UnternehmensweitBPM + SOA
Und wofür ist das nun gut?Und wofür ist das nun gut?
SoftwareProjekt
Business-IT-Alignment mit technischen Modellen?Business-IT-Alignment mit technischen Modellen?
And what are those
I need gudielines for myprocess, where can I
find that?Those parts won‘t be
executed by the engine. I cannot model them,
they‘d break the
Here‘s your to-be-process, ready todeploy. Could youplease approve?
Huh, looks complicated! Where is the part that‘s
my business?
Ehm, it‘s here. And there. And over there. Well
somehow, some stepsand decisions are
completely automated.
Ah, F***Y**!
Inconti-what!? This is just your coding again, and not my process!
I won‘t approve this.
Yes but we need those steps. Otherwise we will get data inconsistencies in the process context.
And what are thosesteps for? Nobody
specified them!
they‘d break the technical flow. Manager
approvingTweetsIT
Das ist der Prozess, den der Manager sehen willDas ist der Prozess, den der Manager sehen will
Big PictureBig Picture
Verschiedene Teilnehmerkollaborieren
Process Engine ist auch ein Teilnehmer
Tooling: Sichten im kommerziellen SignavioTooling: Sichten im kommerziellen Signavio
Tooling: SichtenTooling: Sichten
Auch für die TechnikAuch für die Technik
Mögliche ToolketteMögliche Toolkette
…?…?
DeveloperAnalystBusiness User
Activiti Cycle und RepositoriesActiviti Cycle und Repositories
+ YOURRepos…
VerschiedensteDatenquellen
möglich
Repos…
Easy extensability via PluginsEasy extensability via Plugins
Plugin(e.g. jBPM 3)
jBPM 3
Use annotations forPlugin Descriptionsand drop jars intoclasspath
Beispiel: BPMN-Diagramme in JIRA-IssueBeispiel: BPMN-Diagramme in JIRA-Issue
Cycle Plug-In Exchange @ camunda foxCycle Plug-In Exchange @ camunda fox
Konkret: Entwicklungsvorgehen mit Activiti CycleKonkret: Entwicklungsvorgehen mit Activiti Cycle
Entwicklung
?ProcessAnalyst
?
Ein mögliches VorgehenEin mögliches Vorgehen
The whole processThe whole process
seehttp://docs.codehaus.org/display/ACT/Process+authoring+story+boards
• Developer-Friendliness over Zero Coding
• Smart Communication over Single-Source-Models
• Composite Architectures over one-stop-shops
• Open Source over Out-of-the-Box
Was uns wichtig ist…Was uns wichtig ist…
Activiti – Roadmap & CommunityActiviti – Roadmap & Community
Kurzfristig
- Stabilisierung & Vervollständigung
- Toolkette - Cycle Story
Community-Driven
- Tooling?- BPMN?- Reporting? - jBPM 3 Migration, …
PraxiserfahrungenPraxiserfahrungenDas Activiti-Training der camunda war eine sehr hilfreiche Einführung. Wir haben nicht nur gelernt, wie und warum man diese Plattform einsetzen sollte, sondern auch viele Tricks und Kniffe aus der Praxis der Prozessautomatisierung erfahren. Dadurch erhielten wir sowohl eine grundsätzliche Orientierung, als auch die Befähigung, mit Activiti sofort loslegen zu können.
Matthias MeyerCKC AG
Der Workshop hat uns in unserer Entscheidung Der Workshop hat uns in unserer Entscheidung bestätigt, ein Workflow-System in unser System zu integrieren und keine Eigenimplementierung unserer integrierten Prozesse vorzunehmen. Während des Workshops haben wir einen sehr guten Einblick in BPMN 2.0 und insbesondere Activiti bekommen. Hier wurden wir auch bestärkt, dass wir mit Activiti ein leistungsfähiges Framework an die Hand bekommen und die Integration dank der Unterstützung von Camundaauch ohne größere Probleme klappen wird. Der Workshop hat unsere Erwartungen absolut erfüllt.
Tobias Hilka, Vice President Application Software Developmentvps ID Systeme GmbH
� Ein ganz dickes Lob für Activiti! Es funktioniert auf Anhieb -und wie!
� Ich mag mir gar nicht vorstellen, was es an Zeit und Geld gekostet hätte, das mit z.B. dem IBM Process Server zu schaffen
� Leichtgewichtig, API sehr gut überschaubar
Feedback zu ActivitiFeedback zu Activiti
� Logging, Nachvollziehbarkeit, Timer- und Eskalationshandling sehr gut gelöst
� Erstaunlich gute Integration mit Spring
� ...
Also: Anfangen!Also: Anfangen!
Activiti Showcase & Demos: www.bpm-guide.defox.camunda.com
Activiti Website:www.activiti.org
Java Magazin Artikel
Training Beratung und professioneller Support von camunda :-)
Selbsthilfegruppe: www.activiti-users.orgSelbsthilfegruppe: www.activiti-users.org
Bald auch…Bald auch…
„Enablement“ by camunda„Enablement“ by camunda
Vielen Dank! Fragen?Vielen Dank! Fragen?
Vielen Dank!Vielen Dank!camunda services GmbHZossener Str. 55-5810961 Berlin
Telefon: +49 30 664 0409-00Telefax: +49 30 664 0409-29
Email: [email protected]
www.bpm-guide.de
Der Praxis-Blog zu BPM:
@camunda.com
Geschäftsführer
Bernd Rücker
bernd.ruecker
BPM & SOA Integration Days
Düsseldorf, 23.02.2010