ECF Logo eclipse communication framework

an eclipse runtime project

New and Noteworthy
3.6.1 Release

Return to ECF download page

New and Noteworthy for 3.5.2
New and Noteworthy for 3.5.1
New and Noteworthy for 3.5.0

Idea Icon

Remote Service Admin Passes OSGi R5 Compatibility Tests

Since OSGi version 4.2, ECF has provided an implementation of the OSGi Remote Services specification, and the Remote Services Admin (RSA) specification. For OSGi R5, the ECF team has tested the implementation against the OSGi Test Compatibility Kit (TCK), which is a set of tests that assure compatibility of the implementation with the RS/RSA specifications. After fixing some compatibility problems (see tck bugs here), we are now passing all the TCK tests, and are verifiably compatible with the R5 RS/RSA specifications.

Generic provider using TLS/SSL transport

Earlier ECF general providers were based on raw TCP sockets. Thus encrypted communication through the ECF generic provider for OSGI Remote Service was not available. A new provider was developed to support secure/encrypted communication based upon SSL. See bug 391677

Server-side REST Remote Services

In previous versions of ECF, Rest API mostly supported the creation of OSGI Remote Service clients/consumers. This work on supports the creation and use of remote services on OSGi-based servers. Major additions can be found in org.eclipse.ecf.remoteservice.server bundle. Also some changes were made to the Restlet provider (available via ECF Github Repo).

Remote Service Tracker

ServiceTrackers are used to discover registered services and then consume them. This RemoteServiceTracker allows the tracking of ECF RemoteService instances, which does not need the OSGi service registry to function (as normal service trackers do).

Remote Services Proxy creation API

Earlier remote services proxy creation is done by using
In order to customize the proxy creation it was necessary to subclass AbstractRemoteService and override createProxy. But with new contributions proxy creation can be dynamically customized using IRemoteServiceProxyCreator with an appropriate service ranking.

Filetransfer provider using Apache HttpClient 4.1

Active work on Apache HttpClient version 3.X has stopped, and Apache HttpComponents/HttpClient4 is now where active dev and bug fixing work is taking place. ECF has created and deployed a new provider based upon HttpClient 4, that will allow p2/Equinox/Eclipse platform to benefit from the new Apache HttpClient 4 work, including such desired features as full support for NTLM proxies, HTTP caching, improved proxy and credentials support, and active debugging.

IRemoteCallParameterSerializer.serializeParameter can only serialize to a single parameter

Incompatibilities between ECF 3.6.0 and 3.6.1:
ECF changed in an incompatible way between 3.6.0 and 3.6.1 in ways that affect consumers of ECF remote services. The following entry describes the area that changed and provides instructions for migrating from 3.6.0 to 3.6.1.
What is affected: Consumers that provide an implementation for o.e.e.remoteservice.client.IRemoteCallParameterSerializer.
Description: ECF 3.6.1 has added a second method to the interface. This change brings improved support for advanced serialization of call parameters. However, this change also is an incompatible change for pre 3.6.1 implementers of the interface.
Action required: Consumers that directly implement IRemoteCallParameterSerializer have to choose a migration path. Either provide a method implementation for the newly introduced interface method, or inherit from o.e.e.remoteservice.client.AbstractParameterSerializer. AbstractParameterSerializer provides a default implementation for the new interface method behavior compatible to ECF 3.6.0. Number two is generally preferred.

Updated Restlet Provider

ECF has updated it's Restlet Remote Services Provider (to Restlet 2.2) available on Github here

Updated JMS Provider

ECF has updated it's JMS/ActiveMQ Provider (to ActiveMQ 5.8.0) available on Github here