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

On 9/10/2015 3:32 AM, Wim Jongman wrote:
Hi Scott,

I am happy to try this. Ping me frequent with the status. Do you have tests in place?

Yes.  There is test/example code in these bundles:

1.  API:  https://github.com/ECF/JaxRSProviders/tree/master/examples/com.mycorp.examples.student
2.  Host/Server (osgi):  https://github.com/ECF/JaxRSProviders/tree/master/example/com.mycorp.examples.student.remoteservice.host
Host/Server (webapp):  https://github.com/ECF/JaxRSProviders/tree/master/examples/com.mycorp.examples.student.webapp.host
3.  Consumer/Client (osgi):  https://github.com/ECF/JaxRSProviders/tree/master/examples/com.mycorp.examples.student.client

The reason I haven't (so far) used the existing ECF remote services test suite is because the service interfaces and impls require the jax-rs annotations, and right now these annotations don't exist in the test suite.  That is probably something worth adding...or perhaps separate/new test bundles would be better.

 I am going for Tycho for this one. I am waiting for an opportunity to try their new "pomless" feature.

That's fine with me.  Although I think some public discussion is probably warranted about (e.g.) what version of Tycho to use (e.g. java8 support?, what about reusing the work that Mat has done), etc.

Scott


Cheers,

Wim


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.

Scott

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



_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev