Intergration with queues


In large scale enterprise scenarios for many reasons it may be required to use MQ infrastructure for interprocess (Flower) communication rather than the directory. Using external queues decreases the directory load thus inreasing the throughtput. It is possible to use queues without any integration with Flower (via the services), however it would be much simpler for a developer to use Enqueue/Dequeue operations just like with the Flower sets.

To allow that, the following is required:
  • Flower API must provide an interface for external queues. These services will accept/provide the messages and switch the process states accordingly by communicating with the directory (the behaviour must be similar to that of the sets).
  • Workflow statements Enqueue/Dequeue must allow to specify a service instead of a subset.
Closed Nov 3, 2013 at 10:27 AM by dbratus
With introduction of queue services, integration with queues for Flower-to-Flower communications is not required. Moreover, it is not possible, because for synchronization with the directory waiters information needs to be stored. Normally, queues alone doesn't provide a way to store it as required for Flower. However, queues still can be utilized for app-to-app communication via WCF MQ transport or via service wrappers.