Virgo is an open source dynamic enterprise application platform based on SpringSource dm Server 2.0. It aims to provide a better OSGi platform and enable easier migration of Java EE applications. Virgo solves problems with managing OSGi bundles and using existing libraries. It provisions applications from repositories and provides extensive diagnostics. Users can get started by downloading Virgo, dropping applications into its pickup directory, and exploring its documentation. The project is currently working to rename components, complete IP scrutiny, and release an initial baseline version.
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Getting Started with Eclipse Virgo Dynamic Application Platform
1. Eclipse Virgo
Glyn Normington
1
Wednesday, April 28, 2010
2. Agenda
• What is Virgo?
• Externals
• Concepts
• How can I get started?
• Current Status
2
Wednesday, April 28, 2010
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
Wednesday, April 28, 2010
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
Wednesday, April 28, 2010
5. Virgo and EclipseRT
Virgo Gemini
web web container
kernel blueprint
... ...
Equinox
Spring
5
Wednesday, April 28, 2010
11. Plans
• XML
• List artifacts by type, name, version range
• Scoping
• Atomicity
• PARs
• Contain artifacts
• Scoped, atomic
11
Wednesday, April 28, 2010
12. Scoping
Synthetic
Context
A B
A
B
Y X
12
Wednesday, April 28, 2010
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
Wednesday, April 28, 2010
19. Regions
User Region
services
packages services
Kernel Region
19
Wednesday, April 28, 2010
20. How can I get started?
20
Wednesday, April 28, 2010
21. Getting Started
• Pre-req: Java 6
• Download & unzip
• bin/startup.sh or binstartup.bat
• drop WAR files or bundles into pickup dir
21
Wednesday, April 28, 2010
22. Then What?
• Read documentation
• User Guide
• Programmer Guide
• Getting Started Guide
• Join the community
• http://wiki.eclipse.org/Virgo/Community
22
Wednesday, April 28, 2010
23. Roles
• Casual user
• Expert user
• Contributor
• Committer
23
Wednesday, April 28, 2010
24. Committer Skills
• Know or willing to learn:
• Clean architecture & code
• Unit and integration testing
• Concurrency
• (Deep) OSGi
• git, ant, ivy, etc.
24
Wednesday, April 28, 2010
25. Work Areas
• Developer docs & wiki
• Jetty adapter
• Regions and nested frameworks
• p2 integration
• More server types
• Integration, batch, ECF, ...
25
Wednesday, April 28, 2010
26. Current Status
• Renaming & relicensing complete
• IP scrutiny progressing well
• 6 out of 20 git repos available
• Baseline release is the goal
26
Wednesday, April 28, 2010
27. Further Information
• http://www.eclipse.org/virgo
• http://wiki.eclipse.org/Virgo/Community
• #VirgoRT
• http://www.springsource.org/dmserver
• Download dm Server 2.0 and try it out
27
Wednesday, April 28, 2010