karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Schneider <ch...@die-schneider.net>
Subject Re: Proposal - Lightweight standalone remote OSGi implementation for karaf-cellar
Date Mon, 22 Feb 2016 13:44:15 GMT
Hi Johannes,

I digged a bit deeper into the CXF DOSGi code now.

The real core of the Remote Service Admin support (the spec part) is in 
the package org.apache.cxf.dosgi.dsw.service.

So I think there are two ways to handle this:

1.Extract this code from the dsw-cxf bundle and make CXF just one 
implementation of it.
This has the advantage that more code is shared but the disadvantage 
that the interfaces to make it extensible
are not covered by the spec.

2. Copy that package into your own code and see how you can integrate it 
with your code.
This should allow to mix the existing zookeeper discovery support and 
TopologyManager with your
implementation of RemoteServiceAdmin.
So this is a little code duplication but your apart from this you are 
only coding against the spec. So this should make
you code very portable.
See https://cxf.apache.org/dosgi-architecture.html

In both cases your code could become a part of CXF-DOSGi if you want.

As a further step we can then even split off the CXF part and have a 
core Remote Services impl and your slim RMI binding that could be 
evolved and deployed separately from the
CXF DSW code.

Ideally I would like to see ECF and CXF-DOSGi to be interoperable on 
that level. I am not sure if that is possible though.


On 22.02.2016 11:21, Johannes Utzig wrote:
> 2016-02-22 9:15 GMT+01:00 Christian Schneider <chris@die-schneider.net>:
>> About CXF DOSGi. I would be interested in extending CXF DOSGi to more
>> protocols. I currently can not put bigger amounts
>> of time into it but I will help as good as I can.
> I created a pull request. https://github.com/apache/cxf-dosgi/pull/2
>> So if you want to provide a pull request or discuss the design I can help.
>> We just have to make sure to do it in a way that does not require the CXF
>> libs but I think that should be possible.
>> We also have to bring the design discussion to CXF dev at some point but
>> we can first discuss this together.
> It might work fine within JBoss without modifying anything, I just noticed
> when looking at the code base that a lot of the dependencies are not
> strictly needed. One way to do it would be to make some of the dependencies
> optional and only activate the respective ConfigurationTypeHandlers if the
> classes are available.
> Another approach could be to split it into two bundles, RSA and CXF
> distribution providers.
> The only problem I see is that there is a direct dependency to CXF in
> ConfigurationTypeHandler (Server, Endpoint,...) but one could e.g. copy the
> interfaces and create a delegating wrapper or something like that.
> I will look some more into this at a later point...
> Johannes

Christian Schneider

Open Source Architect

View raw message