images by nuhman10

VIEWS: 7 PAGES: 9

									                                      Tx
1)
     a    b      c




         token



2)
     a    b      c   a signal will

                     move the token

                     from   a   to   c
         token


3)
     a    b      c




         token
                                                       Tx
1)       async=”true”
     a        b         c



                                a signal will
            token
                                move the token

                                from    a   to   b
2)       async=”true”
     a        b         c       and produce msg


                                  exe b
                        exe b
            token




                                                       Tx
1)       async=”true”
                                the command
     a        b         c       executor will
                                consume msg

                                       exe b
                        exe b
            token               and execute node
                                 b

2)       async=”true”
                                resulting in the
     a        b         c       token moving

                                from    b   to     c


            token
   Remove first command
    message from queue
    (filter out command messages that
    have an exception)
   Execute the command. Which
    means continue the execution
    of the process.
                                         Rollback



              Add exception to the message
                                                     Rollback



                         The message will remain in the queue
                         without an exception so it will be retried
                 plain java
   xml       jBPM object model   jBPM database



definition       definition         definition

                 execution          execution

                  logging            logging
JbpmSessionFactory              JbpmSession

    org.hibernate.              org.hibernate.
   SessionFactory                Session


                                             JDBC
                 GraphSession

            TaskMgmtSession

             ContextSession
                                       user
 process                            interface
variables                  task       form
(context)                instance

              task
            controller
example forms.xml
       <taskforms>
         <taskform task=”change nappy”
                    form=”forms/changenappy.form”>
           <in>
             <variable name=”customer name” />
             <variable name=”startdate” converter=”date-to-string” />
           </in>
           <out>
             ... same content as in ...
           </out>
         </taskform>
         <taskform task=”do dishes”
                    formcontroller=”form-controller-class”
                    form=”forms/dodishes.form”>
           ... custom formcontroller configuration ...
         </taskform>
       </taskforms>

interfaces

       public interface FormController {
         /**
          * @return a map of form input parameters
          */
         Map prepareTaskView( ExecutionContext executionContext );

           /**
            *
            */
           void handleTaskSubmission( Map formOutputParameters,
                                      ExecutionContext ctx );
       }

       // note that the formcontroller does not have any http/html
       // specifics. so the formcontrollers could be reused for
       // different form-rendering-technologies like html/swing/...

       public interface Converter {
         Object convert( Object o );
       }
Programming             Tools and        BPM Suites
  languages         utilities for BPM




     OO Programming Language




                       Project

        OOP                               OOP
        code                              code

    configation          configation

   Framework            Framework


              OOP like e.g. Java or C#
           JbpmConfiguration
       (configured in jbpm.xml.cfg)
           (one for all threads)

Object Factory
                      Service
                     Factories

           DbPersistenceServiceFactory
                 Hibernate SessionFactory




               JbpmContext
             (one per thread)

                      Services

                 DbPersistenceService
                    Hibernate Session
                    Optional Hib. Tx.

								
To top