Hi Folks,

There's a new version of the ECF JaxRS Distribution Provider [1].   This provider implements OSGi R7 Remote Services [2] via the JaxRS support in new Jersey 2.28 or Apache CXF 3.3.

In practice, this means that any JaxRS-annotated service can be exported as a spec-compliant Remote Service in Karaf or other environments by adding service properties on service registration.   An example of running such an example in Karaf is documented here [3] with all example source available here [1].

Both Jersey and CXF can be extended and/or configured to support custom serialization, security, or other use-case specific distribution needs, all within the JaxRS-standardized extension mechanisms.

OSGi R7 Remote Services has asynchronous remote services [4], service intents, remote service admin, configurable and extensible service discovery, and service dynamics, as well as versioning, proxy creation...all integrated-via spec with any frameworks built upon the OSGi service registry (DS, etc).

ECF also now has a Bndtools 4.2+ workspace and templates for creating and running remote services with Bndtools [5].  These provide the repos for the necessary bundles, as well as runnable examples and bndtools project templates.

See blog posting [6] for more links.

Thanks,

Scott

[1] https://github.com/ECF/JaxRSProviders

[2] https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html

[3] https://wiki.eclipse.org/Tutorial:_JaxRS_Remote_Services_on_Karaf

[4] https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html#d0e1407

[5] https://wiki.eclipse.org/Bndtools_Support_for_Remote_Services_Development

[6] http://eclipseecf.blogspot.com/2019/02/restful-osgi-r7-remote-services-with.html

Reply via email to