[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] distribution providers

On 9/10/2015 5:28 AM, Wim Jongman wrote:
I've made a beginning Tycho build for this project [1].

cd JaxRSProviders
mvn clean   // requires mvn 3.3+

* If you want to try the build, add a file to your local ~/.m2 directory as described here [2]
* Build currently breaks because I don't have a 3.11.0 repo yet.

Hi Wim,

Some things to consider (and possibly discuss in call/meeting if you wish):

1) The Glassfish Jersey version currently in Orbit (2.14) [1], works ok for the client, but the org.glassfish.jersey.server bundle (required for server provider) is not currently in Orbit.  Further, I had to update several of Jersey's Orbit dependencies (beyond 2.14) to use the jersey server bundle.   I've been corresponding directly with Roland Grunberg at Red Hat (he is the maintainer of the Jersey bundles in Orbit [1]) about updating the Orbit version (2.14 is a little stale now) and it's dependencies.  According to Roland this is a significant job (Jersey has quite a few deps) and so if we want this to happen we should try to coordinate with Roland and/or Mat on getting it accomplished.  Another option is that we simply use a more recent version of Jersey from Maven Central (or wherever).   I'm personally indifferent about this, but it obviously has build, IP, EF, distribution implications.

2) There's no version of CXF in Orbit, so we either have to take that on (which I'm not personally willing to do, but am OK if others wish to do it), or build/distribute against non-Orbit versions of CXF bundles and it's extent of dependencies (which is fairly complicated, and I haven't tried to figure out or even test yet).

Let me know if you want to discuss in call/meeting.


[1] http://download.eclipse.org/tools/orbit/downloads/drops/R20150821153341/

On Thu, Sep 10, 2015 at 12:32 PM, Wim Jongman <wim.jongman@xxxxxxxxx> wrote:
Hi Scott,

I am happy to try this. Ping me frequent with the status. Do you have tests in place?
 I am going for Tycho for this one. I am waiting for an opportunity to try their new "pomless" feature.



On Wed, Sep 9, 2015 at 9:26 PM, Scott Lewis <slewis@xxxxxxxxxxxxx> wrote:
Hi Folks,

Over the past few weeks, I've used the new ECF 3.11.0 provider API to create several new providers.  First, I've created several providers based upon Jax Rest Services (Jax RS) specification...specifically the implementations from Jersey, CXF, and started one based upon RestEasy.   I designed these bundles to reuse common classes (dependent upon Jax-RS...e.g. javax.ws.rs packages) so that it's now much easier to introduce additional Jax-RS implementations (e.g. Restlet).

These JaxRS-based providers are in this repo [1], along with some examples.

I've also created some tutorials [2] describing how REST-standards-based remote services can easily be created...and be completely independent of any REST implementation, or even any remote services implementation.

I would like to request assistance from other committers and/or ECF contributors in setting up the build/distribution meta-data for these projects, so that we can build them and make them available as bundles.   The various Jax-RS implementations are relatively large (e.g. Jersey, CXF, etc) and have quite a few dependencies of their own.  The good news is that at least Jersey bundles are available from Orbit, the bad news is that the version in Orbit needs to be upgraded and the original Orbit contributor needs some assistance with an upgrade of the Jersey version in Orbit.

CXF is distributed as bundles, but it's not in Orbit.   It is in maven repos, as are most or maybe all of it's dependencies. It has a significant number of dependencies and so getting all the versions correct, etc. could be an effort for someone not familiar with CXF internals.

As you can tell, there's a fair amount to do to build and deploy these providers, provide a way for consumers to install all dependencies (via both p2 repo and Karaf features).  I request some help with that, as it would be very nice for people to be able to easily switch among several distribution providers for their remote services.

Thanksinadvance for your contributions.


[1] https://github.com/ECF/JaxRSProviders
[2] https://wiki.eclipse.org/Tutorial:_Using_REST_and_OSGi_Standards_for_Micro_Services
ecf-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

ecf-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit