Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Check out Apache's <a href="http://activemq.apache.org/" rel="nofollow noreferrer">Active MQ</a>. It implements the Java Message Service 1.1 specification, layers on a servlet API, and has tons of features that should address your requirements. You can also layer on <a href="http://camel.apache.org/" rel="nofollow noreferrer">Camel</a>, which adds a rich implementation of many <a href="http://camel.apache.org/enterprise-integration-patterns.html" rel="nofollow noreferrer">enterprise integration patterns</a>.</p> <p>Typically, JMS messages are persisted in a transactional database, which can be configured to give you extremely high degrees of fault tolerance (eg, RAID, master-backup database machine pairs, multiple copies of transaction log files). On top of the database can go multiple, load-balanced app server machines running Active MQ, to give you scalability and high-availability. I think you'll find that you can write your components in a very decoupled fashion if you use Active MQ as your common message bus.</p> <p>In JMS, when a message is de-queued by a consumer, the consuming process must later confirm that the message was successfully handled. If a confirmation does not come in in time, the JMS system will revive the message so another consuming process can attempt to handle it. This means you can run multiple copies of your application to gain reliability and fault tolerance.</p> <p>Take a look at O'Reilly's <a href="http://oreilly.com/catalog/9780596522049/" rel="nofollow noreferrer">Java Message Service, 2nd Edition</a>, which just came out this week.</p> <p>A different avenue would be to look into <a href="http://en.wikipedia.org/wiki/BPEL" rel="nofollow noreferrer">BPEL</a> (Business Process Execution Languge).</p> <p><strong>Edit:</strong> I'm not very familiar with Microsoft offerings, but <a href="http://en.wikipedia.org/wiki/Microsoft_Message_Queuing" rel="nofollow noreferrer">MSMQ</a> seems like the equivalent to JMS. </p> <p>You <em>should</em> be able to use ActiveMQ in a Microsoft environment. They claim to support "<a href="http://activemq.apache.org/cross-language-clients.html" rel="nofollow noreferrer">cross language clients</a>" like "C# and .NET". And even if that should be problematic, since ActiveMQ has a Java servlet-based API for queueing and de-queuing messages, the outside world only has to be able to make HTTP requests to the ActiveMQ server. That should limit the amount of learning your team would have to do. Good luck, this sounds like an awesome project!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload