Hi Craig,

Craig Phillips wrote:
Hi,
I've never liked JMX in that I had to open up my firewall; I would like a pluggable transport architecture built in to declarative services... For example, you would simply have a new keyword: "exposed"... In your OSGI-INF/dot.xml file or in your dot.bnd file for the Service-Component, in addition to words like "optional", you could have "exposed"... For the "provides" entry, you are telling the framework that your service is available across transport; For the "reference", you are telling "distributed declarative services" that you would like to get the service across the transport;

FWIW, the new OSGi 4.2 remote services specification (chapter 13 in compendium) complies with your desires pretty closely, I think. The specification defines several service properties, that when present upon service registration the service is distributed over a network. Further, there is the concept of a 'configuration type', which with ECF's implementation allows the desired transport/distribution system to be selected/used/configured.

So the end result is that via these OSGi-specified service properties the transport/distribution system can be told, in essence: 'export this/these interfaces' ( 'service.exported.interfaces' standard property name) and 'use this/these transports' ('service.exported.configs' standard property name).

Since declarative services fundamentally uses the OSGi service registry, all of the remote services can/does work automatically with declarative services. For example, we now have example code that uses declarative services to define both the service host and the consumer [1]. There have also been people that have already used the ECF remote services impl along with declarative services and blogged about it [2].


I'm looking to auto-generate "stubs" (anyone who knows corba or rmi gets what I mean by the word "stub"); There are a number of ways to do this; This should ride a pluggable transport;

In ECF's implementation this is exactly what we do...the stub/proxy is created at runtime/service import time...and it does use/ride on a pluggable transport.

Same with "remote management" -- A better way would be to have an "mxbean like" management api, that would ride "distributed declarative services" which would ride the pluggable transport; One day we might have a java that really works, a la OSGi and some "dreaming on top", like 'deployable source bundles', that is lightweight, value add (I'd like to see the system bundle decoratable, particularly at the point of "installBundle()" ), and works in the enterprise or the desktop, with a virtual and seamless development environment (and ditch this maven nightmare -- back to deployable source bundles), as opposed to this mount Everest J2EE nonsense...

For more information about the transport independence/pluggable transport aspect please see [3].

Thanks,

Scott

[1] http://wiki.eclipse.org/OSGi_4.2_Remote_Services_and_ECF
[2] http://bryanhunt.wordpress.com/2009/06/20/remote-declarative-osgi-services/ [3] http://eclipseecf.blogspot.com/2010/01/osgi-remote-services-from-ecf.html


_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to