[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] ECF 3.11.0 ... or 3.10.2

Hi Folks,

I've been working on a few additions to ECF remote services, with the primary goal of making it easier for others to create and use new Remote Service distribution providers (I would also like to make it easier for people to create their own discovery providers, but for the moment I am focusing on distribution providers).

To this end, what I've done so far is to create a new package in org.eclipse.ecf.remoteservices API bundle:

package:  org.eclipse.ecf.remoteservice.provider [1]

And added a new service interface: IRemoteServiceDistributionProvider, an abstract impl class (RemoteServiceDistributionProvider and Builder), and a helper class for providers that use adapters (AdapterConfig).

I've been trying this new API out with two new distribution providers that I've been working on:

Hazelcast [3]

What one can now do is use the whiteboard pattern to register an impl of IRemoteServiceDistributionProvider, and this do the ECF setup to allow for the use of that provider by ECF's RSA implementation.

[2a] and [3a] show two example uses of this provider API for the Jersey and Hazelcast providers. As you can see, these create an instance of IRemoteServiceDistributionProvider, and register that instance as a IRemoteServiceDistributionProvider. That's all that's needed.

Just to be clear, I can/could easily do this with DS doing the service registration, and may yet do that. I want to have both programmatic and DS examples.

Any thoughts/comments/criticisms appreciated.

I would like to release this provider API as part of some ECF release. Technically, we need to have a minor release (including review) with new API, although I might ask if this could be an exception to the minor release process...or maybe expedited/simplified in some way, since this is totally new ECF-specific API, and it's very small.

In any event, I wanted to find out what other committers and/or contributors were thinking in terms of planning for a minor release. It might be good to shoot for the third or fourth weeks in Sept...e.g. 21 or 28. Do others have additions that they would like to include in 3.11.0 (or 3.10.2, depending upon what happens WRT the review, etc)? For example, the new Zookeeper version in Orbit? Other things?



[1] http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/provider
[2] https://github.com/ECF/JaxRSProviders
[2a] https://github.com/ECF/JaxRSProviders/blob/master/bundles/org.eclipse.ecf.provider.jersey.client/src/org/eclipse/ecf/provider/jersey/client/Activator.java
[3] https://github.com/ECF/HazelcastProvider
[3a] https://github.com/ECF/HazelcastProvider/blob/master/bundles/org.eclipse.ecf.provider.jms.hazelcast/src/org/eclipse/ecf/provider/internal/jms/hazelcast/Activator.java