Virgo 3.0Whats New!Christopher FrostSpringSource, a division of VMware21st September 2011                                 ...
Agenda•   Extra Modular with Regions•   Virgo 3.0 – What New•   Snaps•   Virgo & OSGi Tooling•   Coming Soon•   Questions ...
Regions – Background●    Module granularity: Class, Bundle, ?●    Need higher level scoping construct than a bundle●    Si...
Regions – Scoping in Virgo●    Region scoping - Kernel Space vs User Space●    Application scoping     ●       PARs and sc...
Regions – Composite Bundles &Nested Frameworks•   Idea to make a group of bundles like a single bundle•   Explored by OSGi...
Regions – Framework Hooks• Resolver hook, bundle find/event hooks [see R4.3 core  spec for details]• Similar to service re...
Regions – Hook Usability•   Service Find and Event hooks•   Bundle Resolver, Find and Event hooks•   Hard to ensure consis...
Regions – Region Digraph•   A directed graph of "regions"•   A region is a group of bundles•   Regions may be connected by...
Regions – Region Digraph  Page 9   OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
Regions – Region Digraph  Page 10   OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
Regions – Region Digraph (cont.)•   Developed as part of Virgo•   Formal model in Z•   Seen to be useful outside Virgo•   ...
Regions & Subsystems• OSGi standard multi-bundle scoping mechanism• Work in progress (Grahams Talk earlier), public draft ...
Virgo 3.0 – Regions  Page 13   OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
Virgo 3.0 – Whats new•   Snaps gets its first release•   Servlet 3.0 with Tomcat 7.x•   Gemini.Web, strict compliance to O...
Virgo 3.0 – DemoPage 15   OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
Snaps – Modular Web Apps•   Some features tidied up•   Documentation written•   Single sample app showing everything Snaps...
Snaps – Basics•   Lots of Snaps (Web Application Bundles)•   Snaps have the hosts ServletContext•   Uses a filter to dispa...
Snaps – Nested Context Paths            /app/orders                                                          /app/billing ...
Snaps – A filter for Snaps• Still just web.xml• Define the subpath for Snaps with a filter   Page 19   OSGi Alliance Commu...
Snaps – Manifest• Attaching Snaps to hosts   Page 20   OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
Snaps – Taglibs• JSP tag to look up slices & their properties   Page 21   OSGi Alliance Community Event 2011© 2008-2011. A...
Snaps – Host Properties• Looking up resources & properties from the host   Page 22   OSGi Alliance Community Event 2011© 2...
Snaps – DemoPage 23   OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
Virgo Tooling• Donated to Eclipse Virgo and Libra• Tooling - 1st milestone, lots still changing• The Dependency on STS/Spr...
Virgo Future•   New Web Admin Console•   P2 integration•   Subsystems•   Tooling•   Cloud•   ???    Page 25   OSGi Allianc...
QuestionsPage 26   OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
Upcoming SlideShare
Loading in …5
×

Virgo 3.0, OSGi middleware server from EclipseRT – Christopher Frost

2,424 views

Published on

