SlideShare ist ein Scribd-Unternehmen logo
1 von 45
E6
Business Process Management mit
                    JBoss jBPM


               Java Forum Stuttgart
                        05.07.2007
                     Bernd Rücker
Agenda
      • Geschäftsprozesse (mit Java)
      • JBoss jBPM
      • Ein Blick in die Java Process Definition
        Languange (jPDL)
      • Verwendung von jBPM / Architektur




Bernd Rücker / bernd.ruecker@camunda.com
Über mich…
      • camunda GmbH, Bad Mergentheim
      • Hauptfokus Beratung, Training & Projektarbeit im Bereich
              – Unternehmensanwendungen mit Java EE
              – business process engines & business rules
      • Sehr gute Erfahrung mit
              –   JBoss AS
              –   JBoss jBPM
              –   JBoss Rules (aka Drools)
              –   EJB 3, Hibernate, JDO
              –   Jack-Rabbit (Java Content Repository / JCR)
              –   Open Source Business Intelligence (Pentaho, …)
      • Ich comitte im JBoss jBPM Projekt
      • SENS-Experte
      • Kontakt:
              bernd.ruecker@camunda.com
Bernd Rücker / bernd.ruecker@camunda.com
Geschäftsprozess
      • Aus Input wird durch eine Reihe von
        Aktivitäten ein definiertes Arbeitsergebnis
      • Wertschöpfend
      • Lang laufend (bis zu mehreren Monaten)
      • Fachlich motiviert
      • Aktivitäten werden teilweise durch
        Menschen, teilweise automatisch
        durchgeführt


Bernd Rücker / bernd.ruecker@camunda.com
Status Quo (häufig)


                     GUI
                                                    Papier              E-Mail

                                           Gui 1               Gui 2                   Gui 3


                     Systeme

                                                             Kundenkonto-           SAP
                                                             Komponente            Server


                                                                            EAI-Tool
                                      Web-Service




Bernd Rücker / bernd.ruecker@camunda.com
Integrationsarten
         Prozesse
                                  Aktivität 1         Aktivität 2        Aktivität 3
                                                                                       Prozess-
                                                                                       integration

                                                       Services
         Anwendungen
                                      Anwendung 1                   Anwendung 2
                                                                                       Funktions-
                                                                                       integration
                                                      Middleware



         Daten

                                                Logische DB
                                                                                       Daten-
                                                                                       integration
                                     DB 1                                DB 2




Bernd Rücker / bernd.ruecker@camunda.com
Beschränkungen Java für GP
      Java SE
      • Keine langlebigen Prozesse
      • Persistenz
      Java EE (z.B. Statefull Session Beans)
      • Versionierung von Prozessen
      • Prozess-Log
      • Grafische Prozessbeschreibung
      • …
         Eigene Business Process Engine
Bernd Rücker / bernd.ruecker@camunda.com
Was macht eine BP-Engine?
      • Versionierung, Persistenz & Interpretation von
        Prozessmodellen
      • Steuerung & Persistenz von Prozessinstanzen
      • Einbindung externer Services
      • Verwalten von Ereignissen (wie Timeouts, …)
      • Prozesskontext (Variablen zu Prozess speichern)
      • Bereitstellung eines Logs
      • Task-Management

             Container für Geschäftsprozesse


Bernd Rücker / bernd.ruecker@camunda.com
Business Process Engine

       Business Analyst                    Sachbearbeiter
                                                                      Aufgaben-
                                                                      Verwaltung




                                                          Prozess-                    Fremd-
                                                         Ausführung                Anwendungen


                   Prozess-
                  definitionen                                    Administration

                                                                                   Administrator
               Prozess-
                 Logs

                                                               Persistenz
      Business Process Engine (BPM-Engine)




Bernd Rücker / bernd.ruecker@camunda.com     Developer
Business Process Management


                                                        Business Analyst

                                       Analyse
                                                                            Weitere Dienste
     Management                                                Design       der BPM-Suiten
                                                                            • Business Activity
                                                                              Monitoring (BAM)
                               iterative Verbesserung
                                                                            • Simulation
      Umsetzung                                              Modellierung
                                                                            • Modellierung
                                  Implementierung



                                   Business Process Engine
       Developer


Bernd Rücker / bernd.ruecker@camunda.com
Prozessmodelle




                                           Quelle: Tom Baeyens

Bernd Rücker / bernd.ruecker@camunda.com
Prozessmodelle




                                           Quelle: Tom Baeyens
Bernd Rücker / bernd.ruecker@camunda.com
Konkret: jPDL




Bernd Rücker / bernd.ruecker@camunda.com
Oder: BPMN + BPEL




                                           BPMN




                                           BPEL




                                                  Quelle: Tom Baeyens
Bernd Rücker / bernd.ruecker@camunda.com
jPDL vs. BPEL
         EJB-Container (oder Tomcat oder Java SE)
                                     jBPM (jPDL)

               Session
                Bean




                              EJB          JCA   JMS
                                                       WS
                                                                             BPEL-Server

                                                            WS


                                             Java                    WS          WS        WS

                                                             EJB-Container       .NET      …

                                                             EJB   JMS, …




