eclipse virgo presentation at osgi users' forum uk (27 apr 2010)
DESCRIPTION
Eclipse Virgo (formerly Spring dm Server) presentation from OSGi Users' Forum UK meeting on 27th April, 2010.TRANSCRIPT
Glyn Normington
1
Eclipse Virgo
Wednesday, April 28, 2010
Agenda
• What is Virgo?
• Externals
• Concepts
• How can I get started?
• Current Status
2
Wednesday, April 28, 2010
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
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
Virgo and EclipseRT
Equinox
Gemini
web container
Spring
...
Virgo
kernel
...
web
blueprint
5
Wednesday, April 28, 2010
Virgo Externals
6
Virgo
Admin console
Shell
startup.sh -clean
/config
/pickup
JMX client
/serviceability
service wrapper
Wednesday, April 28, 2010
7
Virgo Concepts
Artifacts
Repositories
Plans
Pipelines
Regions
Wednesday, April 28, 2010
8
Artifacts
Wednesday, April 28, 2010
Artifacts
• Identified by type, name, version
• Types:
• bundle - OSGi bundle
• configuration - properties file
• plan - list of artifacts
• ...
9
Wednesday, April 28, 2010
10
Plans
Wednesday, April 28, 2010
Plans
• XML
• List artifacts by type, name, version range
• Scoping
• Atomicity
• PARs
• Contain artifacts
• Scoped, atomic
11
Wednesday, April 28, 2010
Scoping
12
A
B
SyntheticContext
A B
XY
Wednesday, April 28, 2010
13
Repositories
Wednesday, April 28, 2010
Repositories
• Artifacts indexed by type, name, version
• Supports queries e.g. by version range
• Repository types:
• External
• Watched
• Remote
• Repositories may be chained14
Wednesday, April 28, 2010
Repository Chainingremote
15
Wednesday, April 28, 2010
16
Pipelines
Wednesday, April 28, 2010
Pipelines
17
resolve
install
quasiInstall
quasiResolve commit
transform
Wednesday, April 28, 2010
18
Regions
Wednesday, April 28, 2010
Regions
Kernel Region
User Region
packages services
services
19
Wednesday, April 28, 2010
How can I get started?
20
Wednesday, April 28, 2010
Getting Started
• Pre-req: Java 6
• Download & unzip
• bin/startup.sh or bin\startup.bat
• drop WAR files or bundles into pickup dir
21
Wednesday, April 28, 2010
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
Roles
• Casual user
• Expert user
• Contributor
• Committer
23
Wednesday, April 28, 2010
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
Work Areas
25
• Developer docs & wiki
• Jetty adapter
• Regions and nested frameworks
• p2 integration
• More server types
• Integration, batch, ECF, ...
Wednesday, April 28, 2010
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
Further Information
27
• 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
Wednesday, April 28, 2010