2. Agenda
• What is Virgo?
• Externals
• Concepts
• How can I get involved?
2
3. What is Virgo?
• “Dynamic Enterprise Application Platform”
• Based on SpringSource dm Server 2.0
• Not to be confused with Spring DM
• Objectives:
• Better OSGi platform
• Migration of Java EE apps
• Modular and extensible
3
4. Problems Virgo Solves
• Groups bundles into manageable units
• Enables the use of existing open source libraries
• TCCL, LTW, implicit package use
• Provisions from repositories
• Extensive diagnostics
• resolution failure, deadlock, delayed services
4
5. Virgo and EclipseRT
Virgo Gemini
web web container
kernel blueprint
... ...
Equinox
Spring
5
14. Repositories
• Artifacts indexed by type, name, version
• Supports queries e.g. by version range
• Repository types:
• External
• Watched
• Remote
• Repositories may be chained
14
23. Committer Skills
• Know or willing to learn:
• Clean architecture & code
• Unit and integration testing
• Concurrency
• (Deep) OSGi
• git, ant, ivy, etc.
23
24. Work Areas
• Developer docs & wiki
• Jetty adapter
• Regions and nested frameworks
• p2 integration
• More server types
• Integration, batch, ECF, ...
24
25. Further Information
• Virgo Community Launch BoF
• Today 7.15pm in Tasman
• Application Models for OSGi BoF - Wed.
• http://www.eclipse.org/virgo
• Join us in the forum and dev list
• #VirgoRT
• http://www.springsource.org/dmserver
• Download dm Server 2.0 and try it out
25
Hinweis der Redaktion
dm Server open source project at v2.0
Associated Eclipse tooling:
Plugin Development Environment
Web Tools Platform
Server runtime for EclipseRT
Kernel for application deployment and management
Fluffy thought-bubbles - nothing to do with cloud computing!
Bundles include WARs
Configuration artifacts mapped into Config. Admin.
deploy: install and start
Prevent interference between applications
Scopes bundles, packages, and services
Synthetic context bundle acts as TCCL for library calls
Scope acts as boundary for LTW
Y cannot access A and B
Remote refers to repo hosted by Virgo web server
Remote repo caches index
Chain defines a search order (query)
transform stage drives Transformer extensions
Transform tree of artifacts (metadata, file content)
InstallArtifactLifecycleListener driven for each artifact lifecycle event
Built on Equinox nested frameworks
Enables different versions of Spring