On 2/22/2016 8:01 AM, Christian Schneider wrote:
Aries sounds like a good place for this.

In the mean time I looked a bit into the CXF DOSGi code. I think we can split off the CXF part. So what remains is discovery support for zookeeper and local discovery and a core RemoteServiceAdmin impl that can be enhanced with providers like CXF or for example an RMI or Hazelcast one. I have extracted the interface the providers would need to implement. I think we should be fine with something like blow. The details of the interface of course can be discussed but the classes below is what CXF DOSGi would need for the CXF support and it looks like other providers should be possible too with such informations.

I also think that ECF has a similar set of interfaces. Maybe we can even sync with them.

Yes it does. ECF has an API called the 'remote services API' (org.eclipse.ecf.remoteservices bundle) [1], that the ECF Remote Service Admin implementation uses to export and import remote services (using whatever topology manager). All providers (us and others) implement the appropriate parts of this remote services API, and they then may be used as R6+-compliant RSA implementations...with any desired discovery and/or topology manager.

The ECF remote service API has dependencies as described here [2]. We would be happy to support and/or enhance/extend as needed to sync up.

Scott

[1] http://download.eclipse.org/rt/ecf/3.12.1/javadoc/index.html
[2] http://wiki.eclipse.org/Distribution_Providers#Remote_Services_API


So if this code is independent from CXF and implements an OSGi specification it would fit great into Aries. I have not yet looked into the Redhat code but I think at the very least we could take the RMI impl from there.

Christian

----
public interface ConfigurationTypeHandler {

    public Object createProxy(
            ServiceReference<?> reference,
            BundleContext bundleContext,
            Class<?> interfaceClass,
            EndpointDescription endpoint);

    public ExportResult createServer(
            ServiceReference<?> serviceReference,
            BundleContext bundleContext,
            Map<String, Object> serviceProperties,
            Class<?> interfaceClass,
            Object service);

}
---
public class ExportResult {
    private Map<String, Object> eProps;
    private Closeable server;
    private Throwable ex;

    public ExportResult(Map<String, Object> eProps, Closeable server) {
        this.eProps = eProps;
        this.server = server;
    }

    public ExportResult(Map<String, Object> eProps, Throwable ex) {
        this.ex = ex;
    }

    public Throwable getException() {
        return ex;
    }

    public Closeable getServer() {
        return server;
    }

    public Map<String, ?> getEndpointProps() {
        return eProps;
    }

}


On 22.02.2016 15:52, Guillaume Nodet wrote:
You see things backward. RedHat has not proposed to donate the code. I've been asked on this list if RedHat would actually donate the code. That's quite different. As for why the code suits Johannes and Sasha's need better than the CXF or the Cellar one, I'm sure they can answer that part if not already done. And you're right we don't really need to start any legal stuff at this point. We first need to decide if the Karaf community wants this code along with 2 committers to maintain it. Actually, I think Aries may be a better choice for this code, especially if the goal is to somehow merge efforts from CXF / Karaf communities.
Kind regards,
Łukasz
—
l...@code-house.org
Twitter: ldywicki
Blog: http://dywicki.pl
Code-House - http://code-house.org






Reply via email to