A look at Virgo 3.0 (http://www.eclipse.org/virgo/), an open source application server from EclipseRT. Virgo is a completely modular OSGi based, standards compliant, Java enterprise application server. Learn about the new standards we are supporting and the new 'Region' based scoping mechanism from Equinox. A look at how to Snap up the front end of your web apps. Demos will show Virgo, our tooling support and all the new features in 3.0.

Published in: Technology, Spiritual
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,424
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
86
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Virgo 3.0, OSGi middleware server from EclipseRT – Christopher Frost

  1. 1. Virgo 3.0Whats New!Christopher FrostSpringSource, a division of VMware21st September 2011 OSGi Alliance Marketing © 2008-2010 . 1 PageCOPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved All Rights Reserved
  2. 2. Agenda• Extra Modular with Regions• Virgo 3.0 – What New• Snaps• Virgo & OSGi Tooling• Coming Soon• Questions Page 2 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  3. 3. Regions – Background● Module granularity: Class, Bundle, ?● Need higher level scoping construct than a bundle● Simpler management of large applications● [see Subsystems RFC 152 for more background] Page 3 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  4. 4. Regions – Scoping in Virgo● Region scoping - Kernel Space vs User Space● Application scoping ● PARs and scoped Plans ● Metadata rewriting for bundle/package scoping ● Service registry hooks for service scoping Page 4 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  5. 5. Regions – Composite Bundles &Nested Frameworks• Idea to make a group of bundles like a single bundle• Explored by OSGi• Prototyped in Equinox• Exploited in Virgo 2.1.x• Difficulty standardising in a framework neutral way• Spec [RFC 138] replaced by framework hooks• Equinox prototype deprecated Page 5 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  6. 6. Regions – Framework Hooks• Resolver hook, bundle find/event hooks [see R4.3 core spec for details]• Similar to service registry find/event hooks which do the same for services• Control the visibility of bundles, packages, generic capabilities Page 6 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  7. 7. Regions – Hook Usability• Service Find and Event hooks• Bundle Resolver, Find and Event hooks• Hard to ensure consistent behaviour across hooks• Need higher level abstraction• Region digraph Page 7 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  8. 8. Regions – Region Digraph• A directed graph of "regions"• A region is a group of bundles• Regions may be connected by directed arcs• Each directed arc has a filter which controls visibility: • bundles • packages • services • generic capabilities Page 8 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  9. 9. Regions – Region Digraph Page 9 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  10. 10. Regions – Region Digraph Page 10 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  11. 11. Regions – Region Digraph (cont.)• Developed as part of Virgo• Formal model in Z• Seen to be useful outside Virgo• Moved to Equinox• Used by Virgo 3.0• Likely to be used by Apache Aries Page 11 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  12. 12. Regions & Subsystems• OSGi standard multi-bundle scoping mechanism• Work in progress (Grahams Talk earlier), public draft soon• Inspired by • Virgo regions & scopes • Apache Aries applications • Apache Felix Karaf features • Newton systems • Eclipse features • Deployment Admin deployment packages• Virgo likely to implement subsystems in a future release Page 12 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  13. 13. Virgo 3.0 – Regions Page 13 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  14. 14. Virgo 3.0 – Whats new• Snaps gets its first release• Servlet 3.0 with Tomcat 7.x• Gemini.Web, strict compliance to OSGi web container spec• Jetty version• Regions have replaced Nested Frameworks• New Shell based on Apache GoGo• Updated sample application, Greenpages• Spring 3.0.5.RELEASE & Equinox Indigo• Declarative Service & Log Service support• Lots of Bugfixes etc... Page 14 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  15. 15. Virgo 3.0 – DemoPage 15 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  16. 16. Snaps – Modular Web Apps• Some features tidied up• Documentation written• Single sample app showing everything Snaps can do• All available in a Zip from the Virgo website Page 16 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  17. 17. Snaps – Basics• Lots of Snaps (Web Application Bundles)• Snaps have the hosts ServletContext• Uses a filter to dispatch requests from the host• Everything else is business as normal Page 17 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  18. 18. Snaps – Nested Context Paths /app/orders /app/billing Page 18 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  19. 19. Snaps – A filter for Snaps• Still just web.xml• Define the subpath for Snaps with a filter Page 19 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  20. 20. Snaps – Manifest• Attaching Snaps to hosts Page 20 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  21. 21. Snaps – Taglibs• JSP tag to look up slices & their properties Page 21 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  22. 22. Snaps – Host Properties• Looking up resources & properties from the host Page 22 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  23. 23. Snaps – DemoPage 23 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  24. 24. Virgo Tooling• Donated to Eclipse Virgo and Libra• Tooling - 1st milestone, lots still changing• The Dependency on STS/Spring IDE is going• Bundlor – Manifest generation tool• To have a play, see http://wiki.eclipse.org/Virgo/Tooling Page 24 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  25. 25. Virgo Future• New Web Admin Console• P2 integration• Subsystems• Tooling• Cloud• ??? Page 25 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved
  26. 26. QuestionsPage 26 OSGi Alliance Community Event 2011© 2008-2011. All Rights Reserved

×