Bernd Rücker / bernd.ruecker@camunda.com
BPEL
      • Anerkannter Standard
      • Transaktionssteuerung nur auf Ebene der
        Services
      • Alles asynchron
      • WSDL

            Ist BPEL vielleicht Service-Orchestrierung,
            nicht Business Process Management?


Bernd Rücker / bernd.ruecker@camunda.com
Überblick JBoss jBPM
                            Jboss jBPM
                                                       JBoss jBPM ist
     jPDL         BPEL         other process models…   • Business Process
            Process Virtual Machine (PVM)                Engine
          Hibernate                                    • „platform for
       DB               Java Virtual Machine (JVM)       process languages“
      • Engine, die lang laufende Geschäftsprozesse
        ausführen kann
      • Prozessinstanzen werden in DB gespeichert
        um langlebige Prozesse zu ermöglichen
      • Wait-States
      • Grafische Prozessdarstellung
Bernd Rücker / bernd.ruecker@camunda.com
jPDL: Java Process Definition Language
      • Prozessbeschreibungen als XML-File
      • Eigener grafischer Editor als Eclipse-Plugin
      • Diagramme sind UML-Activity Diagrammen
        ähnlich
      • Prozesse können externe Aktivitäten über
        Java-Actions ausführen
      • Java-Objekte können als Prozessvariablen
        gespeichert werden


Bernd Rücker / bernd.ruecker@camunda.com
Grafischer Prozessdesigner




Bernd Rücker / bernd.ruecker@camunda.com
Begriffe

                            Vertrieb                         Technik
                                                                       State
                                   Transition      Actions




                              Node               Task-Node




                                                Swimlanes

Bernd Rücker / bernd.ruecker@camunda.com
Node-Typen
      • Task-Node
              – Warten auf menschliche Interaktion
              – Aufgabenliste / Todo-Liste / Worklist
      • State
              – Warten auf externes Ereignis
              – Meist bei asynchroner Ansteuerung von Fremdsystemen
              – Keine Aufgabeliste!
      • Node
              – Pseudo-Zustand
              – Visualisierung im Prozess
              – Ansatz für eigene Implementierungen


Bernd Rücker / bernd.ruecker@camunda.com
Wartezustände




Bernd Rücker / bernd.ruecker@camunda.com
Prozessausführung




                                           Quelle: Tom Baeyens




Bernd Rücker / bernd.ruecker@camunda.com
Sequenzdiagram

                                    jBPM-Facade                                                    Businesslogik
               Client                                          jBPM             Action
                                       (SLSB)                                                          SLSB

                    start process
                                              get definition

                                              create process
                                                 instance
                                              set variables
                                                                                                                   1. Transaktion
                                                  signal
                                                                      execute
                                                                                         do something




                    end task
                                                  get task

                                                    end
                                                                      execute                                      2. Transaktion
                                                                                         do something



                                                                                                        Application Server




Bernd Rücker / bernd.ruecker@camunda.com
jPDL 2 – Task-Nodes
   <task-node name="Bearbeiter zuweisen">
         <task swimlane=„Vertrieb"/>
         <transition name="Bearbeiter zugewiesen" to="Ticket anlegen" />
   </task-node>
   <task-node name="Bearbeiter zuweisen">
     <task>
        <asssignment expression="#{clerk}" />
     </task>
     <transition name="Bearbeiter zugewiesen" to="Ticket anlegen" />
   </task-node>




 • Sind mehrere ausgehende Transitionen vorhanden muss
   der Mensch entscheiden
 • Ist kein Task vorhanden verhält sich die Task-Node wie eine Node

Bernd Rücker / bernd.ruecker@camunda.com
Task-Management
      • In Task-Nodes werden „Tasks“ angelegt und
        einer Swimlane zugewiesen
      • Abfragen der offenen Tasks durch eigene
        API möglich
      • Bei Beendigung eines Tasks wird auch der
        State durch die ausgehende Transition
        verlassen




Bernd Rücker / bernd.ruecker@camunda.com
Java Swing GUI: Generische Worklist




Bernd Rücker / bernd.ruecker@camunda.com
Java Swing GUI

                                           node-name
                                                                documentation website
                                           token-id




                                                        process data / variables




                                               possible transitions

Bernd Rücker / bernd.ruecker@camunda.com
jBPM-Action

      public class CreateCustomer implements ActionHandler {

          public void execute(ExecutionContext ctx) throws Exception {
            // get reference to CustomerService from JNDI
            CustomerService services = (CustomerService)
                                        new InitialContext().lookup("customerService");

              // get variable "customer" out of process context
              Customer customer = (Customer)ctx.getVariable("customer");

              // create customer in CRM system
              customer = services.createCustomer(customer);                  Aufruf eines Service
              // overwrite customer data in process context, because we have a id now
              ctx.setVariable("customer", customer);
          }

      }




Bernd Rücker / bernd.ruecker@camunda.com
jBPM-Actions
      Werden im Prozess platziert:
      • Transitionen
      • Node-Events
              – Node-Enter
              – Node-Leave




                                           Quelle: Tom Baeyens




