OSGi is an initiative of the OSGi Alliance (www.osgi.org) which specifies a minimal service infrastructure. Its initial intend was to define a middleware for mobile infrastructure (OSGi = Open Service Gateway Infrastructure) back to '99 when it started. A new specification 3 has been released in march 2003.
This specification defines different services which can be bundled and run in the core framework. The core framework is very similar to merlin. It is also a component and service management platform where bundles are the unit of deployment. Instead of using xml to define containers and components this information is directly encoded into the manifest. For example to export a package you define Export-Package=.... or Export-Service= for services. Services are then registered inside a main class which implements a BundleActivator with start(BundleContext) and stop(BC). Each bundle is loaded by its own classloader, through the manifest information classes can be loaded from other bundles.
I know of four open source implementation, knopflerfish, oscar, equinox (the core of the new eclipse), and one from ibm.
Impressive is its size for example knopflerfish uses about 200 kB!
So the core of osgi has nothing to do with Jini, but OSGi defines two discovery services, Jini and UPnP which can be plugged in when needed. Actually such a service defined by OSGi could also be adapted a bit an plugged into a merlin container.
cheers, Andreas
[EMAIL PROTECTED] wrote:
Hi, I just stumbled over http://oscar-osgi.sourceforge.net/ and wonder wether anyone has any experience with OSGi as the service distribution layer (is that comparable to the Jini ifrastructure discussion earlier?)
Looks a lot like if components/ containers could be distributed via that and that multiple Merlin instances could make up a dirstributed OSGi system?
/peter
------------------------------------------------------------------------
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
