<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ECF New and Noteworthy</title>
<link rel="stylesheet" href="http://www.eclipse.org/default_style.css" type="text/css">

</head>

<body bgcolor="#FFFFFF">
<table border=0 cellspacing=5 cellpadding=2 width="100%">
  <tbody>
    <tr>
      <td width="69%" class="bannertext">
        <font class="indextop style">eclipse communication framework</font>
        <br><br>
        <font class="indexsub">an eclipse technology project</font>
        <br><br>
        <font class="indextop style2">New and Noteworthy</font><br>2.0.0 milestone 5</font>
        <br><br><br>
        Return to <a href="downloads.php">ECF download page</a></br>
        <br><br>
        <a href="NewAndNoteworthy_1.0.0.html">New and Noteworthy for 1.0.0</a><br>
        <a href="NewAndNoteworthy_1.1.0.html">New and Noteworthy for 1.1.0</a><br>
        <a href="NewAndNoteworthy_1.2.0.html">New and Noteworthy for 1.2.0</a><br>
        <a href="NewAndNoteworthy_2.0.0M4.html">New and Noteworthy for 2.0.0M4</a><br>
        <a href="NewAndNoteworthy_2.0.0M4a.html">New and Noteworthy for 2.0.0M4a</a><br>
        <a href="NewAndNoteworthy_2.0.0M4b.html">New and Noteworthy for 2.0.0M4b</a><br>
        <br><br>
      </td>
      <td width="31%">
        <div align="center">
          <img src="../images/Idea.jpg" width="120" height="86" hspace="50" align="middle">
        </div>
      </td>
    </tr>
  </tbody>
</table>

<hr>

<table>

  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Service Locator Protocol</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    <p>
    We have added a <a href="http://jslp.sourceforge.net/">jSLP-based</a> implementation of the <a href="http://wiki.eclipse.org/ECF_API_Docs#Discovery_API">ECF discovery API</a>.  See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=200804">bug 200804</a> for details.
    </p>
       <br><br>
    </td>
  </TR>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Peer-to-Peer Updatesite Discovery</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    There is now an example of using the <a href="http://wiki.eclipse.org/ECF_API_Docs#Discovery_API">ECF discovery API</a> for peer-to-peer update site discovery.  <a href="http://wiki.eclipse.org/Update_Site_Discovery">See here screenshots and for details.</a>.
    </td>
  </TR>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Peer-to-Peer Remote Services</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    There is an example of using the <a href="http://wiki.eclipse.org/ECF_API_Docs#Discovery_API">ECF discovery API</a> for peer-to-peer discovery of remote OSGi services.  The example remote service (in this case remote access to the EnvironmentInfo Equinox Service) can then be accessed
    in several ways:
<ul><li>(s) = synchronously -- block calling thread until service host responds
</li><li>(a) = asynchronously -- calling thread does not block and result is provided via notification to a listener
</li><li>(f) = future -- calling thread does not block, and an instance of IAsynchResult is returned immediately  Receiver can inspect IAsynchResult for completion.
</li><li>(p) = proxy -- calling thread calls a proxy instance of service interface) with normal call/return semantics
</li></ul>
<p>These access methods are made available via the ECF <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/remoteservice/IRemoteService.html" class="external text" title="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/remoteservice/IRemoteService.html" rel="nofollow">IRemoteService</a>.  
</p><p><b>Note that the proxy can also be accessed directly in the OSGi service registry via BundleContext.getServiceReference() or a ServiceTracker.</b>  In this way, if complete API transparency is desired by the programmer, then the remote service can be transparently accessed.
</p>    
<p>
Note also that we currently have provider implementations of the remote services API based upon ECF generic (included in ECF), XMPP (included in ECF), <a href="http://activemq.apache.org/">ActiveMQ</a> and <a href="http://www.bea.com">BEA Weblogic</a>-based <a href="http://java.sun.com/jms">JMS</a> implementations (<a href="http://ecf1.osuosl.org">found here</a>), and a <a href="http://www.jgroups.org/javagroupsnew/docs/index.html">Javagroups</a>-based implementation (<a href="http://ecf1.osuosl.org">found here</a>).  We also have a pending contribution
of the <a href="http://r-osgi.sourceforge.net/">r-OSGI</a>-based provider, expected to be included in ECF milestone 6 pending Eclipse Foundation IP approval (CQs <a href="http://dev.eclipse.org/ipzilla/show_bug.cgi?id=2063">2063</a> and <a href="http://dev.eclipse.org/ipzilla/show_bug.cgi?id=2064">2064</a>). 
</p>
<a href="http://wiki.eclipse.org/Discovery_of_Remote_Services">See here for screen shots and details</a>.
       <br><br>
    </td>
  </TR>

  <TR> <!----------------------------------------------------->
    <TD colSpan=2> <HR> </TD>
  </TR>
  
</table>

</body>
</html>
