You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by David Jencks <da...@yahoo.com> on 2009/10/21 21:03:10 UTC

Fwd: [jetty-dev] Project proposal: jetty-on-OSGi - support for RFC-66

Looks like jetty is planning some built-in rfc-66 support.  IIUC from  
further discussion jsp support may be hosted at codehaus for a while.

david jencks

Begin forwarded message:

> From: Hugues Malphettes <hm...@intalio.com>
> Date: October 20, 2009 7:01:13 PM PDT
> To: jetty-dev@eclipse.org
> Subject: [jetty-dev] Project proposal: jetty-on-OSGi - support for  
> RFC-66
> Reply-To: "Jetty @ Eclipse developer discussion list" <jetty-dev@eclipse.org 
> >
>
> Hi everyone,
>
> The jetty team - Jan, Greg and Jesse - have kindly reviewed a possible
> contribution to the jetty project.
> Here is the bugzilla for this contribution:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=292837
>
> Below is a complete presentation of the project and a pointer to the
> suggested initial code.
>
> What do you think?
> Cheers,
>
> Hugues
>
> ==Abstract
> The goal of this project is to support jetty running inside an OSGi  
> framework.
> The project will provide an SDK for eclipse-PDE and an equinox
> distribution of jetty.
> It will support web-applications contained inside OSGi bundles.
> It will support developing and debugging OSGi-web-applications in PDE
> just like any other OSGi bundles.
>
>
> ==Introduction
> Jetty on OSGi is a proposed project under the jetty project. Under the
> dual EPL and Apache Software License 2.0.
>
>
> ==Key objectives
> - Bootstrap jetty7 inside OSGi.
> - Support an implementation of the OSGi HttpService deployed on  
> jetty7.
> - Support OSGi RFC-66 webapps in bundles: package web-applications
> inside OSGi bundles.
> - Support OSGi RFC-66 deployment of legacy webapps: dynamically
> transforms legacy webapps into OSGi-bundles (not jetty specific). A
> jetty-deployer that is an alternative to the WebAppDeployer in this
> environment.
> - Provide a jetty-SDK for eclipse-PDE and support development of
> web-applications with the OSGi toolkit of the PDE.
> - Provide a runtime distribution based on equinox of jetty.
> - Expose a sub-set of jetty's objects as OSGi services for
> administration and deployments of components specific to jetty.
> - Provide a migration for jetty-hightide to OSGi.
> - Coordinate efforts with equinox bundles (jetty support, jsp support)
> - Expose the setup and management of jetty-server instances in OSGi.
>
>
> ==Technical scope
> Develop a set of OSGi bundles as required for the runtime. The base of
> the bundles symbolic-name will be: org.eclipse.jetty.osgi
> They will depend on the current jetty bundles, the required javax*
> bundles and 3rd party reference implementations of required standards
> (jsp-2.1 for example).
> Develop a set of OSGi bundles that contributes jetty7 runtime
> configurations. They will depend on the eclipse-platform and
> eclipse-PDE bundles.
>
>
> ==Other eclipse projects: dependencies, overlaps and coordination:
> Equinox currently maintains the packaging of jetty6 and jsp support.
> It provides a bundle that bootstraps jetty6 inside equinox.
> This bundle hosts the servlet that provide the OSGi HttpService and
> also gets called by eclipse-RCP for the help pages.
> We should coordinate our efforts with the equinox team in this area.
>
>
> ==Proposed Initial contribution
> The initial code contribution is licensed under the EPL and is
> currently hosted here: http://github.com/intalio/hightide-on-osgi
> It was entirely developed by an eclipse-member organization, Intalio.
> The project currently creates the SDK and runtime distribution for
> jetty-on-osgi.
> It bootstraps jetty. The jetty server is currently a singleton.
> Examples demonstrate the running of legacy webapps, webapps contained
> in bundles, the HttpService, jsp with jstl.
> Support for RFC-66 is currently limited to defining a webapp with the
> header "Web-ContextPath".
>
> Supporting other OSGi frameworks.
> The package org.eclipse.jetty.osgi.boot.utils.internal contains some
> java reflection code to support equinox and apache-felix.
> Other OSGi frameworks can be supported by implementing the
> corresponding java interfaces and setting them with a fragment hosted
> by the org.eclipse.jetty.osgi.boot bundle.
>
> Inserting additional dependendencies into org.eclipse.jetty.osgi.boot
> It is possible to customize the set of libraries available to jetty's
> servers via 2 mechanisms:
> #1  create a fragment bundle hosted by org.eclipse.jetty.osgi.boot
> that depends on those new bundles.
> #2  via jettyhome: jetty servers are configured via the usual
> jettyhome folder; jars placed inside ${jetty.home}/lib/ext are loaded
> as part of the classloader that executes jetty.
>
>
> ==Pending CQs: support for jsp and other features:
> jsp support is part of RFC-66. It is also supported by equinox.
> Supporting jsp in this project depends on the pending CQ about
> glassfish-jasper-jsp.
> Some of the examples depend on other third party libraries: for
> example the test-jndi webapp.
> There is no direct links to those libraries in the code of the
> examples so instructions could be provided for the user to download
> those libraries.
> All code related to jsp support is isolated in a single fragment
> bundle. Installing this bundle enables JSP support.
> The current prototype also supports an apache felix-based  
> distribution.
>
> The donated code depends purely on libraries distributed by eclipse;
> as a consequence there is no jsp support in the contributed code and
> no jndi example code.
> _______________________________________________
> jetty-dev mailing list
> jetty-dev@eclipse.org
> https://dev.eclipse.org/mailman/listinfo/jetty-dev