1 Reply Latest reply on Jan 22, 2009 6:03 PM by Petr Nejedly

    jBPM Integration without UI

    Jeremy Davis Newbie

      Is Seam's UI support tied to the web tier only?


      I already have processes running in jBPM.  I would like to add an optional ui on top. 


      I have been playing around with this for a couple of days but have had no luck moving from node to node without ui/jsf input.


      Once my process starts the later nodes are not context aware.  Details below.


      I get the feeling that the answer is right in front of me.  However, I haven't found anything in this or the jboss forum or Seam in Action that has lead me to a definitive answer.


      Any advice is appreciated.


      Thanks,
      Jeremy


      I can kick off the process definition below with a @CreateProcess annotation.  The process will move to the annotated stateless session bean in the first node, and the method executes.  However this bean has no ProcessInstance, JbpmContext, or BusinessProcess.


      In jBPM the nodes have actionHandler implementations that do the work.


      <process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="Test Process 3">
          <start-state name="Start Test Process">
              <transition to="Begin Test" name="to_begin_test"></transition>
          </start-state>
          <node name="Begin Test">
              <action expression="#{processTester.beginTest()}"  ></action>
              <transition to="Run Test" name="to_run_test"></transition>
          </node>
          <node name="Run Test">
              <action name="Run Test Action" expression="#{processRunner.runTest()}"></action>
              <transition to="Test Completed" name="to_test_completed"></transition>
          </node>
          <end-state name="Test Completed"></end-state>
      </process-definition>
      

        • 1. Re: jBPM Integration without UI
          Petr Nejedly Newbie

          I don't know exactly, but I've spent some time with Jbpm/Seam recently and had to solve some issues myself. have a look at org.jboss.seam.bpm.SeamUserCodeInterceptor and method executeAction. It calls initProcessAndTask method that sets process id on BusinessProcess component. This component is used by Seam a lot when intercepting different Jbpm-related annotations.


          I guess this method should be called when you invoke your action handler and it should set the component up.


          Also have a look at BusinessProcessInterceptor in the same package to see if your annotations are invoked, put some breakpoints in there and have a go :-)