Topic
  • 8 replies
  • Latest Post - ‏2013-05-15T05:35:13Z by SultanMirza
SystemAdmin
SystemAdmin
7615 Posts

Pinned topic Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

‏2013-02-04T15:26:09Z |
Hi There,

I am trying to integrate Apache MQ and IBM BPM 8.0.1 ,and trying to invoke UCA using the external apache MQ Topic(Subscribe) and send the message(publish) to external topic which resides in apache MQ. If Topic does not support by IBM BPM UCA ,Please let me know how to configure the external queue mechanism to invoke UCA.

Thanks,
Venkat
Updated on 2013-02-05T04:08:39Z at 2013-02-05T04:08:39Z by SystemAdmin
  • AnthonyBpm
    AnthonyBpm
    390 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-02-04T15:31:39Z  
    Have you taken a look at the BPM Wiki? Here are the search results for JMS...

    The top 4-5 hits should help you out (not including the user hit for Jim)..
  • kolban
    kolban
    3322 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-02-04T15:31:59Z  
    You will need to use some "adapter" technology to listen on a JMS queue/topic and when a message arrives, cause a UCA to be invoked. The UCA can be invoked either by a REST request to the runtime to start the UCA directly or else a Web Service exposed service which again will start the UCA. You have choices in how to build the adapter.

    1. Use IBM BPM Advanced
    2. Write a message driven bean and install in WAS
    3. Write a Java SE application that watches the queue and runs in an external JVM

    Neil
  • SystemAdmin
    SystemAdmin
    7615 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-02-04T15:40:12Z  
    Hi Neil/Andrew,

    Thank you for your replies
    We have only IBM BPM Standard version and I tried a sample in jms using jsm/eventqueue to invoke UCA from IBM BPM and i can invoke UCA, Now I am looking to configure Apache MQ topic and invoke the UCA .Any thoughts on this?
    Thanks,
    Venkat
  • kolban
    kolban
    3322 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-02-04T15:43:37Z  
    Hi Neil/Andrew,

    Thank you for your replies
    We have only IBM BPM Standard version and I tried a sample in jms using jsm/eventqueue to invoke UCA from IBM BPM and i can invoke UCA, Now I am looking to configure Apache MQ topic and invoke the UCA .Any thoughts on this?
    Thanks,
    Venkat
    Personally, I would stay away from the JMS eventqueue mechanism. In the old TeamWorks product days, I think that was about the only option. I would avoid that these days. If we ask "What do we have available to us in an IBM BPM Standard environment?" ... we shouldn't forget that not only do we have IBM BPM ... we also have a full function Java EE environment. When it comes to JMS and Java EE there is good integration. A message driven bean (MBD) is a 1st class component of Java EE which acts as a listener for incoming messages. When the MDB fires you have full control over what you want to do ... for example ... starting a UCA using a REST API.

    Neil
  • SystemAdmin
    SystemAdmin
    7615 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-02-04T21:16:49Z  
    Hi Neil,

    Currently we dont have high availability of Process Center and we have a downtime of 45 min in a week for clean up the configuration issues and till that issues has been resolved the external system would like to send the messages to the external queue and we would like to listen the external queue which invokes UCA.As of now UCA depending on Asynchronous and Synchronous Queue, I would like to configure the UCA with external queue , I haven't find any configuration set up to configure UCA for external queue.Any ideas how to set up the UCA with external queue?
    Thanks,
    Venkat
  • kolban
    kolban
    3322 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-02-05T03:23:41Z  
    Hi Neil,

    Currently we dont have high availability of Process Center and we have a downtime of 45 min in a week for clean up the configuration issues and till that issues has been resolved the external system would like to send the messages to the external queue and we would like to listen the external queue which invokes UCA.As of now UCA depending on Asynchronous and Synchronous Queue, I would like to configure the UCA with external queue , I haven't find any configuration set up to configure UCA for external queue.Any ideas how to set up the UCA with external queue?
    Thanks,
    Venkat
    Hi Venkat,
    I may be rambling here so take this post for what it is :-)

    If I understand, you have an ActiveMQ JMS provider that "runs" even when IBM BPM is not running. When you take IBM BPM down, ActiveMQ is still running and hence can queue up messages. All good. This is the point of messaging.

    Now ... the question becomes, how can we fire a UCA when there are messages in a queue?

    I am going to assume you are not using IBM BPM Advanced. If you were, the answer would be a lot simpler.

    In Java EE there is a concept called a Message Driven Bean (MDB). If you are not familiar with that concept, go google a summary of it now.

    Imagine that we could write our own MDB (which we can). This MDB would be about 20-30 lines of code (if that). The MDB has a single method in it called "onMessage". An instance of the MDB is automatically created when ever there are messages in the queue. So ... imagine IBM BPM is shut down. Messages would accumulate in the ActiveMQ queue. When IBM BPM is restarted, so too will the MDB. The MDB will now automatically start processing the messages in the queue until the queue is empty. The MDB is is invoked with the content of the message (you don't have to do any coding to read the message ... you are just given it). In your MDB, you would now have the challenge of invoking the UCA. Since a UCA is exposed as a REST request, we could have the MDB execute the appropriate REST request to start the MDB with the content of the message.

    I am seeing a spate of this question recently. If you or anyone else is interested, maybe we could collaborate on the building of this beasty?

    Neil
  • SystemAdmin
    SystemAdmin
    7615 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-02-05T04:08:39Z  
    Many Thanks Neil , I will try to implement the solution.
  • SultanMirza
    SultanMirza
    11 Posts

    Re: Publish/Subscribe mechanism will be supported in IBM BPM UCA ?

    ‏2013-05-15T05:35:13Z  
    • kolban
    • ‏2013-02-04T15:31:59Z
    You will need to use some "adapter" technology to listen on a JMS queue/topic and when a message arrives, cause a UCA to be invoked. The UCA can be invoked either by a REST request to the runtime to start the UCA directly or else a Web Service exposed service which again will start the UCA. You have choices in how to build the adapter.

    1. Use IBM BPM Advanced
    2. Write a message driven bean and install in WAS
    3. Write a Java SE application that watches the queue and runs in an external JVM

    Neil

    Hi Neil,

    Could you please let me know how to trigger a UCA using REST api.

     

    Updated on 2013-05-15T05:35:40Z at 2013-05-15T05:35:40Z by SultanMirza