3 Replies Latest reply on Dec 17, 2006 7:05 AM by koen.aers

    pondering over jboss/jBPM (need advice)

    dklio

      Hi all!
      I'm working on a rather big and responsible document processing system. I consider jboss/jBMP as a candidate technology but still have some doubts. Could anyone clear up my uncertainty. There are two questions left after reading users guide that I'd like to clear to take a decision.
      1. All kinds of documents processed in the system (of about 10 different types) come by means of JMS messages. There is a single input JMS queue from which all the messages should be fetched and handled. Has jBPM any automation to fetch a JMS message from a given queue for me and instantiate a new business process regarding of a message type?
      2. The system is mission critical and should possess a good throughput. The target throughput can be achieved only using several parallel servers. Hence the system should be scalable. Has the combination jboss/jBPM some abilities to work in cluster or somehow work in parallel on different servers and balance the load between them?
      Many thanks

        • 1. Re: pondering over jboss/jBPM (need advice)
          ralfoeldi

          Hi Dklio,

          1) If you're on JBoss build a MDB and let that start your process - maybe storing your document before.
          2) If you use a MDB you will by default be load balancing. Every MDB has one thread and processes one message at at time. Configure 5 MDBs, you get 5 threads. Add 4 Servers and you have 25 threads. As simple as that. As the execution of every process would happen in the thread of the MDB you wouldn't have any synch problems... unless you splitt up your process, have wait states and restart etc. Then you would have to lock on the processInstance.

          Performance? Great. Above szanrio is in production at a large Swiss insurance company processing up to 1 Mio messages a day.

          Freeting from bern

          • 2. Re: pondering over jboss/jBPM (need advice)
            dklio

            Rainer,
            Thanks a lot for your reply. Nice and simple solution. And as long as it's simple it should be robust :)
            The only thing here is as far as I remember jboss does not support clustering for MDB, or at least did not support it in version 3.2.3 which we got in production by the time. The point is we use Oracle DB as a persistent storage for JMS queues and jBPM processes and I'm afraid there'll be synchronization problems when two or more instances of jboss are trying to fetch the next message from the queue that is persisted in the same Oracle table. In fact I tryed something similar. There were two jboss servers and a queue persisted in a DB table. When I issued lookup query from both jboss simultaneously they both got inconsistent and reported invalid queue state.
            Has this feature been improved since 3.2.3?
            Thank you.

            Dmitry Klionskiy

            • 3. Re: pondering over jboss/jBPM (need advice)
              koen.aers

              Dmitry,

              Have a look at the new JBoss Messaging product.

              Regards,
              Koen