On 5/28/2018 10:40 AM, Guenther Schmidt wrote:
Hello All,
I’ve been developing services using Declarative Services for dependency
injection and it was a breeze so far. Now I want to expose some of the
functionality via a REST API and I’m stuck. So far I’ve deployed my bundles
through bundle:install -s man: …. all very easy. But what should be simple,
exposing this through REST is becoming difficult. There are tips out there
suggesting to use Blueprint, which I don’t want, others seem to suggest that I
need to create a “feature” package.
Then there’s also the requirements to “feature” install cxf. That’s OK btw, I
only have to do that once. But is there really no simple way to create a simple
REST service using merely DS?
Guenther
Hi Guenther,
Another option would be ECF Remote Services [1]. It's a full
implementation of the OSGi Remote Services and Remote Service Admin
(R7/latest) specifications [2]. These specifications standardize the
remoting of OSGi services (meta-data and dynamics), so it works
seemlessly with DS and other frameworks that use the OSGi service registry.
ECF has a provider architecture so allows the use of a variety of
distribution providers [3], including CXF [4].
We have features defined for Karaf [5] and we also now have support for
bndtools-based development [6] (workspace and project templates).
Caveat: ECF is in the middle of 'release season' for the Eclipse
simultaneous release (late June), so the transition to ECF 3.14.0 is not
yet complete. For example, the Karaf features don't yet point to 3.14.0
at maven central only because we have to wait for the SR process before
deployment of the release to maven central. However, I'm happy to
provide needed support via [7].
Scott
[1] https://wiki.eclipse.org/Eclipse_Communication_Framework_Project
[2]
https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html
[3] https://wiki.eclipse.org/Distribution_Providers
[4] https://github.com/ECF/JaxRSProviders
[5] https://wiki.eclipse.org/EIG:Install_into_Apache_Karaf
[6]
https://wiki.eclipse.org/Bndtools_Support_for_Remote_Services_Development
[7] https://accounts.eclipse.org/mailing-list/ecf-dev
[8] http://eclipseecf.blogspot.com/