Thursday, June 26, 2008

Embed Eclipse Equinox in a Servlet Container

OSGi is dominant mobile phones and handheld devices. Now the interest has significantly moved from these embedded to full blown servers. Hence, people are looking at eliminating barriers using OSGi on servers.

Eclipse Equinox is pursing work related to "Server-Side Equinox". The target is to embed Equinox in a Servlet Container, using what is called the principle of "servletbridge" to run OSGi based application in a servlet container.

To test this out read here,

In summary.

1. Install your favourite servlet container (Tomcat, Jetty etc)
2. Download and deploy per-build web application archive (bridge.war)
3. Start the web container (http://localhost:8080/bridge)
4. There are bunch of things you can do, which will be available here.


"servletbridge" is a cool concept, which can be applied to any OSGi implementation, such as Apache Felix, Knopflerfish etc
Hence, WSO2 Carbon, the next generation web services infrastructure powered by enterprise Axis2 uses "servletbridge" concept to provide an OSGi environment to uses to embed bundles that mimic the behavior of Axis2 service & module archives.

2 comments:

Unknown said...

Yes, the concept of OSGi Servlet Bridge is nice if you don't want to risk using a completely new API (HTTP Service of the OSGi Service Compendium specification). The only problem I faced with Equinox's servletbridge is that it's coupled to Equinox and can't be used with any other OSGi Framework (Apache Felix and Knopflerfish). As a result I had to develop a servlet bridge that is usable with any OSGi Framework (alongside some other feature that simplify the usage of the servlet bridge). You can check it here:
http://www.dynamicjava.org/projects/dynamic-servlet-bridge

Best Regards,
Valery

Sara Reid said...

The Equinox project has a server side effort that seeks to integrate the dynamic module capabilities of OSGi into standard application server scenarios. There are two main approaches; embedding Equinox in the servlet container or embedding the servlet container in Equinox. To a large extent, the choice made here does not impact your server application or functionality.

diät pillen