<?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>EclipseSource Blog &#187; distribution</title>
	<atom:link href="http://eclipsesource.com/blogs/tag/distribution/feed/" rel="self" type="application/rss+xml" />
	<link>http://eclipsesource.com/blogs</link>
	<description>Eclipse Equinox OSGi</description>
	<lastBuildDate>Fri, 03 Feb 2012 17:54:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>RFC 119 and ECF &#8211; part 3</title>
		<link>http://eclipsesource.com/blogs/2009/03/08/rfc-119-and-ecf-part-3/</link>
		<comments>http://eclipsesource.com/blogs/2009/03/08/rfc-119-and-ecf-part-3/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 19:15:16 +0000</pubDate>
		<dc:creator>Scott Lewis</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[syndicate]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[discovery]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[ecf]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[rfc119]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=661</guid>
		<description><![CDATA[I&#8217;ve blogged previously about what we (ECF) are doing WRT to RFC 119 (Distributed OSGi Services):  RFC 119 and ECF &#8211; part 2 The news for today&#8230;I&#8217;m rather excited to report&#8230;is that we now have a working implementation of RFC 119, with support for both discovery and distribution parts of the specification.  This will be [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve blogged previously about what we (ECF) are doing WRT to RFC 119 (Distributed OSGi Services):  <a title="RFC 119 and ECF - part 2" href="http://eclipsesource.com/blogs/2009/02/21/rfc-119-and-ecf-part-2/" target="_blank">RFC 119 and ECF &#8211; part 2</a></p>
<p>The news for today&#8230;I&#8217;m rather excited to report&#8230;is that we now have a working implementation of <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=249240">RFC 119</a>, with support for both discovery and distribution parts of the specification.  This will be part of the ECF 3.0/Galileo release, and of course we will be talking about it in <a href="http://www.eclipsecon.org/2009/sessions?id=618">Markus&#8217; and my tutorial</a>, as well as <a href="http://www.eclipsecon.org/2009/sessions?id=633">some other talks</a>.</p>
<p><strong>What&#8217;s So Cool About Yet Another Spec Implementation?</strong></p>
<p>In my view, what makes this implementation interesting and useful is that we&#8217;ve used the abstract <a href="http://wiki.eclipse.org/ECF_API_Docs" target="_blank">ECF discovery and remote services APIs</a> to implement this spec, meaning that without doing <strong>any </strong>other work, RFC compliant distributed OSGi services are supported using the following transports</p>
<p>Distribution</p>
<ul>
<li>r-OSGi (http)</li>
<li>XMPP</li>
<li>ECF Generic</li>
<li>Skype</li>
<li>Java Messaging Service (JMS)</li>
<li>JavaGroups</li>
</ul>
<p>Discovery</p>
<ul>
<li>Service Location Protocol (<a href="http://www.faqs.org/rfcs/rfc2608.html" target="_blank">RFC 2608</a>)</li>
<li>Bonjour/<a href="http://www.dns-sd.org/">Zeroconf/DNS-SD</a></li>
</ul>
<p>And, of course <strong>any </strong>other transports that people are willing to create, as the ECF remote services API is completely open.</p>
<p>Our desire/hope is that others will implement ECF providers built from other protocols/transports of their choosing (both commercial and open source)&#8230;with the payoff to them being that they will then automagically have a RFC 119-compliant implementation&#8230;since all ECF providers are now RFC 119 compliant (and will remain so, as we will update the impl as the spec changes).  All the existing implementations done by the ECF team (e.g. r-OSGi, ECF generic, etc) are open source and so may be used/reused to create new providers as desired.</p>
<p>Another thing that I think is cool is that even though RFC 119 specifies using transparent proxies for accessing remote OSGi services, it allows (and even encourages) implementations to support non-transparent/asynchronous remoting (i.e. using one-ways, asynchronous rpc, and futures).  ECF&#8217;s remote services API already has support for <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.5M5-200902021535/eclipse-news-M5.html">futures</a>, and asynchronous/non-blocking remote invocation via its <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/remoteservice/IRemoteService.html">IRemoteService interface</a>.</p>
<p>With our current impl of RFC 119, clients can access the IRemoteService instance (in addition to or instead of the proxy), via a standard service property on the ServiceReference.  This gives <strong>clients </strong>a <strong>runtime </strong>choice of whether to access a remoted service via a proxy&#8230;or via asynchronous/non-blocking techniques like futures and one-ways.</p>
<p>One final thing&#8230;the size cost for the ECF remote services API is fairly small (&lt;60k of code) next to the size of the implementations&#8230;making it possible to use in smaller (as well as larger) execution environments.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2009/03/08/rfc-119-and-ecf-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RFC 119 and ECF &#8211; part 2</title>
		<link>http://eclipsesource.com/blogs/2009/02/21/rfc-119-and-ecf-part-2/</link>
		<comments>http://eclipsesource.com/blogs/2009/02/21/rfc-119-and-ecf-part-2/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 23:38:03 +0000</pubDate>
		<dc:creator>Scott Lewis</dc:creator>
				<category><![CDATA[syndicate]]></category>
		<category><![CDATA[discovery]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[ecf]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[rfc119]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=458</guid>
		<description><![CDATA[Some time ago, I blogged about RFC 119 and ECF part 1, so now it&#8217;s time for part 2&#8230; ECF now has a set of plugins that serve as a bridge between the RFC 119 spec (see part 1) and ECF&#8217;s discovery and remote services API (note:  all the following plugins begin with &#8216;org.eclipse.ecf&#8217; and [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago, I blogged about <a title="RFC 119 and ECF - part 1" href="http://eclipsesource.com/blogs/2008/12/19/rfc-119-and-ecf-part-1/" target="_self">RFC 119 and ECF part 1</a>, so now it&#8217;s time for part 2&#8230;</p>
<p>ECF now has a set of plugins that serve as a bridge between the RFC 119 spec (see part 1) and <a title="ECF APIs" href="http://wiki.eclipse.org/ECF_API_Docs" target="_self">ECF&#8217;s discovery and remote services API</a> (note:  all the following plugins begin with &#8216;org.eclipse.ecf&#8217; and can be found in /cvsroot/rt/org.eclipse.ecf/framework/bundles at dev.eclipse.org):</p>
<ol>
<li><strong>osgi.services</strong></li>
<li><strong>osgi.services.discovery</strong></li>
<li><strong>osgi.services.distribution</strong></li>
</ol>
<p>The osgi.service bundle only contains the classes that are included in the OSGi 4.2 compendium, i.e. interfaces such as DiscoveryProvider, DiscoveredServiceTracker, and DistributionProvider.  These interfaces are defined by the OSGi Enterprise Experts group, and are part of the RFC 119 specification.  The implementation is from the OSGi Alliance, as are other parts of OSGi that are implemented in Equinox.</p>
<p>RFC 119 is divided into two parts:  1) service discovery; 2) service distribution.  Service discovery is optional, and service distribution is required.</p>
<p>The <strong>osgi.services.discovery</strong> bundle implements the RFC 119 discovery and uses <a title="ECF Discovery API" href="http://wiki.eclipse.org/ECF_API_Docs#Discovery_API" target="_self">ECF&#8217;s discovery API</a> to implement protocol independent network service discovery.   There are two existing provider implementations of the ECF discovery API right now:  zeroconf/bonjour and SLP&#8230;so users will be able to publish their services automatically over both SLP and zeroconf discovery mechanisms with a single service publication.</p>
<p>Similarly the <strong>osgi.services.distribution</strong> bundle implements RFC 119 distribution using <a title="ECF Remote Services API" href="http://wiki.eclipse.org/ECF_API_Docs#Remote_Services_API" target="_self">ECF&#8217;s remote services API</a>.   When this is complete, it will mean that without any additional coding, remote services will run immediately on the following transports:</p>
<ol>
<li>r-OSGi/http</li>
<li>TCP/ECF generic</li>
<li>XMPP/XMPPS</li>
<li>Skype</li>
<li>JMS &#8211; ActiveMQ, Weblogic JMS</li>
<li>Others under active development:  EMF/CDO, http-with-rest</li>
</ol>
<p>Further,  the ECF remote services API also allows non-transparent access to remote services, in order to support asynchronous remote method invocation, one-ways, <a title="futures" href="http://download.eclipse.org/eclipse/downloads/drops/S-3.5M5-200902021535/eclipse-news-M5.html#Equinox" target="_self">futures</a>, explicit failure handling, and other features not part of RFC 119 at this point.</p>
<p>Note also that other providers that implement the ECF remote services API will automatically be RFC 119 compliant&#8230;i.e. they have to do no work to be compliant with RFC 119 for transparent remote procedure call.  Further, with ECF remote services, if clients wish to use non-transparent remoting&#8230;in combination with or in exclusion to transparent remoting&#8230;that is also available.</p>
<p>We&#8217;re closing in as rapidly as we can on having this all ready and working&#8230;and <a title="EclipseCon 2009" href="http://www.eclipsecon.org/2009/" target="_self">EclipseCon 2009 </a>is coming up fast&#8230;so stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2009/02/21/rfc-119-and-ecf-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

