<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Blogs from RTI &#187; Standards</title>
	<atom:link href="http://blogs.rti.com/category/standards/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.rti.com</link>
	<description>The Real-Time Middleware Experts</description>
	<lastBuildDate>Mon, 16 Aug 2010 22:32:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blogs.rti.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/479f17de79bce18ecb4bca1e1ae1bd8d?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Blogs from RTI &#187; Standards</title>
		<link>http://blogs.rti.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blogs.rti.com/osd.xml" title="Blogs from RTI" />
	<atom:link rel='hub' href='http://blogs.rti.com/?pushpress=hub'/>
		<item>
		<title>The Data-Centric Modus Operandi</title>
		<link>http://blogs.rti.com/2010/08/16/the-data-centric-modus-operandi/</link>
		<comments>http://blogs.rti.com/2010/08/16/the-data-centric-modus-operandi/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 22:32:22 +0000</pubDate>
		<dc:creator>Rick Warren</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=255</guid>
		<description><![CDATA[Data distribution is about observing a changing world. A system whose communication is based on this paradigm tends to become data-centric: it becomes more concerned with modeling the first-class concepts of its business domain and less concerned with managing second-class "who-told-whom-to-do-what" middleware concepts like queues and messages. Along the way, it enjoys the benefits of decreased coupling and improved reliability, scalability, and performance.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=255&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.omgwiki.org/dds/">DDS stands for &#8220;Data Distribution Service.&#8221;</a> <em>Data distribution</em> is not messaging, and it is not eventing. However, <a href="http://blogs.rti.com/2009/06/03/thinking-differently-about-messaging/">data distribution subsumes messaging</a> and eventing as use cases to a large extent, and as a result it often gets lumped into those categories.</p>
<p><em>Data distribution is about observing a changing world.</em> A system whose communication is based on this paradigm tends to become <em>data-centric</em>: it becomes more concerned with modeling the first-class concepts of its business domain and less concerned with managing second-class &#8220;who-told-whom-to-do-what&#8221; middleware concepts like queues and messages. Along the way, it enjoys the benefits of decreased coupling and improved reliability, scalability, and performance.</p>
<p><strong>Data Distribution and Its Kin</strong></p>
<p>Classically, <em>messaging</em> is an evolution of the remote method invocation (RMI) paradigm &#8212; an attempt to make that paradigm less coupled and more scalable by making it asynchronous. A message says &#8220;I tell you to do this.&#8221; When compared with RMI, &#8220;I&#8221; and &#8220;you&#8221; are more abstract, both in identity and multiplicity, and the request can be queued for processing at a later time or by another party without making the sender wait. These are improvements, but the interaction remains coupled, because the roles of &#8220;I&#8221; and &#8220;you&#8221; (often in the guises of &#8220;client&#8221; and &#8220;server&#8221; or the trendier &#8220;service consumer&#8221; and &#8220;service provider&#8221;), as well as the intention of what action should be performed, are still very much in play.</p>
<p><em>Eventing</em>, like data distribution, is preoccupied with changes to the world. An event says &#8220;I changed in this way.&#8221; It reduces coupling by entirely removing both the recipient of that information and  any notion of intention from you business logic and your mental model; who might receive an event, and what they might choose to do as a result, are not the business of the event source. But state management remains a problem, because in order to understand the change that occurred, all recipients must have an up-to-date understanding of the state of the world prior to the latest event &#8212; &#8220;the price went up by a dollar&#8221; doesn&#8217;t do me any good if I don&#8217;t know what the price was before. This temporal coupling means that every recipient must process every event in order, whether those events are interesting or not, just in case the interpretation of a subsequent interesting event should happen to require the state established by a previous otherwise-uninteresting one.</p>
<p>The resulting processing and state management are complex and expensive. As a mitigation, they are frequently factored out of the applications that need the data and into state-management &#8220;servers&#8221; that &#8220;clients&#8221; must query using a message-centric or even RMI-based approach &#8212; a huge regression in engineering practice! The system becomes complicated by the presence of multiple interacting communication paradigms, and the servers (which serve no business role) introduce performance and fault-tolerance choke points.</p>
<p>A data-centric architecture eliminate these problems by simplifying the interactions. A data sample says simply &#8220;the world is like this.&#8221; It thereby eliminates coupling not only in terms of source, recipients, and their intentions, but also in terms of time. There&#8217;s no longer any need for recipients to process or store information they don&#8217;t care about, because samples don&#8217;t implicitly encompass previous samples. Therefore it becomes perfectly reasonable for one observer to examine the state of the world every second, or every minute, or every hour &#8212; and for another to observe every single intermediate state, even if those states change from one to the other many times a second.</p>
<p><strong>Modeling the World with DDS</strong></p>
<p>A set of DDS entities, and the data they distribute and manage, define a view into this changing &#8220;world.&#8221;</p>
<ul>
<li>A &#8220;domain&#8221; defines the boundaries of the world, the set of information that a collaborating group of applications might find interesting. A &#8220;domain participant&#8221; defines the presence of some application in that world; it is the data-centric analogue to what is frequently known as a &#8220;connection&#8221; in the messaging middleware.</li>
<li><a href="http://blogs.rti.com/2009/04/30/data-transparency-why-you-should-care/">A &#8220;type&#8221; is a structural description of some part of the world</a> &#8212; for example, an Antelope is brown in color and has four legs and two horns; a Ferrari is red in color and has four wheels and two seats. A type has a formal definition, usually (though not always) in a  declarative language like XSD or OMG IDL, and it implies a corresponding definition in the target programming language.</li>
<li>A &#8220;quality-of-service&#8221; (QoS) definition defines the fidelity with which some party/parties is/are able to describe the world. For example, will the description contain every state the world passes through or only a subset? Will observers have access to new states of the world only, or will they be able to see previous states as well? If the latter, how far back will those previous states go?</li>
<li>A &#8220;topic&#8221; defines some aspect or subset of the world consisting of similar objects. As such, it combines a type, which defines the structure of those objects, with a QoS definition, which defines how they can be observed to change.</li>
<li>An &#8220;instance&#8221; defines a single object in the group defined by a topic. For example, a topic may be used to distribute the positions of airplanes as detected by a radar. Each plane would be an instance. All radar tracks have the same structure (type) and are updated in the same way (QoS). But they are also distinct from one another: it matters whether the plane at a given location happens to be American Airlines flight 123 or Delta flight 456.</li>
<li>A &#8220;data writer&#8221; defines a source of information about a particular subset of the world (topic). As such, it may override the QoS of its topic &#8212; multiple parties may provide information about the same part of the world but with different degrees of fidelity.</li>
<li>A &#8220;data reader&#8221; defines an observer of a particular subset of the world (topic). As such, it may also override the QoS of its topic. Furthermore, it may only be able and/or interested to observe certain states of the world. For example, it may only be interested in airplanes flying over a particular geographic area or in stocks trading at over $20/share.</li>
</ul>
<p>By creating a data reader with a certain QoS definition, an application makes an affirmative statement that it wishes to observe a certain portion of the world under a certain set of circumstances. For example, it may state that it is interested in observing the most recent five states (samples) to the objects (instances) in its part of the world (topic), but it doesn&#8217;t need to process changes more frequently than once every second.</p>
<p>This statement is one of interest only; it in no way requires the observer to actually observe a certain set of samples in a certain way or within a certain period of time. On the one hand, the observer may choose to be notified asynchronously of every new sample and to respond to it immediately. On the other, it may &#8220;go away&#8221; to other business and return hours later; when it does, it will find the most recent five samples of each instance, occurring no more frequently than once every second, waiting for it. In the mean time, DDS will have taken care of all of the necessary data reception, filtering, and replacement in order to make that happen.</p>
<p>DDS&#8217;s ability to combine notification and lightweight caching &#8212; in effect, to maintain an application&#8217;s observed state of the world on its behalf &#8212; is something no other standards-based technology provides. Developers of data-centric systems reap the benefits: <a href="http://www.rti.com/resources/product-tour/performance-scalability.html">higher performance and scalability</a>, <a href="http://www.rti.com/resources/product-tour/system-architecture.html">greater tolerance to dynamic network conditions</a>, and ultimately <a href="http://www.rti.com/mk/commercial-middleware-vs-roll-your-own.html">improved ROI and time-to-market</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=255&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2010/08/16/the-data-centric-modus-operandi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90e74a4e6594c1b054e07d7a6c6193c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Rick</media:title>
		</media:content>
	</item>
		<item>
		<title>What is “Real-Time SOA?”</title>
		<link>http://blogs.rti.com/2010/06/01/what-is-real-time-soa-white-paper/</link>
		<comments>http://blogs.rti.com/2010/06/01/what-is-real-time-soa-white-paper/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 19:39:07 +0000</pubDate>
		<dc:creator>David Barnett</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=239</guid>
		<description><![CDATA[RTI released a new white paper today that asks (and answers) the question, &#8220;What Is Real-Time SOA?&#8221; Is it simply a Service Oriented Architecture (SOA) built on faster Web services or a faster Enterprise Service Bus (ESB)? Or, do real-time systems require different technologies? The answers to these questions are becoming increasingly important as real-time [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=239&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>RTI released a new white paper today that asks (and answers) the question, <a title="What is Real-Time SOA?" href="http://www.rti.com/docs/RTI_WP_RealTimeSOA.pdf" target="_blank">&#8220;What Is Real-Time SOA?&#8221;</a> Is it simply a Service Oriented Architecture (SOA) built on faster Web services or a faster Enterprise Service Bus (ESB)? Or, do real-time systems require different technologies?</p>
<p>The answers to these questions are becoming increasingly important as real-time systems scale up and are integrated into Systems of Systems. Without the right underlying architecture and technology, applications will fail to satisfy their performance objectives. For mission-critical systems, the consequences of this could be catastrophic. Integration costs could also explode if proprietary and stovepipe workarounds are required to compensate for limitations in the underlying integration infrastructure.</p>
<p>You can download the white paper <a title="What Is Real-Time SOA?" href="http://www.rti.com/docs/RTI_WP_RealTimeSOA.pdf" target="_blank">here</a>.</p>
<p>Check it out and let us know what you think. What does &#8220;Real-Time SOA&#8221; mean to you?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/239/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=239&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2010/06/01/what-is-real-time-soa-white-paper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bea4981d6f7cb4ed799407224df59b76?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">David Barnett</media:title>
		</media:content>
	</item>
		<item>
		<title>OMG Update</title>
		<link>http://blogs.rti.com/2010/04/29/omg-update/</link>
		<comments>http://blogs.rti.com/2010/04/29/omg-update/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 23:11:00 +0000</pubDate>
		<dc:creator>Rick Warren</dc:creator>
				<category><![CDATA[Future directions]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=235</guid>
		<description><![CDATA[Last month, the Object Management Group (OMG) held a technical meeting, sponsored in part by RTI, in Jacksonville, Florida. There were a lot of important developments, and I&#8217;d like to give you a short recap: Perhaps the most important milestone for DDS followers was the recommendation for adoption of the new specification Extensible and Dynamic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=235&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last month, the <a href="http://www.omg.org/">Object Management Group (OMG)</a> held a technical meeting, sponsored in part by RTI, in Jacksonville, Florida. There were a lot of important developments, and I&#8217;d like to give you a short recap:</p>
<ul>
<li>Perhaps the most important milestone for DDS followers was the recommendation for adoption of the new specification <em>Extensible and Dynamic Topic Types for DDS</em> (sometimes abbreviated &#8220;DDS-XTypes&#8221;). <a href="http://blogs.rti.com/2009/09/01/omg-dds-extensible-and-dynamic-types/">I wrote about DDS-XTypes late last year</a>; it will make it much easier for DDS users to upgrade and evolve their systems over time. It will also enable whole new categories of plug-and-play tools and integration components &#8212; such as <a href="http://www.rti.com/products/dds/RTIReal-TimeConnect.html">database connectors</a>, <a href="http://www.rti.com/products/dds/rtirecorder.html">recorders</a>, and <a href="http://www.rti.com/products/dds/routing-service.html">bridging/routing services</a> &#8212; to be developed in a way that&#8217;s portable and interoperable across DDS implementations, increasing the size and diversity of the DDS marketplace and increasing competition. RTI was a lead author of this specification, and a number of the capabilities defined in it are available in pre-standard form in <a href="http://www.rti.com/products/dds/index.html">RTI Data Distribution Service</a> today.</li>
<li>The meeting also saw the presentation of three initial submissions, representing six different companies, to the <a href="http://www.omg.org/techprocess/meetings/schedule/Web-enabled_DDS_RFP.html">Web-Enabled DDS RFP</a> that was released last year. (The previous link is only accessible to OMG members; sorry. When it&#8217;s finished, the specification will be publicly available.) This very strategic initiative will produce a specification for the integration of systems based on DDS with those based on web technologies. For the first time, it will be possible for SOAP- or REST-based client applications to consume data flowing along a DDS data plane, and for them to provide services back to applications in that plane, in a standards-based way with COTS technology. RTI is currently developing an implementation of this technology in parallel with the standard; this component, called RTI Web Integration Service, will be included in the <a href="http://www.rti.com/products/dds/editions.html">Professional and Elite Editions of RTI Data Distribution Service</a>. You can see a <a href="http://www.youtube.com/user/RealTimeInnovations#p/u/2/CUE3G6eEalw">video demo of DDS-web integration</a>, based on a pre-release version of this component, on YouTube.</li>
<li>Work continues on further improving the portability and usability of DDS implementations with updated C++ and Java API bindings. The <a href="http://www.omg.org/techprocess/meetings/schedule/Native_C++_Language_DDS_PSM_RFP.html">improved C++ APIs</a> are already in the revised submission stage, and we expect them to be adopted within the next small number of OMG meetings. The <a href="http://www.omg.org/techprocess/meetings/schedule/Java_5_Language_PSM_for_DDS_RFP.html">improved Java APIs</a> will be presented as initial submissions at the next OMG meeting, to be held in Minneapolis in June. RTI&#8217;s initial proposal will be based on the <a href="http://code.google.com/p/datadistrib4j/">DataDistrib4J</a> APIs, which we have made available in open source.</li>
<li>Finally, the group had a lively discussion of DDS security, especially with respect to data tagging and labeling. We expect to take these discussions to a formal RFP in the coming months.</li>
</ul>
<p>I think it&#8217;s a testament to the strength of the DDS ecosystem that while its core standards remain stable and support <a href="http://www.rti.com/industries/">significant real-world deployments</a>, at the same time the depth and breadth of that ecosystem continues to grow. It&#8217;s an exciting time to be involved with this technology.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/235/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=235&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2010/04/29/omg-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90e74a4e6594c1b054e07d7a6c6193c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Rick</media:title>
		</media:content>
	</item>
		<item>
		<title>New DDS Article in Dr. Dobbs</title>
		<link>http://blogs.rti.com/2010/02/26/new-dds-article-in-dr-dobbs/</link>
		<comments>http://blogs.rti.com/2010/02/26/new-dds-article-in-dr-dobbs/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 02:18:46 +0000</pubDate>
		<dc:creator>Rick Warren</dc:creator>
				<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=224</guid>
		<description><![CDATA[The journal Dr. Dobb's has just published an introductory article on DDS. If you're new to DDS or to real-time communications in general, take a look. It's a quick read, and it does a good job of summarizing the rich functionality of DDS and the impressive performance relative to other technologies.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=224&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The journal Dr. Dobb&#8217;s has just published an <a href="http://www.drdobbs.com/mobile/222900238">introductory article on DDS</a>. If you&#8217;re new to DDS or to real-time communications in general, take a look. It&#8217;s a quick read, and it does a good job of summarizing the <a href="http://www.rti.com/resources/product-tour/index.html">rich functionality of DDS</a> and the <a href="http://www.rti.com/resources/product-tour/performance-scalability.html">impressive performance relative to other technologies</a>. (Note that the article was written by another DDS vendor, and the author chose to use some IDL and C++ syntax in his example that&#8217;s specific to his implementation. That&#8217;s a detail, though; the concepts are the same across all implementations of the standard.)</p>
<p>Click here for more <a href="http://www.rti.com/resources/articles.html">articles on DDS</a>. Click here for <a href="http://www.rti.com/resources/whitepapers.html">whitepapers on DDS</a>, including a link to the Embedded Market Forecasters study that finds DDS middleware from <a href="http://www.rti.com/mk/commercial-middleware-vs-roll-your-own.html">RTI improves ROI</a> when compared with other alternatives.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/224/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=224&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2010/02/26/new-dds-article-in-dr-dobbs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90e74a4e6594c1b054e07d7a6c6193c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Rick</media:title>
		</media:content>
	</item>
		<item>
		<title>RTI Routing Service for DDS</title>
		<link>http://blogs.rti.com/2009/11/13/rti-routing-service-for-dds/</link>
		<comments>http://blogs.rti.com/2009/11/13/rti-routing-service-for-dds/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 00:09:46 +0000</pubDate>
		<dc:creator>David Barnett</dc:creator>
				<category><![CDATA[Ecosystem]]></category>
		<category><![CDATA[Product news]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=189</guid>
		<description><![CDATA[The Object Management Group (OMG) Data Distribution Service (DDS) standard is now five years old and has enjoyed very rapid adoption. RTI alone has about 400 commercial customers (a sampling of which are listed here) and is supporting nearly 100 other research projects. With the maturity and broad adoption of DDS, we are seeing a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=189&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Object Management Group (OMG) Data Distribution Service (DDS) standard is now five years old and has enjoyed very rapid adoption. RTI alone has about 400 commercial customers (a sampling of which are listed <a title="RTI customers" href="http://www.rti.com/company/customers.html" target="_blank">here</a>) and is supporting nearly 100 other research projects.</p>
<p>With the maturity and broad adoption of DDS, we are seeing a couple of trends.</p>
<ul>
<li>DDS is being used in larger and more geographically disperse systems</li>
<li>Customers are moving to second-generation DDS based systems</li>
<li>Users are integrating multiple systems that already deploy DDS as their underlying integration bus</li>
</ul>
<p>To support these efforts, RTI recently introduced RTI Routing Service. RTI Routing Service provides a flexible solution for scaling DDS systems and for integrating disparate DDS applications. This includes:</p>
<ul>
<li>Applications that cannot directly communicate because they run on different networks (LAN and WAN), use different transport protocols (e.g., shared memory, IPv4 and IPv6), or are members of different security domains</li>
<li>Applications that natively use different DDS data types, such as new and legacy applications, individual systems within a System of Systems, and applications that support different Communities of Interest (COI)</li>
</ul>
<p>To learn how RTI Routing Service significantly reduces the costs of real-time system integration, upgrades and of implementing Cross-Domain Solutions (CDS), visit <a title="www.rti.com" href="http://www.rti.com/products/dds/routing-service.html" target="_blank">RTI’s web site</a> or watch this video demonstration.</p>
<p><span style="text-align:center; display: block;"><a href="http://blogs.rti.com/2009/11/13/rti-routing-service-for-dds/"><img src="http://img.youtube.com/vi/VSOzknYtNXk/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/189/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=189&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2009/11/13/rti-routing-service-for-dds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bea4981d6f7cb4ed799407224df59b76?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">David Barnett</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/VSOzknYtNXk/2.jpg" medium="image" />
	</item>
		<item>
		<title>In Progress at OMG: Extensible and Dynamic Types</title>
		<link>http://blogs.rti.com/2009/09/01/omg-dds-extensible-and-dynamic-types/</link>
		<comments>http://blogs.rti.com/2009/09/01/omg-dds-extensible-and-dynamic-types/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 23:33:34 +0000</pubDate>
		<dc:creator>Rick Warren</dc:creator>
				<category><![CDATA[Future directions]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=179</guid>
		<description><![CDATA[DDS is popular, and addresses a number of important use cases that are not addressed by other specifications, but that doesn&#8217;t mean it&#8217;s perfect. The DDS community &#8212; including both customers and vendors &#8212; is active within the OMG to address additional areas in need of standardization. I thought I&#8217;d share one of those areas [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=179&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://portals.omg.org/dds">DDS</a> is popular, and addresses a number of <a href="http://www.rti.com/solutions/">important use cases</a> that are not addressed by other specifications, but that doesn&#8217;t mean it&#8217;s perfect. The DDS community &#8212; including both <a href="http://www.rti.com/industries/">customers</a> and <a href="http://portals.omg.org/dds/VendorsPage">vendors</a> &#8212; is active within the <a href="http://www.omg.org/">OMG</a> to address additional areas in need of standardization. I thought I&#8217;d share one of those areas now.</p>
<p>One of the really powerful things about DDS is that it brings to distributed systems the same kind of type safety that you&#8217;ll find in local applications. In addition to reducing errors, this <a href="http://blogs.rti.com/2009/04/30/data-transparency-why-you-should-care/">deep knowledge of data types</a> can improve performance and resource usage by reducing the number of data copies in the system and easing integration with other field- and type-aware technologies, including <a href="http://www.rti.com/products/dds/RTIReal-TimeConnect.html">relational databases</a> and even <a href="http://www.rti.com/products/dds/microsoft-excel.html">Microsoft Excel</a>.</p>
<p>But as systems evolve over time, type definitions can evolve too, and it&#8217;s important that applications that are already deployed don&#8217;t break as the types used by new applications change. It&#8217;s also desirable to ease the development of infrastructure or cross-cutting components &#8212; like <a href="http://www.rti.com/products/developer_platform/index.html">tools</a>, <a href="http://www.rti.com/products/dds/rtirecorder.html">recorders</a>, generic data routing and transformation facilities, and others &#8212; that shouldn&#8217;t be tied to specific data types. DDS users have been solving these problems in a variety of ways for some time, and <a href="http://www.rti.com/products/dds/RTIDDS.html">some implementations address them already</a>, but it&#8217;s time for a <em>standardized</em> solution.</p>
<p>To that end, the OMG is working on a new specification, <em>Extensible and Dynamic Topic Types for DDS</em>, that will provide additional capabilities for the following:</p>
<ul>
<li>A clarified and extended type system that incorporates keys and extensibility as first-class concepts</li>
<li>An API for the definition of new data types at run-time without code generation</li>
<li>A reflective API for the construction, inspection, and manipulation of data samples based on dynamic type definitions</li>
<li>The ability to define data types declaratively using not only OMG IDL but XML and XML Schema (XSD) as well for easier integration with <a href="http://www.rti.com/solutions/enterprise-messaging.html">enterprise systems</a></li>
</ul>
<p>The proposed specification will be discussed at the <a href="http://www.omg.org/news/meetings/tc/tx/info.htm">OMG Technical Meeting next month</a> and some outstanding open issues addressed. I expect the proposal to be voted on and approved at a subsequent meeting not far in the future.</p>
<p>If your organization is an OMG member, you can access the <a href="http://www.omg.org/techprocess/meetings/schedule/Extensible_and_Dynamic_Topic_Types_for_DDS_RFP.html">in-progress specification proposal documents</a> yourself.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/179/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=179&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2009/09/01/omg-dds-extensible-and-dynamic-types/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90e74a4e6594c1b054e07d7a6c6193c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Rick</media:title>
		</media:content>
	</item>
		<item>
		<title>Thinking Differently About Messaging</title>
		<link>http://blogs.rti.com/2009/06/03/thinking-differently-about-messaging/</link>
		<comments>http://blogs.rti.com/2009/06/03/thinking-differently-about-messaging/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 04:24:39 +0000</pubDate>
		<dc:creator>Rick Warren</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=153</guid>
		<description><![CDATA[If you're an old hand at messaging, but new to data distribution, the phrase "data-centric design" may sound like just a new way of describing the same old architectures. But data-centric and message-centric thinking differ in subtle-yet-important ways. Understanding those differences will help you pick the right tool for each job.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=153&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You may have heard system architects talking about &#8220;data-centric design,&#8221; or you may have attended an <a href="http://www.rti.com/services/training.html">RTI training class</a> and heard one of us use that term. Is data-centricity just a new buzzword to make messaging seem cool again? No indeed!</p>
<p>Message-centric design and data-centric design are similar, but they also differ in important ways. Let&#8217;s start with some terminology. There&#8217;s a reason why <a href="http://www.rti.com/mk/DDS.html">DDS</a> says &#8220;sample&#8221; where <a href="http://java.sun.com/products/jms/">JMS</a> says &#8220;message&#8221;: those words are intended to suggest a different mental model to you.<span id="more-153"></span></p>
<p><strong>Data-Centric Thinking</strong></p>
<p>When you hear the word &#8220;sample,&#8221; imagine some data value (perhaps the temperature in a certain place) being published periodically. Those values describe a single logical data object &#8212; an &#8220;instance&#8221; in DDS terms &#8212; whose state changes over time. Or think of subsequent frames of a movie: the movie is a single logical object, and you view slices of it one after another. In other words, in a data-centric design, as the system&#8217;s state changes, it uses the middleware to publish that state directly.</p>
<p>Therefore, a data distribution middleware &#8212; such as <a href="http://www.rti.com/products/data_distribution/index.html">RTI Data Distribution Service</a>, which implements the <a href="http://www.omg.org/spec/DDS/Current">DDS specification</a> &#8212; needs to understand what that state is and under what circumstances it should be published. That&#8217;s why RTI Data Distribution Service allows you to describe your application&#8217;s own data types to the middleware (using XML, IDL, or a programmatic API): your application stores its state using those types, so the middleware needs to understand them in order to publish that state. That&#8217;s also why DDS-compliant middleware provides applications with such extensive control over which data should be published where and when, including filters on data contents and update rates, duration- and depth-based time-to-live rules, data reliability and availability contracts, deadline enforcement, and so on. A data-centric system uses its network middleware as a lightweight cache to manage its state, thereby replacing programmatic application logic with declarative descriptions of its delivery obligations and expectations.</p>
<p><strong>Message-Centric Thinking</strong></p>
<p>In contrast, a messaging middleware provides no facilities for state maintenance or management. Instead, the system maintains that state externally to the middleware, and when it changes, it sends &#8220;messages&#8221; <em>about</em> those state changes. The recipient(s) of those messages then decide if and how to update their own state. Because only the application-level logic &#8220;above&#8221; the middleware has access to its state and knows when and how to update it, there&#8217;s no need for the middleware to understand the contents of messages. Messaging middleware implementations therefore typically don&#8217;t support content-aware message handling and provide more limited control over delivery contracts than do data distribution middleware implementations.</p>
<p><strong>Choices, Choices</strong></p>
<p>Of course, the lines between these communication paradigms are often blurred, and many complex systems will use both in different places. For example, you may use RTI Data Distribution Service to <em>distribute</em> your data, but use a relational database to <em>maintain</em> and <em>manage</em> that data, and then use a product like <a href="http://www.rti.com/products/data_distribution/RTIReal-TimeConnect.html">RTI Real-Time Connect</a> to make sure changes that occur on one side are automatically propagated to the other. Or you may implement a data-centric system with RTI Data Distribution Service but view that data, in certain subsystems, through a message-centric API with <a href="http://www.rti.com/products/jms/index.html">RTI Message Service</a>.</p>
<p>Just as you can write procedural code in C++ or Java by choosing not to use certain object-oriented features of those languages, you can implement a message-centric system using a data distribution middleware by simply choosing to limit the capabilities of that middleware that you leverage. And just as you can write object-oriented code in C if you put your mind to it, you can implement a data-centric system using a messaging middleware. But to get the most value from your middleware, and save yourself the most effort, <a href="http://www.rti.com/services/architecture-study.html">consider which paradigm will serve you best</a> most often, and pick the right tool for the job.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/153/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=153&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2009/06/03/thinking-differently-about-messaging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90e74a4e6594c1b054e07d7a6c6193c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Rick</media:title>
		</media:content>
	</item>
		<item>
		<title>Data Transparency: Why You Should Care</title>
		<link>http://blogs.rti.com/2009/04/30/data-transparency-why-you-should-care/</link>
		<comments>http://blogs.rti.com/2009/04/30/data-transparency-why-you-should-care/#comments</comments>
		<pubDate>Fri, 01 May 2009 01:33:38 +0000</pubDate>
		<dc:creator>Rick Warren</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=82</guid>
		<description><![CDATA[Supreet had a great post recently about the importance of giving your data model significant design attention, just as you do your system&#8217;s performance, determinism, and functionality. (Indeed, you can hardly separate these things.) I&#8217;d like to take that theme a bit further, and talk about some of the things RTI Data Distribution Service can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=82&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Supreet had a great post recently about the importance of <a href="http://blogs.rti.com/2009/04/20/designing-information-models-for-distributed-applications/">giving your data model significant design attention,</a> just as you do your system&#8217;s performance, determinism, and functionality. (Indeed, you can hardly separate these things.) I&#8217;d like to take that theme a bit further, and talk about some of the things <a href="http://www.rti.com/products/data_distribution/index.html">RTI Data Distribution Service</a> can do to specifically support you in that.</p>
<p><span id="more-82"></span>One of the most interesting &#8212; and as far as I know, unique &#8212; capabilities of DDS middleware is that you can associate type definitions with your data streams. (For an introduction to DDS concepts, see the RTI whitepaper &#8220;<a href="http://www.rti.com/mk/DDS.html">Is DDS for You?</a>&#8220;) Most other messaging systems do one of the following instead:</p>
<ol>
<li>Use opaque data only, and make the application handle marshalling/serialization itself, including data encapsulation, endianness conversions, and the like.</li>
<li>Include complete data structure information with every message, including the names and types of any fields it contains.</li>
</ol>
<p><a href="http://blogs.rti.com/2009/04/14/omg-dds-interoperability-demo/">Multi-vendor interoperability</a> is fiction without some kind of type system, which disqualifies (1). How can I so much as send you a single string of text if we can&#8217;t agree whether that string should be length-prefixed or NUL-terminated, how wide the characters should be, or what encoding they should use? But self-describing messages are awfully heavy on the network, and they fail to capture generalities that already exist in your system.</p>
<p>The fact is, whichever component inserts a data value into a message almost certainly knows the name and type of that data value, and whichever component receives the message has some expectation about the names and types of the values it will find inside. What DDS gives you is the ability to <em>expose</em> that meta-information so that you can derive some value from it.</p>
<ul>
<li>The programming language you use to interface with your middleware probably supports strong typing. With DDS, you can extend that type system &#8212; including the definitions of your application&#8217;s specific data types &#8212; across the network.</li>
<li>The <a href="http://www.rti.com/products/data_distribution/RTIReal-TimeConnect.html">database to which you connect</a> has a type definition implicit in its tables&#8217; schemas. Wouldn&#8217;t it be nice if the same information model made sense when your data was in-flight as when it was <a href="http://www.rti.com/products/data_distribution/rtirecorder.html">recorded</a>?</li>
<li>Use a <a href="http://www.rti.com/products/rtievent_processing/">CEP engine</a>? Leading implementations rely on SQL-like languages to inspect and correlate data values based on well-known fields within the data.</li>
<li>Some people like to <a href="http://www.rti.com/company/news/llm-excel-add-in.html">pull their data into Microsoft Excel</a> to analyze and visualize it. There are those rows and columns again: I&#8217;m noticing a pattern.</li>
</ul>
<p>When you declare your data type up front, the middleware can also share that type&#8217;s definition up front &#8212; instead of with every message &#8212; so that you enjoy all of the benefits of type awareness <em>as well as</em> those of data compactness. Who says you can&#8217;t have your cake and eat it too?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=82&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2009/04/30/data-transparency-why-you-should-care/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90e74a4e6594c1b054e07d7a6c6193c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Rick</media:title>
		</media:content>
	</item>
		<item>
		<title>RTI Message Service: Less is More</title>
		<link>http://blogs.rti.com/2009/04/22/rti-message-service-less-is-more/</link>
		<comments>http://blogs.rti.com/2009/04/22/rti-message-service-less-is-more/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 05:45:41 +0000</pubDate>
		<dc:creator>Rick Warren</dc:creator>
				<category><![CDATA[Product news]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=71</guid>
		<description><![CDATA[RTI Message Service isn't just the fastest JMS solution out there; it's also the easiest to use.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=71&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve been reading up on <a href="http://www.rti.com/products/jms/index.html">RTI Message Service</a>, you&#8217;ve probably noticed that its <a href="http://www.rti.com/products/jms/latency-throughput-benchmarks.html">message throughput is about an order of magnitude greater,</a> give or take, than that of other JMS implementations. That&#8217;s pretty cool. (I led the RTI Message Service team, though, so maybe I&#8217;m biased.) It means that you can take JMS-standard technology places that you never could before. If you were thinking about buying more servers, or were wondering whether you&#8217;d have to build that new component in C to get better performance, maybe those are things you don&#8217;t have to worry about anymore.</p>
<p>But that&#8217;s not the subject of this post.</p>
<p>What you may not have noticed is that RTI Message Service is also the easiest JMS implementation to set up and administer. In fact, it requires almost no administration at all.<span id="more-71"></span></p>
<p>There are no servers or daemons you need to manage, and there are no servers or daemons that can crash and bring down your system. Just put our libraries on your classpath, set up your JNDI repository, and you&#8217;re ready to go.</p>
<p>That JNDI repository, by the way, is just an XML file. Edit it with any tool you want, put it wherever you want. Just point your &#8220;provider URL&#8221; to it and you&#8217;re good to go. You don&#8217;t need a separate naming service running anywhere.</p>
<p>It&#8217;s even <a href="http://www.rti.com/downloads/jms.html">easy to evaluate</a>. Click the link, give it a shot, and let me know what you think.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=71&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2009/04/22/rti-message-service-less-is-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90e74a4e6594c1b054e07d7a6c6193c3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Rick</media:title>
		</media:content>
	</item>
	</channel>
</rss>