3 Replies Latest reply on Mar 13, 2006 3:55 PM by tom.baeyens

    JMS Use Cases

    jimrigsbee

      comment please on anything that is missing or unnecessary in your opinion - here are the use cases I have identified for asynchronous jBPM processing over JMS.

      01. Start a new process
      a. by name default to highest version
      b. by name and version number
      c. by process definition id

      02. Signal a token
      a. token by path, default transition
      b. token by path, named transition

      03. Set instance variables

      04. End task
      a. with default transition
      b. with named transition

      05. Execute Timer (?)
      06. Execute Action (?)

      07. End a process instance

      08. Suspend a token
      09. Resume a token
      10. Suspend a process instance
      11. Resume a process instance

      Also, any command will have the option of receiving an ACK message upon execution of the command. The command will give a destination queue on which to send the ACK. It will notify success or failure with any exception produced, along with identifying information such as the process id, token id , etc.

      Regards, Jim

        • 1. Re: JMS Use Cases
          tom.baeyens

          this is a quite exhaustive list. great.

          note that most of these can be user commands. only 3 of those should not be issued by users:

          * execute node command
          * execute action command
          * execute timer command

          it might also be interesting to create a SLSB that takes a pojo command and sends it to the command executor MDB. something like this

          public interface JbpmCommandSender {
           void execute( Command command );
          }


          That SLSB could be used to expose sending of commands over RMI and as a web services.

          One last remark, start small with 1 or 2 commands. The ExecuteNodeCommand and ExecuteActionCommand should be the first cause they are necessary by the engine itself.

          regards, tom.

          • 2. Re: JMS Use Cases
            jimrigsbee

             

            "tom.baeyens@jboss.com" wrote:


            it might also be interesting to create a SLSB that takes a pojo command and sends it to the command executor MDB. something like this
            ...
            That SLSB could be used to expose sending of commands over RMI and as a web services.


            I believe you mean that the SLSB would be called by the MDB right? Basically we are building a service oriented bean and our MDB listener uses it.

            Regards, Jim

            • 3. Re: JMS Use Cases
              tom.baeyens

              no. the main thing i was targetting with the SLSB would be a would be a way to expose the command interface as a web service.

              regards, tom.