Bernd Rücker / bernd.ruecker@camunda.com
Nodes & States
    <node name="Kunde anlegen">
      <event type="node-enter">
        <action name="Kunde anlegen" class="de.ejbbuch.jbpm.actions.CreateCustomerAction"/>
      </event>
      <transition to="Bearbeiter bekannt?" />
    </node>




    <state name="Ticket geschlossen">
        <transition name="wieder öffnen" to="Ticket bearbeiten">
          <action class="de.ejbbuch.jbpm.actions.ReopenTicketAction" />
        </transition>
        <transition name="schliessen ok" to="Mail versenden" />
    </state>




Bernd Rücker / bernd.ruecker@camunda.com
jPDL 2 – Decisions
   <decision name="Kunde bekannt?">
         <handler class="de.ejbbuch.jbpm.decision.CustomerExistDecision"/>
         <transition name="false" to="Kunde anlegen" />
         <transition name="true"    to="Bearbeiter bekannt?">
                                                                               Java
            <action class="de.ejbbuch.jbpm.actions.LoadCustomerAction" />
         </transition>
   </decision>




   <decision name="Bearbeiter bekannt?" expression="#{clerk!=null}">
         <transition name="false" to="Bearbeiter zuweisen"></transition>
         <transition name="true" to="Ticket anlegen"></transition>
   </decision>
                                                                Expression Language (EL)

Bernd Rücker / bernd.ruecker@camunda.com
jBPM-Descision

      public class CustomerExistDecision implements DecisionHandler {

          public String decide(ExecutionContext ctx) throws Exception {
            // get variable "customer" out of process context
            Customer customer = (Customer)ctx.getVariable("customer");

              if (customer.getId() != 0)
                return "true";
              else {
                // get reference to CustomerServices
                CustomerService services =
                    (CustomerService) new InitialContext().lookup("customerService");

              if (services.existCustomer(customer.getSurname(), customer.getGivenname()))
                return "true";
              else
                return "false";
              }
          }

      }




Bernd Rücker / bernd.ruecker@camunda.com
Weitere Konstrukte
      •     Timer
      •     Fork & join
      •     Subprozesse
      •     Super-States
      •     …




Bernd Rücker / bernd.ruecker@camunda.com
Fazit jPDL
      • Sehr gut geeignet für „echtes“ BPM
              – Automatisierung
              – Task-Management
              – Integration
      • Javaumgebung für Entwickler
      • Gute Testbarkeit
              – Ohne Server / Container
              – Ohne Persistenz
              –…


