Hi Andrew,

I suggest you consider a relatively new OSGi enterprise specification called Remote Services (RS) [1].

Short story for Remote Services (why it appears relevant to what you are doing): the RS specification provides a way to extend the OSGi service registry (i.e. and any of your services) for out-of-process access to OSGi services. The specification does this in a completely transport-independent way, meaning that implementations can/do use existing JAX RS web services, REST+json, binary protocols, JMS, MQTT, or any other (e.g. custom) remoting transport, and get all of the advantages of using OSGi services without requiring the service host or consumer to be permanently bound to any one transport/wire protocol/serialization format.

There are two R6 spec-compliant implementations of RS/RSA that I know of:

ECF [2]
Amdatu [3]

Full disclosure: I'm the ECF project lead and participate in the OSGi Enterprise Experts Group (EEG).

My main point above is that you should consider using these emerging standards (RS/RSA), as they simplify the use of remoting with OSGi services and deal with some fundamental issues:

discovery
dynamics in remoting/failure-prone environments
versioning of service APIs
standardized endpoint description format
all the other good things that come with using OSGi services (e.g. loose coupling of components, multiple mature injection frameworks, security, lots of support/experience with OSGi services, etc)
a standardized management agent (RSA)

These advantages come for 'free' when RS/RSA is used, no matter which implementation is used (ECF, Amdatu, or some other).

ECF as RS/RSA implementation

One possible misunderstanding: ECF does not require nor is bound in any way to the use of Eclipse, the use of Equinox as OSGi Framework, HttpService implementation, or even the use of a particular dependency manager like DS or the Apache dependency manager. That is, any/all of these and/or others may be used alongside ECF's RS/RSA impl for development, testing, and deployment. Further, we now specifically support install/usage as Karaf features [4].

Here is the wiki-based documentation about ECF [5]. One technical point of potential value to you is that ECF has an open, modular, and documented provider architecture, allowing users to substitute their own implementations of the distribution/transport/wire protocol if the existing providers (which currently does include JAX RS web services in addition to ~6 others created by the ECF team) do not meet your security and/or integration needs.

Scott

[1] http://www.osgi.org/Specifications/Drafts
[2] https://www.eclipse.org/ecf/
[3] http://www.amdatu.org
[4] https://wiki.eclipse.org/EIG:Install_into_Apache_Karaf
[5] https://wiki.eclipse.org/ECF#OSGi_Remote_Services

On 9/17/2014 9:38 AM, Andrew Beechey wrote:
Dear, users Felix Apache, I work for a large financial institution that is 
looking to move is development from mainframe  Cobol cics db2, into distributed 
Java. The types of applications we need to develop are JAX RS web services 
accessing a mainframe hosted db2 database. These web services need to perform 
the classic CRUD actions. I have been investigating OSGi and feel it has much 
to offer, my problem is I have no idea where to start, then I came across 
ipojo, what I can't seem to find is any mention of ipojo creating JAX RS web 
services. Is it possible to expose JAX RS web services with ipojo? Where can I 
find examples and/or tutorials to learn how to develop these types of services 
with ipojo?

Warm regards

Andrew Beechey


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to