Prozessgetrieben

Mit BPMN und Activiti agil zur lauffähigen Software
Nils Preusker, camunda services GmbH
Schönen guten Tag!
Diplom Medien Informatiker
Berater, Trainer, Coach                        Nils Preusker
                                             Nils.preusker@camunda.com
Softwareentwickler

„Open S
 O    Source BPM“

Projekterfahrung: JEE und Spring Projekte,
SOA-Architekturen, technische BPM Projekte

Activiti Cycle Core und GUI Entwicklung
-> Committer bei Activiti

Blog: www.nilspreusker.de
Bl         il      k d
Sorry,
Sorry kurzer Werbeblock
             Werbeblock…
camunda services GmbH

                            Your                           • BPM
                          Business                         • BPMN
                                                           • Agile
                                                           • BRM
                            camunda
                                  d
                       Business Consulting


            Your              Your              Your
          Process           Process           Process
         Application
          pp               Application
                            pp               Application
                                              pp




                            camunda
                          IT Consulting
Ein paar Referenzen
BPM ist unsere Leidenschaft




   Publikationen              Influencing Member




   Blogs & Communities        Vorträge
„Enablement“ by camunda
Geschafft!
    Los geht’s mit Activiti
          geht s
...mit einem kleinen Beispiel.
   mit                Beispiel
Anwendungsbeispiel
Wie können wir das verhindern?
Die Lösung: Der Twitter QA Prozess
Demo




       Twitter
        QA
Wege rein und raus aus der Engine

                                   Java API, REST,
                                  Mule (WS), Spring
                                   u ( S), Sp g



            Test
            Case

           Session                     Process Engine
            Bean

            Web-
          Application
                                                             Java, Scripting,
                                                               WS, Spring,
              …                                                  Mule, …




                        Spring   EJB      JCA     JMS   WS
Services




see Apidocs: http://www.activiti.org/javadocs/org/activiti/engine/package-summary.html
Java Delegates: Service Task mit Java Class


              <serviceTask id="SysoutService"
                   name="SysoutService"
                   activiti:class="...InsertIntoWebsitesDelegate"/>
•   Java Engine
•   Open Source (Apache 2.0)
•   POJO + M B ti
             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?
Activiti Komponenten in der Übersicht


       Explorer      Probe        Cycle   Modeler      Designer


                     REST

          Activiti
          A ti iti              Cycle
                                C l       Modeler
                                          M d l
          Engine               Backend    Backend

                           camunda fox
                             Plug-Ins

               Database
         (H2, Oracle, MySQL,              Filesystem
          PostgresSQL, DB2)

              MS-SQL
              MS SQL
              geplant
Es gibt noch viel mehr…

  WebService-Support
  Eclipse Designer
  Spring Integration
  Mule Integration
  OSGI Fähigkeit
  A ti iti & A
   Activiti Apache C
                h Camel
                      l
  Drools Integration
  Flexible Aufgabenzuweisungen
 …
Business-IT-Alignment mit technischen that‘s
     Here‘s your to-be-
     process, ready to                          Modellen?
                            Huh, looks complicated!
                             Where is the part that s
     deploy. C ld you
     d l     Could
     please approve?                             my business?


                 Ehm, it s here.
                 Ehm it‘s here And there
                                    there.
                   And over there. Well
                  somehow, some steps
                    and decisions are        I need gudielines for my
                  completely automated.        p
                                               process, where can I
                                                       ,
                                                    find that?
                   Those parts won‘t be
                  executed by the engine.
                   I cannot model them,
                      they‘d break the         And h t
                                               A d what are th
                                                             those
                       technical flow.         steps for? Nobody         Manager
                                                 specified them!
                                                                        approving
      IT          Yes but we need those
                 steps. Otherwise we will
                                                                         Tweets
                 get data inconsistencies     Inconti-what!? This is
                  in the process context.    just your coding again,
                                               and not my process!

                                              I won‘t approve this.
         Ah, F***
           Y**!
Das ist der Prozess, den der Manager sehen will
Big Picture


                 Process Engine
                   ist auch ein
                   Teilnehmer

 Verschiedene
  Teilnehmer
 kollaborieren
Tooling: Sichten im kommerziellen Signavio
Tooling: Sichten
Auch für die Technik
Mögliche Toolkette



                     …?
                                    …?




     Business User        Analyst        Developer
Activiti Cycle und Repositories   Verschiedenste
                                   Datenquellen
                                   D t      ll
                                     möglich




                                     + YOUR
                                     Repos…
                                     Repos
Easy extensability via Plugins




                      Plugin                   Use annotations for
                      (e.g. jBPM 3)            Plugin Descriptions
                                               and drop jars into
                                                       pj
                                      jBPM 3   classpath
Beispiel: BPMN-Diagramme in JIRA-Issue
Cycle Plug-In Exchange @ camunda fox
Konkret: Entwicklungsvorgehen mit Activiti Cycle




                                                   Entwicklung




                            ?
 Process
 Analyst
