| <!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 runtime project</font> |
| <br><br> |
| <font class="indextop style2">New and Noteworthy</font><br>3.0.0 Release</font> |
| <br><br><br> |
| Return to <a href="downloads.php">ECF download page</a></br> |
| <br><br> |
| <a href="NewAndNoteworthy_2.0.0.html">New and Noteworthy for 2.0.0</a><br> |
| <a href="NewAndNoteworthy_2.1.0.html">New and Noteworthy for 2.1.0</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>Distributed OSGi</B> |
| </P> |
| </TD> |
| <TD vAlign=top width="70%"> |
| <p> |
| ECF 3.0 has support for a draft version a new <b>Distributed <a href="http://www.osgi.org">OSGi</a></b> standard. The <a href="http://www.osgi.org/EEG/HomePage">OSGi Enterprise Experts group</a> has |
| created a <a href="http://www.osgi.org/download/osgi-4.2-early-draft3.pdf">DRAFT specification known as RFC119</a>, and ECF 3.0 |
| has implemented the latest available draft. Note that RFC119 will change before OSGi 4.2 final |
| release, and this implies subsequent API changes for ECF's implementation to remain compatible with the final version of the specification. |
| </p> |
| <p> |
| Here is a screenshot of debugging into the consumer of a simple 'hello' remote service |
| </p> |
| <p> |
| <img src="images/helloclient1.png"/> |
| </p> |
| <p> |
| Usage of this example remote service is described on <a href="http://wiki.eclipse.org/Getting_Started_with_ECF%27s_RFC119_Implementation">Getting Started with ECF's RFC119 Implementation</a>, as well |
| as access to the source code. |
| </p> |
| <p> |
| Also available is an architecture diagram showing the relationship between various ECF components in <a href="http://wiki.eclipse.org/Distributed_OSGi_Services_with_ECF">Distributed OSGi Services with ECF</a>. |
| </p> |
| <p> |
| Other features of the ECF implementation of RFC 119: |
| <ul> |
| <li>Asynchronous messaging via the <a href="http://wiki.eclipse.org/ECF_API_Docs">ECF remote services API</a></li> |
| <li>Support for dynamic network discovery (as well as static discovery) via multiple providers (e.g. <a href="http://en.wikipedia.org/wiki/Service_Location_Protocol">SLP</a> and <a href="http://en.wikipedia.org/wiki/Bonjour_(software)">Bonjour/Zeroconf</a>) with the <a href="http://wiki.eclipse.org/ECF_API_Docs">ECF discovery API</a></li> |
| <li>Support for <a href="http://eclipsesource.com/blogs/2009/02/21/rfc-119-and-ecf-part-2/">multiple transport providers</a> (e.g. r-OSGi, XMPP, ActiveMQ/JMS, ECF generic, Skype, JavaGroups, others).</li> |
| <li>Extensibility...to allow new/other transport protocols to be used/introduced for both discovery and distribution, and to allow the <a href="http://wiki.eclipse.org/Discovery_and_Distribution_Listeners">customization of the RFC 119 implementation itself</a>.</li> |
| </ul> |
| </p> |
| <p> |
| See also an example implementation of the <a href="http://wiki.eclipse.org/Distributed_EventAdmin_Service">OSGi EventAdmin service</a> using ECF's shared object API, ActiveMQ (and other messaging providers), and efficient and scalable publish/subscribe messaging. |
| </p> |
| <br><br> |
| </td> |
| </TR> |
| |
| <TR> |
| <TD vAlign=top align=left width="30%"> |
| <P align=left> |
| <B>Discovery API</B> |
| </P> |
| </TD> |
| <TD vAlign=top width="70%"> |
| <p> |
| In addition to supporting the distributed OSGi implementation described above, a number of feature additions and were made to the <a href="http://wiki.eclipse.org/ECF_API_Docs">ECF Discovery API</a>. |
| For technical details, see <a href="http://www.eclipsecon.org/2009/sessions?id=618">Distributed OSGi - The ECF Way</a>. |
| </p> |
| <p> |
| The ECF service discovery view was overhauled to present more information about discovered network services, and to be much more extensible |
| </p> |
| <p> |
| <img src="images/discoveryview1.png"> |
| </p> |
| <br><br> |
| </td> |
| </TR> |
| |
| <TR> |
| <TD vAlign=top align=left width="30%"> |
| <P align=left> |
| <B>Twitter Client</B> |
| </P> |
| </TD> |
| <TD vAlign=top width="70%"> |
| <p> |
| Community-initiated work is underway on a Twitter client (called TweetHub) that uses ECF APIs, |
| as well as Eclipse RCP user interface technologies. For details of this work, and to participate, see <a href="http://wiki.eclipse.org/TweetHub">here</a>. |
| </p> |
| <p> |
| Here is a screen shot from a recent version of the TweetHub work |
| </p> |
| <p> |
| <img src="images/TweetHub1.png"> |
| </p> |
| <br><br> |
| </td> |
| </TR> |
| |
| <TR> |
| <TD vAlign=top align=left width="30%"> |
| <P align=left> |
| <B>User Search API</B> |
| </P> |
| </TD> |
| <TD vAlign=top width="70%"> |
| <p> |
| A user-search API was introduced to the <a href="http://wiki.eclipse.org/ECF_API_Docs">ECF Presence API</a> to allow for user searches |
| </p> |
| <p> |
| <img src="images/usersearch1.png"> |
| </p> |
| <br><br> |
| </td> |
| </TR> |
| |
| <TR> |
| <TD vAlign=top align=left width="30%"> |
| <P align=left> |
| <B>Extending Real-Time Shared Editing to Projects</B> |
| </P> |
| </TD> |
| <TD vAlign=top width="70%"> |
| <p> |
| An implementation of real-time synchronization of resources using the Eclipse Team API was done. This allows the use of the Eclipse Team |
| API to synchronize workspace resources in real-time using instant messaging protocols (like XMPP, others). See <a href="http://blog.hantsuki.org/2009/05/10/extending-real-time-shared-editing-to-projects/">here for |
| more description of the functionality</a>, and <a href="http://www.hantsuki.org/screencasts/ecf-team.htm">here for a screencast</a>. |
| </p> |
| <br><br> |
| </td> |
| </TR> |
| |
| <TR> |
| <TD vAlign=top align=left width="30%"> |
| <P align=left> |
| <B>Generalizing Real-time Shared Editing</B> |
| </P> |
| </TD> |
| <TD vAlign=top width="70%"> |
| <p> |
| As part of ECF 2.0, we introduced an Eclipse application called <a href="http://wiki.eclipse.org/DocShare_Plugin">Docshare</a>. See also <a href="http://live.eclipse.org/node/543">this video</a>, showing the usage |
| of Docshare in a pair-programming context. |
| </p> |
| <p> |
| For ECF 3.0, the approach used to perform real-time conflict detection and synchronization (<a href="http://en.wikipedia.org/wiki/Operational_transformation">Operational Transformation</a>), was abstracted away |
| from the DocShare user interface, so that other applications can/could be created that took advantage of the underlying synchronization. This generalization is represented |
| by <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=234142">bug 234142</a>. |
| </p> |
| <p> |
| To address this issue, we have created the <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/sync/package-frame.html">ECF Sync API</a> for (synchronization). This API is exposed as an OSGi service, and allows applications to |
| use the operational transformation algorithm in their own applications. DocShare also has been back ported to use the ECF Sync API rather than have it's own OT implementation. |
| </p> |
| <br><br> |
| </td> |
| </TR> |
| |
| <TR> |
| <TD vAlign=top align=left width="30%"> |
| <P align=left> |
| <B>Future: Google Wave Provider for ECF</B> |
| </P> |
| </TD> |
| <TD vAlign=top width="70%"> |
| <p> |
| ECF has started work on supporting the <a href="http://www.waveprotocol.org">Google Wave server-to-server protocol</a>. ECF already has an XMPP provider implementation, |
| as well as the sync API (using Operational Transformation) described above. As Google Wave was just announced, and the protocol is not yet completely |
| specified we have not completed this work, but anticipate it going quickly once the protocol is solidified. See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=280347">this enhancement request</a> to participate in |
| this work or track it as it proceeds. |
| </p> |
| <br><br> |
| </td> |
| </TR> |
| |
| </table> |
| |
| </body> |
| </html> |