Jump to: navigation, search

Difference between revisions of "Virgo/Future"

(3.0.0 Release)
(3.0.0 Release)
Line 26: Line 26:
 
*Move the Kernel to DS to remove the fixed startup order ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=333474 bug 333474])  
 
*Move the Kernel to DS to remove the fixed startup order ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=333474 bug 333474])  
 
*Allows PARs to contain plans ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=335689 bug 335689])
 
*Allows PARs to contain plans ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=335689 bug 335689])
 +
*Remove entry/exit advice from hashCode() equals() and toString() methods ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=328033 bug 328033])
 
*Critical bug fixes
 
*Critical bug fixes
  
 
Under consideration:
 
Under consideration:
 
* Make Virgo's web behaviour conform strictly to the OSGi web spec ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798 bug 326798])
 
* Make Virgo's web behaviour conform strictly to the OSGi web spec ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=326798 bug 326798])
* Remove entry/exit advice from hashCode() equals() and toString() methods ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=328033 bug 328033])
 
  
 
=== Required CQs  ===
 
=== Required CQs  ===

Revision as of 09:10, 3 June 2011

This page summarises the Virgo plan and notes design ideas for future Virgo features. 

Virgo Plan

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

3.0.0 Release

Theme: Eclipse RT integration

Schedule: June 2011

Draft Release Notes for 3.0.0

Content:

  • Jetty support (bug 321726)
  • Use Equinox config admin instead of that of Felix (bug 310217)
  • Use Equinox log service instead of that of Felix (bug 310218)
  • Use Equinox event admin instead of that of Felix (bug 310219)
  • Upgrade Spring to 3.0.5 or later (bug 314282)
  • p2 repository in the repository chain (bug 309778)
  • Rebase region support on OSGi RFC138 (bug 330776)
  • Tomcat 7/servlet 3.0 (bug 332045)
  • Support OSGi Log service (bug 342716)
  • Move the Kernel to DS to remove the fixed startup order (bug 333474)
  • Allows PARs to contain plans (bug 335689)
  • Remove entry/exit advice from hashCode() equals() and toString() methods (bug 328033)
  • Critical bug fixes

Under consideration:

  • Make Virgo's web behaviour conform strictly to the OSGi web spec (bug 326798)

Required CQs

5094 awaiting_committer P3 new emo-ip-... NEW Tomcat 7.0.12 Version: 7.0.12

5095 new P3 new emo-ip-... NEW Tomcat 7.0.12 Version: 7.0.12 (PB CQ5094)

5012 new P3 new emo-ip-... APPROVED Java Unified Expression Language Version: 2.2

5014 new P3 new emo-ip-... APPROVED javax.annotation Version: 1.1

5083 new P3 new emo-ip-... APPROVED Apache Felix Gogo Version: 0.8.01

5092 new P3 new emo-ip-... NEW org.apache.mina.core Version: 2.0.2

5091 new P3 new emo-ip-... NEW Apache SSHD Version: 0.5.0

4462 awaiting_analysis P3 new emo-ip-... APPROVED javassist Version: 3.13.0.GA

Nice to Have

The following items currently do not fit in the 3.0 plan, but have been raised as desirable by one or more users:

  • Upgrade from Spring DM to Gemini Blueprint (bug 317943)
  • Admin console administration of remote Virgo instances
  • Multiple user regions

Future Releases

The following features are not currently in plan:

  • Integration server
  • Batch server

Future Features

Jetty Support

This is covered by 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.

  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.