Bernd Rücker / bernd.ruecker@camunda.com
Zugriff auf jBPM
    JbpmConfiguration conf = JbpmConfiguration.getInstance();
    JbpmContext context = conf. createJbpmContext();

    try {
      // Variablen für Prozess
      Map variables = new HashMap();

        // Prozess-Instanz "Ticket" starten
        ProcessInstance pi = context.getGraphSession()
                             .findLatestProcessDefinition(“Ticket")
                             .createProcessInstance();
        pi.getContextInstance().addVariables(variables);

        pi.getRootToken().signal();


        // Alle Aufgaben für "Bernd Rücker"
        List<TaskInstance> tasks =
            context.getTaskMgmtSession().findTaskInstances(“Vertrieb");

        // Transition "Ticket schliessen" ausführen
        tasks.get(0).end("Ticket schliessen");
    }
    finally {
      context.close();
    }

Bernd Rücker / bernd.ruecker@camunda.com
Architektur

                  GUI




                  Prozesse
                                           Bonitäts-     Kunden-       Kredit-
                                           prüfung        anlage      vergabe


                  Services
                                    Bonitätscheck      Kundendaten    Kreditantrag



                  Resourcen
                                    Web-Service        Kundenkonto-      SAP
                                                       Komponente       Server




Bernd Rücker / bernd.ruecker@camunda.com
Architecture - process is a facade!
                                           •   starting processes
                                           •   work on tasks


                                                                               Hibernate
                                                 Session                               mySQL
                                                                     jBPM
                                                  Bean
                                                                                other
                                                                               services

                                                          local
                                                      interface

      Swing-GUI                                      Session        business
                                                                                 JDO
                                         remote       Bean            logic
                                       interface                                       mySQL




                                           •   Accessing /
                                               changing business
                                               objects directly
                                           •   Reports
                                           •   …



Bernd Rücker / bernd.ruecker@camunda.com
Architecture - transactions


                                                                             Hibernate
                                               Session                               mySQL
                                                                 jBPM
                                                Bean
                                                                              other
                                                                             services

                                                        local
                                                    interface

      Swing-GUI                                    Session      business
                                                                               JDO
                                         remote     Bean          logic
                                       interface                                     mySQL


                                                                           1 XA transaction




Bernd Rücker / bernd.ruecker@camunda.com
Toolkit for jbpm (tk4jbpm)
      • www.camunda.com       open source
      • Eigenes Open Source Projekt zur Anbindung
        von Java Swing-Oberflächen
      • Framework für User-Interaktion
      • Admin-Client




Bernd Rücker / bernd.ruecker@camunda.com
Admin-Client




Bernd Rücker / bernd.ruecker@camunda.com
Admin-Client 2




                                                                    log
                                 tokens / tasks
                                 Commands:
                                 •   Signal tokens
                                 •   end tasks
                                 •   cancel processes
                                 •   …



                                                        variables




Bernd Rücker / bernd.ruecker@camunda.com
Ausblick
      • jbpm4jsf
      • Neue Webconsole incl. Admin
      • BPEL-Flavour wird stetig verbessert
      • Eclipse-Plugin deutlich verbessert &
        erweiterungsfähig
      • Simulationsumgebung auf Basis von jBPM,
        Master-Thesis ab 01.09.
              – Interesse?
      • Offline-Fortführung von Geschäftsprozessen
        auf mobilen Geräten
              – Interesse?
Bernd Rücker / bernd.ruecker@camunda.com
Literatur
      • Betriebswirtschaftliche Literatur

      • www.jboss.com
      • www.camunda.com
                  Publikationen


      • EJB-Buch mit Integrationsteil:
              – Integration im Java Enterprise
                Umfeld
              – JBoss jBPM
              – BPEL mit Oracle




Bernd Rücker / bernd.ruecker@camunda.com
Vielen Dank für Ihre
    Aufmerksamkeit

bernd.ruecker@camunda.com

Weitere ähnliche Inhalte

Was ist angesagt?

20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflows20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflowscamunda services GmbH
 
BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?camunda services GmbH
 
oose Kompetenz-Navigator 1. Halbjahr 2012
oose Kompetenz-Navigator 1. Halbjahr 2012oose Kompetenz-Navigator 1. Halbjahr 2012
oose Kompetenz-Navigator 1. Halbjahr 2012oose
 
20101207 uni leipzig_oraclebpm_suite.slideshare
20101207 uni leipzig_oraclebpm_suite.slideshare20101207 uni leipzig_oraclebpm_suite.slideshare
20101207 uni leipzig_oraclebpm_suite.slideshareJens Hündling
 
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPMcamunda services GmbH
 
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...OPITZ CONSULTING Deutschland
 
BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?camunda services GmbH
 
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?camunda services GmbH
 
Open Source BPM - iteratec Architekturtag
Open Source BPM - iteratec ArchitekturtagOpen Source BPM - iteratec Architekturtag
Open Source BPM - iteratec Architekturtagcamunda services GmbH
 

Was ist angesagt? (20)

Bpmn2010
Bpmn2010Bpmn2010
Bpmn2010
 
20100118 BPMN 2.0 auf der OOP
20100118 BPMN 2.0 auf der OOP20100118 BPMN 2.0 auf der OOP
20100118 BPMN 2.0 auf der OOP
 
2011 05-05 bpmn 2
2011 05-05 bpmn 22011 05-05 bpmn 2
2011 05-05 bpmn 2
 
20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflows20080421 JAX BPM und SOA - Prozesse sind keine Workflows
20080421 JAX BPM und SOA - Prozesse sind keine Workflows
 
2012 04-18 bpmn 2
2012 04-18 bpmn 22012 04-18 bpmn 2
2012 04-18 bpmn 2
 
WJAX 2012: BPMN in der Praxis
WJAX 2012: BPMN in der PraxisWJAX 2012: BPMN in der Praxis
WJAX 2012: BPMN in der Praxis
 
BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?BPMN - eine Sprache für Business und IT?
BPMN - eine Sprache für Business und IT?
 
oose Kompetenz-Navigator 1. Halbjahr 2012
oose Kompetenz-Navigator 1. Halbjahr 2012oose Kompetenz-Navigator 1. Halbjahr 2012
oose Kompetenz-Navigator 1. Halbjahr 2012
 
20101207 uni leipzig_oraclebpm_suite.slideshare
20101207 uni leipzig_oraclebpm_suite.slideshare20101207 uni leipzig_oraclebpm_suite.slideshare
20101207 uni leipzig_oraclebpm_suite.slideshare
 
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
20080917 Hernstcampus JBoss Process Virtual Machine - Hibernate des BPM
 
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
 
BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?BPMN - Eine Sprache für Business und IT?
BPMN - Eine Sprache für Business und IT?
 
20080716 BPMN – Kurzeinfuehrung
20080716 BPMN – Kurzeinfuehrung20080716 BPMN – Kurzeinfuehrung
20080716 BPMN – Kurzeinfuehrung
 
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
 
2012 05-30 camunda fox de
2012 05-30 camunda fox  de2012 05-30 camunda fox  de
2012 05-30 camunda fox de
 
2012 03-30 activiti undjavaee6
2012 03-30 activiti undjavaee62012 03-30 activiti undjavaee6
2012 03-30 activiti undjavaee6
 
20110223 agiles bpm
20110223 agiles bpm20110223 agiles bpm
20110223 agiles bpm
 
2011 11-21 BPMN_Luzern_JakobFreund
2011 11-21 BPMN_Luzern_JakobFreund2011 11-21 BPMN_Luzern_JakobFreund
2011 11-21 BPMN_Luzern_JakobFreund
 
20091014 J Bpm4 Hamburg
20091014 J Bpm4 Hamburg20091014 J Bpm4 Hamburg
20091014 J Bpm4 Hamburg
 
Open Source BPM - iteratec Architekturtag
Open Source BPM - iteratec ArchitekturtagOpen Source BPM - iteratec Architekturtag
Open Source BPM - iteratec Architekturtag
 

Ähnlich wie 20070705 JFS BPM mit JBoss jBPM

20110505 doag bpm_workshop_2
20110505 doag bpm_workshop_220110505 doag bpm_workshop_2
20110505 doag bpm_workshop_2Jens Hündling
 
20110505 doag bpm_workshop_4
20110505 doag bpm_workshop_420110505 doag bpm_workshop_4
20110505 doag bpm_workshop_4Jens Hündling
 
BPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine WorkflowsBPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine Workflowscamunda services GmbH
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationcamunda services GmbH
 
20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshare20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshareJens Hündling
 
Aras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras
 
BPM - Brücke zwischen Business und IT?
BPM - Brücke zwischen Business und IT?BPM - Brücke zwischen Business und IT?
BPM - Brücke zwischen Business und IT?camunda services GmbH
 
20090129 OOP BPM – Bruecke zwischen Business und IT
20090129 OOP BPM – Bruecke zwischen Business und IT20090129 OOP BPM – Bruecke zwischen Business und IT
20090129 OOP BPM – Bruecke zwischen Business und ITcamunda services GmbH
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikDirk Slama
 
20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozesse20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozessecamunda services GmbH
 

Ähnlich wie 20070705 JFS BPM mit JBoss jBPM (20)

20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools
 
Bpmn roundtrip
Bpmn roundtripBpmn roundtrip
Bpmn roundtrip
 
20110505 doag bpm_workshop_2
20110505 doag bpm_workshop_220110505 doag bpm_workshop_2
20110505 doag bpm_workshop_2
 
20110505 doag bpm_workshop_4
20110505 doag bpm_workshop_420110505 doag bpm_workshop_4
20110505 doag bpm_workshop_4
 
BPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine WorkflowsBPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine Workflows
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentation
 
20110203 jug stuttgart
20110203 jug stuttgart20110203 jug stuttgart
20110203 jug stuttgart
 
20110119 activiti jughh
20110119 activiti jughh20110119 activiti jughh
20110119 activiti jughh
 
20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshare20100624 jug saxony_bpel.slideshare
20100624 jug saxony_bpel.slideshare
 
2012 04-20 activiti undjavaee6
2012 04-20 activiti undjavaee62012 04-20 activiti undjavaee6
2012 04-20 activiti undjavaee6
 
20110311 activiti mathema
20110311 activiti mathema20110311 activiti mathema
20110311 activiti mathema
 
20110223 activiti
20110223 activiti20110223 activiti
20110223 activiti
 
Aras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGER
 
BPM - Brücke zwischen Business und IT?
BPM - Brücke zwischen Business und IT?BPM - Brücke zwischen Business und IT?
BPM - Brücke zwischen Business und IT?
 
20090129 OOP BPM – Bruecke zwischen Business und IT
20090129 OOP BPM – Bruecke zwischen Business und IT20090129 OOP BPM – Bruecke zwischen Business und IT
20090129 OOP BPM – Bruecke zwischen Business und IT
 
2011 05-05 activiti
2011 05-05 activiti2011 05-05 activiti
2011 05-05 activiti
 
20110321 activiti märz
20110321 activiti märz20110321 activiti märz
20110321 activiti märz
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM Projektmethodik
 
JBoss jBPM
JBoss jBPMJBoss jBPM
JBoss jBPM
 
20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozesse20080421 JAX BPMN - UML der Geschaeftsprozesse
20080421 JAX BPMN - UML der Geschaeftsprozesse
 

Mehr von camunda services GmbH

Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operatorscamunda services GmbH
 
Predictive Process Monitoring in Camunda
Predictive Process Monitoring in CamundaPredictive Process Monitoring in Camunda
Predictive Process Monitoring in Camundacamunda services GmbH
 
Camunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process AutomationCamunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process Automationcamunda services GmbH
 
Tips on how to build Camunda Run for production
Tips on how to build Camunda Run for productionTips on how to build Camunda Run for production
Tips on how to build Camunda Run for productioncamunda services GmbH
 
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in UnternehmenBlitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmencamunda services GmbH
 
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...camunda services GmbH
 
Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...camunda services GmbH
 
[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0camunda services GmbH
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...camunda services GmbH
 
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...camunda services GmbH
 
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG BankwareProcess Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG Bankwarecamunda services GmbH
 
Process Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss LifeProcess Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss Lifecamunda services GmbH
 
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITProcess Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITcamunda services GmbH
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisencamunda services GmbH
 
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGProcess Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGcamunda services GmbH
 
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native Worldcamunda services GmbH
 

Mehr von camunda services GmbH (20)

Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operators
 
Predictive Process Monitoring in Camunda
Predictive Process Monitoring in CamundaPredictive Process Monitoring in Camunda
Predictive Process Monitoring in Camunda
 
Camunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process AutomationCamunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process Automation
 
Tips on how to build Camunda Run for production
Tips on how to build Camunda Run for productionTips on how to build Camunda Run for production
Tips on how to build Camunda Run for production
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
 
Exploring Automation in Government
Exploring Automation in GovernmentExploring Automation in Government
Exploring Automation in Government
 
The Pulse of Process Automation
The Pulse of Process AutomationThe Pulse of Process Automation
The Pulse of Process Automation
 
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in UnternehmenBlitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
 
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
 
Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...
 
Camunda BPM 7.13 Webinar
Camunda BPM 7.13 WebinarCamunda BPM 7.13 Webinar
Camunda BPM 7.13 Webinar
 
[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
 
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
 
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG BankwareProcess Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG Bankware
 
Process Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss LifeProcess Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss Life
 
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITProcess Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-IT
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
 
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGProcess Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
 
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
 

20070705 JFS BPM mit JBoss jBPM

  • 1. E6 Business Process Management mit JBoss jBPM Java Forum Stuttgart 05.07.2007 Bernd Rücker
  • 2. Agenda • Geschäftsprozesse (mit Java) • JBoss jBPM • Ein Blick in die Java Process Definition Languange (jPDL) • Verwendung von jBPM / Architektur Bernd Rücker / bernd.ruecker@camunda.com
  • 3. Über mich… • camunda GmbH, Bad Mergentheim • Hauptfokus Beratung, Training & Projektarbeit im Bereich – Unternehmensanwendungen mit Java EE – business process engines & business rules • Sehr gute Erfahrung mit – JBoss AS – JBoss jBPM – JBoss Rules (aka Drools) – EJB 3, Hibernate, JDO – Jack-Rabbit (Java Content Repository / JCR) – Open Source Business Intelligence (Pentaho, …) • Ich comitte im JBoss jBPM Projekt • SENS-Experte • Kontakt: bernd.ruecker@camunda.com Bernd Rücker / bernd.ruecker@camunda.com
  • 4. Geschäftsprozess • Aus Input wird durch eine Reihe von Aktivitäten ein definiertes Arbeitsergebnis • Wertschöpfend • Lang laufend (bis zu mehreren Monaten) • Fachlich motiviert • Aktivitäten werden teilweise durch Menschen, teilweise automatisch durchgeführt Bernd Rücker / bernd.ruecker@camunda.com
  • 5. Status Quo (häufig) GUI Papier E-Mail Gui 1 Gui 2 Gui 3 Systeme Kundenkonto- SAP Komponente Server EAI-Tool Web-Service Bernd Rücker / bernd.ruecker@camunda.com
  • 6. Integrationsarten Prozesse Aktivität 1 Aktivität 2 Aktivität 3 Prozess- integration Services Anwendungen Anwendung 1 Anwendung 2 Funktions- integration Middleware Daten Logische DB Daten- integration DB 1 DB 2 Bernd Rücker / bernd.ruecker@camunda.com
  • 7. Beschränkungen Java für GP Java SE • Keine langlebigen Prozesse • Persistenz Java EE (z.B. Statefull Session Beans) • Versionierung von Prozessen • Prozess-Log • Grafische Prozessbeschreibung • … Eigene Business Process Engine Bernd Rücker / bernd.ruecker@camunda.com
  • 8. Was macht eine BP-Engine? • Versionierung, Persistenz & Interpretation von Prozessmodellen • Steuerung & Persistenz von Prozessinstanzen • Einbindung externer Services • Verwalten von Ereignissen (wie Timeouts, …) • Prozesskontext (Variablen zu Prozess speichern) • Bereitstellung eines Logs • Task-Management Container für Geschäftsprozesse Bernd Rücker / bernd.ruecker@camunda.com
  • 9. Business Process Engine Business Analyst Sachbearbeiter Aufgaben- Verwaltung Prozess- Fremd- Ausführung Anwendungen Prozess- definitionen Administration Administrator Prozess- Logs Persistenz Business Process Engine (BPM-Engine) Bernd Rücker / bernd.ruecker@camunda.com Developer
  • 10. Business Process Management Business Analyst Analyse Weitere Dienste Management Design der BPM-Suiten • Business Activity Monitoring (BAM) iterative Verbesserung • Simulation Umsetzung Modellierung • Modellierung Implementierung Business Process Engine Developer Bernd Rücker / bernd.ruecker@camunda.com
  • 11. Prozessmodelle Quelle: Tom Baeyens Bernd Rücker / bernd.ruecker@camunda.com
  • 12. Prozessmodelle Quelle: Tom Baeyens Bernd Rücker / bernd.ruecker@camunda.com
  • 13. Konkret: jPDL Bernd Rücker / bernd.ruecker@camunda.com
  • 14. Oder: BPMN + BPEL BPMN BPEL Quelle: Tom Baeyens Bernd Rücker / bernd.ruecker@camunda.com
  • 15. jPDL vs. BPEL EJB-Container (oder Tomcat oder Java SE) jBPM (jPDL) Session Bean EJB JCA JMS WS BPEL-Server WS Java WS WS WS EJB-Container .NET … EJB JMS, … Bernd Rücker / bernd.ruecker@camunda.com
  • 16. BPEL • Anerkannter Standard • Transaktionssteuerung nur auf Ebene der Services • Alles asynchron • WSDL Ist BPEL vielleicht Service-Orchestrierung, nicht Business Process Management? Bernd Rücker / bernd.ruecker@camunda.com
  • 17. Überblick JBoss jBPM Jboss jBPM JBoss jBPM ist jPDL BPEL other process models… • Business Process Process Virtual Machine (PVM) Engine Hibernate • „platform for DB Java Virtual Machine (JVM) process languages“ • Engine, die lang laufende Geschäftsprozesse ausführen kann • Prozessinstanzen werden in DB gespeichert um langlebige Prozesse zu ermöglichen • Wait-States • Grafische Prozessdarstellung Bernd Rücker / bernd.ruecker@camunda.com
  • 18. jPDL: Java Process Definition Language • Prozessbeschreibungen als XML-File • Eigener grafischer Editor als Eclipse-Plugin • Diagramme sind UML-Activity Diagrammen ähnlich • Prozesse können externe Aktivitäten über Java-Actions ausführen • Java-Objekte können als Prozessvariablen gespeichert werden Bernd Rücker / bernd.ruecker@camunda.com
  • 19. Grafischer Prozessdesigner Bernd Rücker / bernd.ruecker@camunda.com
  • 20. Begriffe Vertrieb Technik State Transition Actions Node Task-Node Swimlanes Bernd Rücker / bernd.ruecker@camunda.com
  • 21. Node-Typen • Task-Node – Warten auf menschliche Interaktion – Aufgabenliste / Todo-Liste / Worklist • State – Warten auf externes Ereignis – Meist bei asynchroner Ansteuerung von Fremdsystemen – Keine Aufgabeliste! • Node – Pseudo-Zustand – Visualisierung im Prozess – Ansatz für eigene Implementierungen Bernd Rücker / bernd.ruecker@camunda.com
  • 22. Wartezustände Bernd Rücker / bernd.ruecker@camunda.com
  • 23. Prozessausführung Quelle: Tom Baeyens Bernd Rücker / bernd.ruecker@camunda.com
  • 24. Sequenzdiagram jBPM-Facade Businesslogik Client jBPM Action (SLSB) SLSB start process get definition create process instance set variables 1. Transaktion signal execute do something end task get task end execute 2. Transaktion do something Application Server Bernd Rücker / bernd.ruecker@camunda.com
  • 25. jPDL 2 – Task-Nodes <task-node name="Bearbeiter zuweisen"> <task swimlane=„Vertrieb"/> <transition name="Bearbeiter zugewiesen" to="Ticket anlegen" /> </task-node> <task-node name="Bearbeiter zuweisen"> <task> <asssignment expression="#{clerk}" /> </task> <transition name="Bearbeiter zugewiesen" to="Ticket anlegen" /> </task-node> • Sind mehrere ausgehende Transitionen vorhanden muss der Mensch entscheiden • Ist kein Task vorhanden verhält sich die Task-Node wie eine Node Bernd Rücker / bernd.ruecker@camunda.com
  • 26. Task-Management • In Task-Nodes werden „Tasks“ angelegt und einer Swimlane zugewiesen • Abfragen der offenen Tasks durch eigene API möglich • Bei Beendigung eines Tasks wird auch der State durch die ausgehende Transition verlassen Bernd Rücker / bernd.ruecker@camunda.com
  • 27. Java Swing GUI: Generische Worklist Bernd Rücker / bernd.ruecker@camunda.com
  • 28. Java Swing GUI node-name documentation website token-id process data / variables possible transitions Bernd Rücker / bernd.ruecker@camunda.com
  • 29. jBPM-Action public class CreateCustomer implements ActionHandler { public void execute(ExecutionContext ctx) throws Exception { // get reference to CustomerService from JNDI CustomerService services = (CustomerService) new InitialContext().lookup("customerService"); // get variable "customer" out of process context Customer customer = (Customer)ctx.getVariable("customer"); // create customer in CRM system customer = services.createCustomer(customer); Aufruf eines Service // overwrite customer data in process context, because we have a id now ctx.setVariable("customer", customer); } } Bernd Rücker / bernd.ruecker@camunda.com
  • 30. jBPM-Actions Werden im Prozess platziert: • Transitionen • Node-Events – Node-Enter – Node-Leave Quelle: Tom Baeyens Bernd Rücker / bernd.ruecker@camunda.com
  • 31. Nodes & States <node name="Kunde anlegen"> <event type="node-enter"> <action name="Kunde anlegen" class="de.ejbbuch.jbpm.actions.CreateCustomerAction"/> </event> <transition to="Bearbeiter bekannt?" /> </node> <state name="Ticket geschlossen"> <transition name="wieder öffnen" to="Ticket bearbeiten"> <action class="de.ejbbuch.jbpm.actions.ReopenTicketAction" /> </transition> <transition name="schliessen ok" to="Mail versenden" /> </state> Bernd Rücker / bernd.ruecker@camunda.com
  • 32. jPDL 2 – Decisions <decision name="Kunde bekannt?"> <handler class="de.ejbbuch.jbpm.decision.CustomerExistDecision"/> <transition name="false" to="Kunde anlegen" /> <transition name="true" to="Bearbeiter bekannt?"> Java <action class="de.ejbbuch.jbpm.actions.LoadCustomerAction" /> </transition> </decision> <decision name="Bearbeiter bekannt?" expression="#{clerk!=null}"> <transition name="false" to="Bearbeiter zuweisen"></transition> <transition name="true" to="Ticket anlegen"></transition> </decision> Expression Language (EL) Bernd Rücker / bernd.ruecker@camunda.com
  • 33. jBPM-Descision public class CustomerExistDecision implements DecisionHandler { public String decide(ExecutionContext ctx) throws Exception { // get variable "customer" out of process context Customer customer = (Customer)ctx.getVariable("customer"); if (customer.getId() != 0) return "true"; else { // get reference to CustomerServices CustomerService services = (CustomerService) new InitialContext().lookup("customerService"); if (services.existCustomer(customer.getSurname(), customer.getGivenname())) return "true"; else return "false"; } } } Bernd Rücker / bernd.ruecker@camunda.com
  • 34. Weitere Konstrukte • Timer • Fork & join • Subprozesse • Super-States • … Bernd Rücker / bernd.ruecker@camunda.com
  • 35. Fazit jPDL • Sehr gut geeignet für „echtes“ BPM – Automatisierung – Task-Management – Integration • Javaumgebung für Entwickler • Gute Testbarkeit – Ohne Server / Container – Ohne Persistenz –… Bernd Rücker / bernd.ruecker@camunda.com
  • 36. Zugriff auf jBPM JbpmConfiguration conf = JbpmConfiguration.getInstance(); JbpmContext context = conf. createJbpmContext(); try { // Variablen für Prozess Map variables = new HashMap(); // Prozess-Instanz "Ticket" starten ProcessInstance pi = context.getGraphSession() .findLatestProcessDefinition(“Ticket") .createProcessInstance(); pi.getContextInstance().addVariables(variables); pi.getRootToken().signal(); // Alle Aufgaben für "Bernd Rücker" List<TaskInstance> tasks = context.getTaskMgmtSession().findTaskInstances(“Vertrieb"); // Transition "Ticket schliessen" ausführen tasks.get(0).end("Ticket schliessen"); } finally { context.close(); } Bernd Rücker / bernd.ruecker@camunda.com
  • 37. Architektur GUI Prozesse Bonitäts- Kunden- Kredit- prüfung anlage vergabe Services Bonitätscheck Kundendaten Kreditantrag Resourcen Web-Service Kundenkonto- SAP Komponente Server Bernd Rücker / bernd.ruecker@camunda.com
  • 38. Architecture - process is a facade! • starting processes • work on tasks Hibernate Session mySQL jBPM Bean other services local interface Swing-GUI Session business JDO remote Bean logic interface mySQL • Accessing / changing business objects directly • Reports • … Bernd Rücker / bernd.ruecker@camunda.com
  • 39. Architecture - transactions Hibernate Session mySQL jBPM Bean other services local interface Swing-GUI Session business JDO remote Bean logic interface mySQL 1 XA transaction Bernd Rücker / bernd.ruecker@camunda.com
  • 40. Toolkit for jbpm (tk4jbpm) • www.camunda.com open source • Eigenes Open Source Projekt zur Anbindung von Java Swing-Oberflächen • Framework für User-Interaktion • Admin-Client Bernd Rücker / bernd.ruecker@camunda.com
  • 41. Admin-Client Bernd Rücker / bernd.ruecker@camunda.com
  • 42. Admin-Client 2 log tokens / tasks Commands: • Signal tokens • end tasks • cancel processes • … variables Bernd Rücker / bernd.ruecker@camunda.com
  • 43. Ausblick • jbpm4jsf • Neue Webconsole incl. Admin • BPEL-Flavour wird stetig verbessert • Eclipse-Plugin deutlich verbessert & erweiterungsfähig • Simulationsumgebung auf Basis von jBPM, Master-Thesis ab 01.09. – Interesse? • Offline-Fortführung von Geschäftsprozessen auf mobilen Geräten – Interesse? Bernd Rücker / bernd.ruecker@camunda.com
  • 44. Literatur • Betriebswirtschaftliche Literatur • www.jboss.com • www.camunda.com Publikationen • EJB-Buch mit Integrationsteil: – Integration im Java Enterprise Umfeld – JBoss jBPM – BPEL mit Oracle Bernd Rücker / bernd.ruecker@camunda.com
  • 45. Vielen Dank für Ihre Aufmerksamkeit bernd.ruecker@camunda.com