EclipseCon Europe 2011 Virgo 3.0

1,390 views
1,255 views

Published on

All about Virgo 3.0. Quick review of the basics, what's new in 3.0 and what is coming in the near future.

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

  • Be the first to like this

No Downloads
Views
Total views
1,390
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

EclipseCon Europe 2011 Virgo 3.0

  1. 1. All About Virgo Christopher Frost – Virgo Committer Martin Lippert – Lead, Spring Development Tools SpringSource, a division of VMware 3rd November 2011 OSGi Alliance Marketing © 2008-2010 . All Rights Reserved Page 1
  2. 2. Page 2 First Hands up if you have used Virgo before?
  3. 3. Page 3 Agenda • Back to basics, Virgo Catch up • What's new • Tooling • Snaps • Regions • The Future
  4. 4. Page 4 Virgo – Catch up To be the best OSGi runtime environment we can be ● OSGi as the programming model ● Standards compliant ● Simplifies the managing Enterprise OSGi ● Simplifies the use of existing containers
  5. 5. Page 5 Virgo – Catch up
  6. 6. Page 6 Virgo 3.0 – What's new • Regions have replaced Nested Frameworks • New Shell based on Apache GoGo • Spring 3.0.5.RELEASE & Equinox Indigo • Declarative Service & Log Service support
  7. 7. Page 7 Virgo 3.0 – Regions
  8. 8. Page 8 Virgo 3.0 – Demo The GoGo Shell & Regions For more about GoGo see Fridays Talk “Next Generation Equinox Shell”
  9. 9. Page 9 Virgo 3.0 – What's new • Servlet 3.0 with Tomcat 7.x • Gemini.Web, strict compliance to OSGi web container spec • Jetty version (based on 7.x) • Updated sample application, Greenpages • Lots of Bugfixes etc...
  10. 10. Page 10 Tooling - History dm Server Tooling becomes Virgo IDE
  11. 11. Page 11 Tooling • Bundle and PAR projects • Including Bundlor • PDE-like editors • Server integration • Launching • Deployment • Introspection • EBR – Enterprise Bundle Repository
  12. 12. Page 12 Tooling – Demo Virgo IDE
  13. 13. Page 13 Virgo 3.0 – What's new Snaps gets its first release • Some features tidied up • Documentation written • Single sample app showing everything Snaps can do • All available in a Zip from the Virgo website
  14. 14. Page 14 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
  15. 15. Page 15 Snaps – Nested Context Paths /app/orders /app/billing
  16. 16. Page 16 Snaps – A filter for Snaps • Still just web.xml • Define the subpath for Snaps with a filter
  17. 17. Page 17 Snaps – Manifest • Attaching Snaps to hosts
  18. 18. Page 18 Snaps – Taglibs • JSP tag to look up slices & their properties
  19. 19. Page 19 Snaps – Host Properties • Looking up resources & properties from the host
  20. 20. Page 20 Virgo 3.0 – Demo Snaps
  21. 21. Page 21 Regions – Background Bundle ≠ Application ● Need higher level scoping construct than a bundle ● Simpler management applications
  22. 22. Page 22 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
  23. 23. Page 23 Regions & Hook Usability • Control the visibility of bundles, packages, generic capabilities • Bundle Resolver, Find and Event hooks • Service Find and Event hooks • Hard to ensure consistent behaviour across hooks • Need higher level abstraction • Enter..... Region digraph
  24. 24. Page 24 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
  25. 25. Page 25 Regions – Region Digraph
  26. 26. Page 26 Regions – Region Digraph
  27. 27. Page 27 Regions – Region Digraph (cont.) • Developed as part of Virgo • Formal model specified in Z • Seen to be useful outside Virgo • Moved to Equinox • Used in Virgo 3.0 • Used in Apache Aries
  28. 28. Page 28 Regions & Subsystems • OSGi standard multi-bundle scoping mechanism • Work in progress, public draft soon • Inspired by Virgo regions & scopes, Apache Aries applications, Apache Felix Karaf features, Eclipse features, Deployment Admin deployment packages etc... • Virgo to implement subsystems in a future release
  29. 29. Page 29 Regions & Subsystems For more information Go to the talk later today on “Multi-bundle Scoping in OSGi” For even more see Subsystems RFC 152
  30. 30. Page 30 Virgo Future • Web Admin Console (Demo at the BoF later) • Nano Virgo based around P2 • Subsystems • Snaps, Nesting & Listener Support • Cloud Come to the BoF, tonight at 18:30 ...
  31. 31. Page 31 Virgo Future -Tooling Libra: • Tooling for Enterprise OSGi • Spec compatible only Virgo IDE: • Tooling for Virgo • Not spec compatible (there is no spec) • Very much specialized
  32. 32. Page 32 Virgo Future - Tooling Move spec-compatible parts to Libra • Launcher, server visualization, Bundlor, … Let Virgo consume and enhance Libra • With Virgo-specific parts, like PAR projects, EBR integration, … Enhance modularization • Separate build tools (Bundlor, bndtools, PDE) from server integration Remove Spring IDE dependencies Improve performance/footprint
  33. 33. Page 33 Questions Martin Lippert mlippert@vmware.com @martinlippert QuestionsQuestions Christopher Frost frostc@vmware.com @cgfrost

×