<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kaizar Amin &#187; Message Oriented Middleware</title>
	<atom:link href="http://kaizaramin.com/category/mom/feed/" rel="self" type="application/rss+xml" />
	<link>http://kaizaramin.com</link>
	<description>Technology Simplified</description>
	<lastBuildDate>Wed, 16 Jun 2010 11:28:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Message Oriented Middleware (MOM) and Java Message Service (JMS)</title>
		<link>http://kaizaramin.com/2008/11/25/message-oriented-middleware-mom-and-java-message-service-jms/</link>
		<comments>http://kaizaramin.com/2008/11/25/message-oriented-middleware-mom-and-java-message-service-jms/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 19:14:17 +0000</pubDate>
		<dc:creator>kaizar</dc:creator>
				<category><![CDATA[Message Oriented Middleware]]></category>

		<guid isPermaLink="false">http://kaizaramin.com/?p=118</guid>
		<description><![CDATA[ 
Message oriented middleware (MOM) frameworks enable one or more enterprise applications to communicate and share data in a heterogeneous environment. In addition to supporting heterogeneity, they also support asynchronous communication and tolerance to network failures. MOMs provide a standardized and fault tolerant way for applications to produce, exchange, and consume messages without any regard to [...]]]></description>
			<content:encoded><![CDATA[<p> </p>
<p class="MsoNormal" style="text-align: justify;">Message oriented middleware (MOM) frameworks enable one or more enterprise applications to communicate and share data in a heterogeneous environment. In addition to supporting heterogeneity, they also support asynchronous communication and tolerance to network failures. MOMs provide a standardized and fault tolerant way for applications to produce, exchange, and consume messages without any regard to the implementation detail of messages or the underlying network availability. Messages are sent to the logical destinations and domains rather than physical addresses. Messaging clients declare their interest in a particular domain or destination, provide appropriate security credentials, and exchange messages with the other clients via the MOM.</p>
<p class="MsoNormal" style="text-align: justify;"> </p>
<p class="MsoNormal" style="text-align: justify;">This concept of asynchronous communication agnostic to the underlying infrastructure is similar to how physical (postal) mail is delivered. The sender of a message is only responsible for using the correct packaging, providing an accurate address, and applying appropriate postage. The postal service, similar to a MOM system, handles all the issues pertaining to the secure routing and delivery of the message irrespective of the medium used to deliver the message.</p>
<p class="MsoNormal" style="text-align: justify;"> </p>
<p class="MsoNormal" style="text-align: justify;"><span><span>MOM servers allow heterogeneous systems to exchange messages, but each MOM vendor has a proprietary API for handling and delivering messages. This lack of standardization is unacceptable in the Java technology development paradigm. To take advantage of the already existing infrastructure of MOMs without sacrificing standardization, the J2EE platform offers Java Message Service (JMS).</span> JMS defines the rules for message delivery in Java enterprise systems, and also declares interfaces to facilitate message exchange between application components and MOMs. JMS clients open connections to destinations on the MOM server and then send and receive messages on those destinations. JMS outsources the responsibilities of guaranteed delivery, message notification, message durability, and all of the underlying networking and routing issues to the messaging system. JMS and MOMs work nicely together because they both divide responsibility between message clients and the messaging server.</span></p>
<p class="MsoNormal" style="text-align: justify;"><span><span> </span></span></p>
<p class="MsoNormal" style="text-align: justify;"><span>JMS supports two fundamental messaging mechanisms. The first is <em>point-to-point messaging</em>, in which a message is sent by one publisher (sender) and received by one subscriber (receiver). The second is <em>publish-subscribe messaging</em>, in which a message is sent by one or more publishers and received by one or more subscribers. Based on these two messaging mechanisms, we can derive the following messaging patterns:</span></p>
<ul style="text-align: justify;" type="disc">
<li class="MsoNormal"><strong><span>One-to-one messaging</span></strong><span> is a      point-to-point model. A message is sent from one JMS client (publisher) to      a destination on the server known as a <em>queue</em>. Another JMS      client (subscriber) can access the queue and retrieve the message from the      server. Multiple messages may reside on the queue, but each message is      removed upon retrieval. </span></li>
<li class="MsoNormal"><strong><span>One-to-many messaging</span></strong><span> is a      publish-subscribe model. A JMS client still publishes a message to a      destination on the server, but the destination is now referred to as a <em>topic</em>.      The key difference here is that messages placed in a topic include a      parameter that defines the message durability (how long it should remain      on the server awaiting subscribers). The message will remain on the topic      until all subscribers to the topic have retrieved a copy of the message or      until its durability has expired, whichever comes first.</span></li>
<li class="MsoNormal"><strong><span>Many-to-many messaging</span></strong><span>, also a publish-subscribe model, extends <em>one-to-many</em> messaging.      In addition to supporting multiple subscribers, this model also supports      multiple publishers on the same topic. A good example of many-to-many      messaging would be an e-mail listserve: multiple publishers can post      messages on a topic, and all subscribers will receive each message.</span></li>
</ul>
<p class="MsoNormal" style="text-align: justify;"><span><span>The type of messaging model you employ depends upon the needs of your enterprise. It is not uncommon to employ more than one messaging strategy within a single enterprise.</span></span> <span>The structure of a JMS message is fairly intuitive. There is a section for routing, addressing, and message identification; an optional section where application-specific parameters can be passed; and a third section where the message payload (text, bytes, value map, object, etc.) is stored. These three sections are known as the header, property, and body,</span><span> <span>as illustrated in Figure below.</span></span></p>
<p class="MsoNormal" style="text-align: justify;"><a title="JMS Message Structure" href="http://kaizaramin.com/wp-content/uploads/2008/11/presentation1.png"><img class="size-medium wp-image-119 alignnone" title="presentation1" src="http://kaizaramin.com/wp-content/uploads/2008/11/presentation1-300x225.png" alt="" width="300" height="225" /></a></p>
<p class="MsoNormal" style="text-align: justify;"> </p>
<p class="MsoNormal" style="text-align: justify;"><strong><span>List of Open Source JMS Providers</span></strong></p>
<p class="MsoListParagraphCxSpFirst" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://activemq.apache.org/" target="_blank">Apache ActiveMQ</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://fusesource.com/products/enterprise-activemq/" target="_blank">FUSE Message Broker (enterprise ActiveMQ)</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://openjms.sourceforge.net/" target="_blank">OpenJMS</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.jboss.org/jbossmessaging/" target="_blank">JBoss Messaging</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://joram.objectweb.org/" target="_blank">JORAM, from Objectweb</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://joram.objectweb.org/" target="_blank">Open Message Queue, from Sun Microsystems</a></span></p>
<p class="MsoListParagraphCxSpLast" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.sun.com/software/products/message_queue/index.xml" target="_blank">Sun </a></span><a href="http://www.sun.com/software/products/message_queue/index.xml" target="_blank">Java System Message Queue, from Sun Microsystems, supported version of Open Message Queue</a><span><span>     </span></span></p>
<p class="MsoNormal" style="text-align: justify;"><strong><span>List of Proprietary JMS Providers</span></strong></p>
<p class="MsoListParagraphCxSpFirst" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.axway.com/products/synchrony_messaging.php" target="_blank">Synchrony Messaging from Axway</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.bea.com/" target="_blank">BEA Weblogic, part of the Oracle Fusion Middleware suite</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96587/qintro.htm" target="_blank">Oracle AQ</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>        <a href="http://www.sap.com/platform/netweaver/index.epx" target="_blank"> </a></span></span></span><span><a href="http://www.sap.com/platform/netweaver/index.epx" target="_blank">SAP NetWeaver WebAS Jav</a></span><a href="http://www.sap.com/platform/netweaver/index.epx" target="_blank">a JMS from SAP AG</a></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.solacesystems.com/products/content-routers" target="_blank">3260 Content Router from Solace Systems</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.sonicsoftware.com/" target="_blank">SonicMQ from Progress Software</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.tibco.com/software/messaging/default.jsp" target="_blank">TIBCO Software</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.softwareag.com/" target="_blank">webMethods Broker Server from webMethods</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www-01.ibm.com/software/webservers/appserv/was/" target="_blank">WebSphere Application Server from IBM</a></span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-align: justify;"><span><span>·<span>         </span></span></span><span><a href="http://www.ibm.com/software/mqseries/" target="_blank">WebSphere MQ from IBM (formerly MQSeries)</a></span></p>
<p class="MsoListParagraphCxSpLast" style="text-align: justify;"><span><span>·<span>        <a href="http://www.fiorano.com/" target="_blank"> </a></span></span></span><span><a href="http://www.fiorano.com/" target="_blank">FioranoMQ</a></span></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this Post:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29&amp;bodytext=%C2%A0%0D%0AMessage%20oriented%20middleware%20%28MOM%29%20frameworks%20enable%20one%20or%20more%20enterprise%20applications%20to%20communicate%20and%20share%20data%20in%20a%20heterogeneous%20environment.%20In%20addition%20to%20supporting%20heterogeneity%2C%20they%20also%20support%20asynchronous%20communication%20and%20tolera" title="Digg"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29&amp;notes=%C2%A0%0D%0AMessage%20oriented%20middleware%20%28MOM%29%20frameworks%20enable%20one%20or%20more%20enterprise%20applications%20to%20communicate%20and%20share%20data%20in%20a%20heterogeneous%20environment.%20In%20addition%20to%20supporting%20heterogeneity%2C%20they%20also%20support%20asynchronous%20communication%20and%20tolera" title="del.icio.us"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;t=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29" title="Facebook"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29&amp;annotation=%C2%A0%0D%0AMessage%20oriented%20middleware%20%28MOM%29%20frameworks%20enable%20one%20or%20more%20enterprise%20applications%20to%20communicate%20and%20share%20data%20in%20a%20heterogeneous%20environment.%20In%20addition%20to%20supporting%20heterogeneity%2C%20they%20also%20support%20asynchronous%20communication%20and%20tolera" title="Google Bookmarks"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29&amp;source=Kaizar+Amin+Technology+Simplified&amp;summary=%C2%A0%0D%0AMessage%20oriented%20middleware%20%28MOM%29%20frameworks%20enable%20one%20or%20more%20enterprise%20applications%20to%20communicate%20and%20share%20data%20in%20a%20heterogeneous%20environment.%20In%20addition%20to%20supporting%20heterogeneity%2C%20they%20also%20support%20asynchronous%20communication%20and%20tolera" title="LinkedIn"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29" title="Live"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;t=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29" title="MySpace"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29" title="Reddit"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29&amp;url=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F" title="Slashdot"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;title=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29" title="StumbleUpon"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F" title="Technorati"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="" title="TwitThis"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fkaizaramin.com%2F2008%2F11%2F25%2Fmessage-oriented-middleware-mom-and-java-message-service-jms%2F&amp;submitHeadline=Message%20Oriented%20Middleware%20%28MOM%29%20and%20Java%20Message%20Service%20%28JMS%29&amp;submitSummary=%C2%A0%0D%0AMessage%20oriented%20middleware%20%28MOM%29%20frameworks%20enable%20one%20or%20more%20enterprise%20applications%20to%20communicate%20and%20share%20data%20in%20a%20heterogeneous%20environment.%20In%20addition%20to%20supporting%20heterogeneity%2C%20they%20also%20support%20asynchronous%20communication%20and%20tolera&amp;submitCategory=science&amp;submitAssetType=text" title="Yahoo! Buzz"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/yahoobuzz.png" title="Yahoo! Buzz" alt="Yahoo! Buzz" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="" title="YahooMyWeb"><img src="http://kaizaramin.com/wp-content/plugins/sociable/images/" title="YahooMyWeb" alt="YahooMyWeb" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://kaizaramin.com/2008/11/25/message-oriented-middleware-mom-and-java-message-service-jms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