Ein mögliches Vorgehen
The whole process




see
http://docs.codehaus.org/display/ACT/Process+authoring+story+boards
„Process Solutions“
Was uns wichtig ist…

 • Developer-Friendliness over Zero Coding
 • Smart Communication over Single-Source-Models
 • Composite Architectures over one-stop-shops
 • Open Source over Out-of-the-Box
Activiti – Roadmap & Community




    Kurzfristig                   Community-Driven

    - Stabilisierung &            - Tooling?
      Vervollständigung           - BPMN?
    - Durchgängige Toolkette      - Reporting?
    - Cycle Story                 - jBPM 3 Migration, …



          Kurzfristig (Q /
                    g (Q1/2011)
                              )            Mittel-/Langfristig
                                                  /   g      g
Erste Praxiserfahrungen                Das Activiti-Training der camunda war eine sehr
                                            Activiti Training
                                       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
                                       D d     h hi l         i    hl i        d ä li h
                                       Orientierung, als auch die Befähigung, mit Activiti
                                       sofort loslegen zu können.

                                       Matthias Meyer
                                       CKC AG



   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
                           p
   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
   Integ ation dank der Unterstützung von Cam nda
                     de Unte stüt ng on Camunda
   auch ohne größere Probleme klappen wird. Der
   Workshop hat unsere Erwartungen absolut erfüllt.

   Tobias Hilka, Vice President Application
   Software Development
   vps ID Systeme GmbH
Also: Anfangen!
                  Activiti Showcase & Demos:
                  www.bpm-guide.de
                  fox.camunda.com



                  Activiti Website:
                  www.activiti.org
                  www activiti org




                  Java Magazin Artikel




                  Training Beratung und
                  professioneller Support von
                  camunda :-)
                            : )
Deutsche User Group
Bald auch…
Typische Unterstützung von uns zum Start…


   Initial-Workshop             Coaching               Support
     oder Training
              g
        1-3 Tage               5-50 Tage
                                      g            kontinuierlich
  Activiti und BPMN       Begleitende Beratung   Verfügbarkeit per
  kennenlernen                                   Telefon/Email
  Evaluierung und         Schulungen
  Vergleich mit anderen                          Activiti und BPMN
  Lösungen                Prototyping
                                                 Release-Briefings
  Diskussion des          Proof of Concept
  Vorhabens und der                              Einfluss auf Features
  Anforderungen
     f d                  Ggf. Realisierungen    (Priorität und
  Definition eines                               Committs)
  sinnvollen Stacks und
  Architektur
Vielen Dank! Fragen?
camunda services GmbH
 Vielen Dank!                                         Zossener Str. 55-58
                                                      10961 Berlin
                                                                    55 58

                                                      Telefon: +49 30 664 0409-00
                                                      Telefax: +49 30 664 0409-29
                                                      Email: info@camunda.com
                                                               f @




                                  Nils Preusker
                       Consultant, Trainer,
                       Consultant Trainer Developer
                       Nils.preusker@camunda.com


MATHEMA Campus
Erlangen, 11.03.2011

                                                      Der Praxis-Blog zu BPM:
                                                      www.bpm-guide.de

20110311 activiti mathema

  • 1.
    Prozessgetrieben Mit BPMN undActiviti agil zur lauffähigen Software Nils Preusker, camunda services GmbH
  • 2.
  • 3.
    Diplom Medien Informatiker Berater,Trainer, Coach Nils Preusker Nils.preusker@camunda.com Softwareentwickler „Open S O Source BPM“ Projekterfahrung: JEE und Spring Projekte, SOA-Architekturen, technische BPM Projekte Activiti Cycle Core und GUI Entwicklung -> Committer bei Activiti Blog: www.nilspreusker.de Bl il k d
  • 4.
  • 5.
    camunda services GmbH Your • BPM Business • BPMN • Agile • BRM camunda d Business Consulting Your Your Your Process Process Process Application pp Application pp Application pp camunda IT Consulting
  • 6.
  • 7.
    BPM ist unsereLeidenschaft Publikationen Influencing Member Blogs & Communities Vorträge
  • 8.
  • 9.
    Geschafft! Los geht’s mit Activiti geht s ...mit einem kleinen Beispiel. mit Beispiel
  • 10.
  • 11.
    Wie können wirdas verhindern?
  • 12.
    Die Lösung: DerTwitter QA Prozess
  • 13.
    Demo Twitter QA
  • 14.
    Wege rein undraus aus der Engine Java API, REST, Mule (WS), Spring u ( S), Sp g Test Case Session Process Engine Bean Web- Application Java, Scripting, WS, Spring, … Mule, … Spring EJB JCA JMS WS
  • 15.
  • 16.
    Java Delegates: ServiceTask mit Java Class <serviceTask id="SysoutService" name="SysoutService" activiti:class="...InsertIntoWebsitesDelegate"/>
  • 17.
    Java Engine • Open Source (Apache 2.0) • POJO + M B ti MyBatis • „Library“ / „Framework“ • Flexibel und Erweiterbar • BPMN 2.0 • Projektstart 03/2010 • 01.12.2010: Release 5.0 GA • Motivation Alfresco: jBPM Replacement
  • 18.
  • 19.
    Activiti Komponenten inder Übersicht Explorer Probe Cycle Modeler Designer REST Activiti A ti iti Cycle C l Modeler M d l Engine Backend Backend camunda fox Plug-Ins Database (H2, Oracle, MySQL, Filesystem PostgresSQL, DB2) MS-SQL MS SQL geplant
  • 20.
    Es gibt nochviel mehr…  WebService-Support  Eclipse Designer  Spring Integration  Mule Integration  OSGI Fähigkeit  A ti iti & A Activiti Apache C h Camel l  Drools Integration  Flexible Aufgabenzuweisungen …
  • 22.
    Business-IT-Alignment mit technischenthat‘s Here‘s your to-be- process, ready to Modellen? Huh, looks complicated! Where is the part that s deploy. C ld you d l Could please approve? my business? Ehm, it s here. Ehm it‘s here And there there. And over there. Well somehow, some steps and decisions are I need gudielines for my completely automated. p process, where can I , find that? Those parts won‘t be executed by the engine. I cannot model them, they‘d break the And h t A d what are th those technical flow. steps for? Nobody Manager specified them! approving IT Yes but we need those steps. Otherwise we will Tweets get data inconsistencies Inconti-what!? This is in the process context. just your coding again, and not my process! I won‘t approve this. Ah, F*** Y**!
  • 23.
    Das ist derProzess, den der Manager sehen will
  • 24.
    Big Picture Process Engine ist auch ein Teilnehmer Verschiedene Teilnehmer kollaborieren
  • 25.
    Tooling: Sichten imkommerziellen Signavio
  • 26.
  • 27.
  • 28.
    Mögliche Toolkette …? …? Business User Analyst Developer
  • 29.
    Activiti Cycle undRepositories Verschiedenste Datenquellen D t ll möglich + YOUR Repos… Repos
  • 30.
    Easy extensability viaPlugins Plugin Use annotations for (e.g. jBPM 3) Plugin Descriptions and drop jars into pj jBPM 3 classpath
  • 31.
  • 32.
  • 33.
    Konkret: Entwicklungsvorgehen mitActiviti Cycle Entwicklung ? Process Analyst
  • 34.
  • 35.
  • 36.
  • 37.
    Was uns wichtigist… • Developer-Friendliness over Zero Coding • Smart Communication over Single-Source-Models • Composite Architectures over one-stop-shops • Open Source over Out-of-the-Box
  • 38.
    Activiti – Roadmap& Community Kurzfristig Community-Driven - Stabilisierung & - Tooling? Vervollständigung - BPMN? - Durchgängige Toolkette - Reporting? - Cycle Story - jBPM 3 Migration, … Kurzfristig (Q / g (Q1/2011) ) Mittel-/Langfristig / g g
  • 39.
    Erste Praxiserfahrungen Das Activiti-Training der camunda war eine sehr Activiti Training 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 D d h hi l i hl i d ä li h Orientierung, als auch die Befähigung, mit Activiti sofort loslegen zu können. Matthias Meyer CKC AG 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 p 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 Integ ation dank der Unterstützung von Cam nda de Unte stüt ng on Camunda auch ohne größere Probleme klappen wird. Der Workshop hat unsere Erwartungen absolut erfüllt. Tobias Hilka, Vice President Application Software Development vps ID Systeme GmbH
  • 40.
    Also: Anfangen! Activiti Showcase & Demos: www.bpm-guide.de fox.camunda.com Activiti Website: www.activiti.org www activiti org Java Magazin Artikel Training Beratung und professioneller Support von camunda :-) : )
  • 41.
  • 42.
  • 43.
    Typische Unterstützung vonuns zum Start… Initial-Workshop Coaching Support oder Training g 1-3 Tage 5-50 Tage g kontinuierlich Activiti und BPMN Begleitende Beratung Verfügbarkeit per kennenlernen Telefon/Email Evaluierung und Schulungen Vergleich mit anderen Activiti und BPMN Lösungen Prototyping Release-Briefings Diskussion des Proof of Concept Vorhabens und der Einfluss auf Features Anforderungen f d Ggf. Realisierungen (Priorität und Definition eines Committs) sinnvollen Stacks und Architektur
  • 44.
  • 45.
    camunda services GmbH Vielen Dank! Zossener Str. 55-58 10961 Berlin 55 58 Telefon: +49 30 664 0409-00 Telefax: +49 30 664 0409-29 Email: info@camunda.com f @ Nils Preusker Consultant, Trainer, Consultant Trainer Developer Nils.preusker@camunda.com MATHEMA Campus Erlangen, 11.03.2011 Der Praxis-Blog zu BPM: www.bpm-guide.de