stomp-patterns

Stompl MOM Stomp Patterns

http://github.com/toschoo/mom

Latest on Hackage:0.5.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

LicenseRef-LGPL licensed by Tobias Schoofs
Maintained by tobias dot schoofs at gmx dot net

The Stomp Protocol specifies a reduced message broker with queues usually read by one application and written by one or more applications. The specification does not include other, more advanced, interoperability patterns, where, for example, a client requests a job from a server or a publisher sends data to many subscribers. Such communication patterns, apparantly, are left to be implemented by applications. Patterns like client-server, publish and subscribe and many others, however, are used over and over again in message-oriented applications.

This library implements a number of communication patterns on top of the Stomp specification that are often used and often described in the literature. There is a set of basic patterns,

  • client-server,

  • publish and subscribe and

  • pusher-worker (pipeline)

as well as a set of derived patterns, namely:

  • Desk: A service to obtain the access point (i.e. queue name) of a specified provider;

  • Load balancers: Services to balance requests among a group of connected workers (a.k.a. Majordomo pattern);

  • Bridge: Connections between brokers.

More information, examples and a test suite are available on http://github.com/toschoo/mom. The Stomp specification can be found at http://stomp.github.com.

The notion of pattern and the related concepts, as they are presented here, rely heavily on Pieter Hintjens, "Code Connected", O'Reilly, 2013 (see also http://hintjens.com/books).