Skip to main content



      Home
Home » Eclipse Projects » Gemini » Details of OSGi Web Container sub-project(The RFC 66 Reference Implementation for Gemini)
Details of OSGi Web Container sub-project [message #499637] Mon, 23 November 2009 10:23 Go to next message
Eclipse UserFriend
The OSGi Alliance Enterprise Expert Group is working on a "Web Container" specification, known as "RFC 66". This specification does not implement a web container, instead it describes how a servlet container can be integrated into an OSGi Service Platform, allowing deployment of war files as OSGi bundles.

The reference implementation for RFC 66 is being developed by SpringSource, and is described in this article by Rob Harrop.

The RFC 66 reference implementation project will be moving to Eclipse.org as part of the Gemini project, where it will continue to track the RFC 66 specification as it evolves. The codebase will be dual-licensed under both the EPL and Apache License.

-- Adrian.
Re: Details of OSGi Web Container sub-project [message #499765 is a reply to message #499637] Mon, 23 November 2009 20:43 Go to previous messageGo to next message
Eclipse UserFriend
Adrian,

Is the Web Container abstraction something distinct from the RCF66 implementation?

Ie is there an abstract model of a Web Container will be developed and that the RFC 66 implementation will deploy a web application to the abstracted Web Container?

Re: Details of OSGi Web Container sub-project [message #499827 is a reply to message #499637] Tue, 24 November 2009 05:00 Go to previous messageGo to next message
Eclipse UserFriend
Hi Greg,
In this context, think of "RFC 66" and "Web Container specification" as synonymous, and the "Gemini Web Container project" simply as the RI for this specification (nothing broader).

In brief, the model is that a web container extender listens for lifecycle events from bundles which are specially denoted as "Web Application Bundles". These are just standard bundles with additional headers in the manifest and/or contain a WEB-INF/web.xml file. When such a bundle transitions to the active state, the extender creates a servlet context for the bundle and deploys it into a servlet container. In the RI, the embedded servlet container is Tomcat, but there is nothing special about it from the perspective of the spec., and Jetty could just as easily be used for example.

In addition, a URL handler is defined supporting the "webbundle:" url scheme. This allows traditionally packaged JEE war files to be deployed as Web Application Bundles.

Regards, Adrian.
Re: Details of OSGi Web Container sub-project [message #499931 is a reply to message #499637] Tue, 24 November 2009 09:46 Go to previous messageGo to next message
Eclipse UserFriend
Greg, in our implementation of RFC66 there is a ServletContainer abstraction behind which any servlet container-specific logic is hidden. As Adrian mentioned above we already have a Tomcat-specific implementation.

The RFC66 RI gets hold of its ServletContainer implementation via the OSGi service registry so using a different servlet container with the RI would entail replacing the Tomcat-specific bundle with one that publishes a ServletContainer implementation backed by, e.g., Jetty.

Regards,
Andy
Re: Details of OSGi Web Container sub-project [message #521321 is a reply to message #499637] Wed, 17 March 2010 05:33 Go to previous message
Eclipse UserFriend
Hi,

I have additional question here for the OSGi Web Container.
I tried it and saw that the application is loaded from the war file.
But my application uses a functionality (such as getRealPath() etc.) that expects that application is extracted as in the standard Tomcat/Jetty.
Is there some property that I can use in order to force the OSGI Web Container to extract the war file on the file system or the application is loaded always from the archive?
If there is no such functionality, then do you plan to provide such?

Thanks in advance
Previous Topic:Is ~/downloads/web/ intentional?
Next Topic:.eclipse contains absolute references to home directory
Goto Forum:
  


Current Time: Sun May 04 17:21:53 EDT 2025

Powered by FUDForum. Page generated in 0.04995 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top