Note 2: the SpringSource dm Server releases are shades of green because of the SpringSource branding. Virgo has cornflower blue in its logo and admin console styling, so we chose shades of blue for Virgo releases.

Support for the OSGi Subsystems specification is deferred indefinitely ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=358437#c4 rationale]), except for [https://bugs.eclipse.org/bugs/show_bug.cgi?id=358441 generalising the InstallArtifact tree to a DAG] which was implemented in Virgo 3.5.0 (see the Kernel Enhancements section of the [http://www.eclipse.org/virgo/download/release-notes/3.5.0.RELEASE.php Virgo 3.5.0 release notes]).

This is covered by [https://bugs.eclipse.org/bugs/show_bug.cgi?id=321726 bug 321726]. The full design and the current status can be found on the [[Jetty Web Container]] page.

+

−

+

−

= Prototypes =

+

−

+

−

== Snaps ==

+

−

+

−

Snaps is a prototype also from dm Server where it was known as Slices. It aims to give you the full benefit of a dynamic and modular OSGi environment for your web applications by allowing you to spread the front end across many bundles, or Snaps. The Snaps source code is available from one of our Git repos listed on the 'Source' tab. Thanks to Patsy Phelan and Dmitry Sklyut for comments on this content.

+

−

+

−

A Snap is an OSGi Web Application Bundle that is responsible for handling requests for part of the total application. Requests are served up to each snap depending on what part of the context path the snap has registered to handle. Each Snap will be given requests by a host bundle. A Host bundle is also just a normal web application bundle with filter configured to dispatch certain requests to any registered Snaps.

+

−

+

−

&nbsp; [[Image:Snaps.png]]

+

−

+

−

The host will handle requests to '/app/*' while '/app/orders' and '/app/billing' will be dispatched to the relevant Snap bundle.

+

−

+

−

Snaps is different from other technologies such as Web Fragments in that it much more decoupled and takes advantage of OSGi to allow for the dynamic composition of a web app at runtime. The lifecycle of the Snap and the Host is completely decoupled. This is due to the services like approach. Web Fragments are static and much more closely coupled, they share the same classpath and the modularity it offers is only at development time. This extra decoupling means that snaps can be developed in isolation from the host application, even after the host application has be released.

Contents

Virgo Plan

The following plan is subject to change and depends on how much resource is available as the project evolves.

3.6.0 (Sky) Release

Java 7 support

Support Java enterprise APIs (EJB, CDI, JPA, JSF, Web)

New web admin console

3.7.0 (Steel) Release

TBD

Release Branding

To accommodate simultaneous releases of Virgo runtime, OSGi Web Container runtime, and Virgo tooling, we are branding each release with the name of a colour, including old releases.

Virgo Release Branding

Brand

Runtime

Web Container

Eclipse IDE Tooling

Fern

SpringSource dm Server 1.0

-

-

Emerald

SpringSource dm Server 2.0

OSGi Web Container 1.0

-

Cornflower

Virgo 2.1

Gemini Web 1.1

-

Maya

Virgo 3.0

Gemini Web 2.0

-

Bondi

Virgo 3.5

Gemini Web 2.1

Virgo IDE 3.5

Sky

Virgo 3.6

Gemini Web 2.2

-

Steel

Virgo 3.7

Gemini Web 2.2 or 2.3

-

Note 1: we are steering clear of the following "wimp list" of colours: Azure, Indigo.

Note 2: the SpringSource dm Server releases are shades of green because of the SpringSource branding. Virgo has cornflower blue in its logo and admin console styling, so we chose shades of blue for Virgo releases.