eclipse rt projects gemini web and virgo par steve powell
TRANSCRIPT
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 1
EclipseRT Virgo and Gemini Web
steve powell [email protected] frost [email protected] normington [email protected]
1Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Agenda
• OSGi basics
• Virgo and Gemini at Eclipse
• A tour of Virgo
• Current status
• How can I get started?
2
2Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
OSGi basics
3
3Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
• OSGi is a Module SystemA Bundle = a Jar file = a single module (approx)
The Bundle Manifest defines the imports/exports
• Many adopters including a lot of Eclipse projects
• Defined by the OSGi Alliance
4
“It’s bundles all the way down”
4Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Services
• A Bundle can export and consume services
This happens dynamically at runtime
• A service is a Java Object with some properties
• Managed by a Service Registry
(the Whiteboard pattern)
5
5Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Life-cycle
• Resolving the dependencies must happen before running a module’s code
• starting/stopping/refreshing a module are life-cycle events
• OSGi framework offers life-cycle management through services
• modules are dynamic
• resolved, started, stopped, refreshed at any time
6
6Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Virgo and Gemini
7
7Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Virgo
• “Dynamic Enterprise Application Platform”
• Based on SpringSource dm Server 2.0
• not to be confused with Spring DM
• Original objectives:
• Better OSGi platform; Migration of Java EE apps; Modular and extensible
• Virgo objectives:
• Broaden exploitation of OSGi; Lower barriers to adoption; Grow committers
8
8Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Gemini
• “Enterprise Modules Project”
• A collection of OSGi spec implementations
• Aims to provide authoritative collection
• Main contributors are SpringSource and Oracle
• Virgo uses Gemini:
web and blueprint support
9
9Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Virgo and EclipseRT
10
10Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
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 analysis, deadlock detection, delayed service warnings
11
11Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Virgo Tour
12
12Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Virgo Externals
13
13Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 14
14Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 15
15Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Artifacts
• Identified by type, name, version
• Types:
• bundle - OSGi bundle
• configuration - properties file
• plan - list of artifacts
• ...
16
16Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 17
17Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Plans
• XML
• List artifacts by type, name, version (range)
• Scoping
• Atomicity
• PARs similar
• contain artifacts
• scoped, atomic
18
18Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Scoping
19
19Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 20
20Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Repositories
• Artifacts indexed by type, name, version
• Supports queries e.g. by version range
• Repository types:
• External
• Watched
• Remote
• Repositories may be chained21
21Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Repository Chaining
remote
22
22Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 23
23Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Pipelines
24
24Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 25
25Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Regions
26
26Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Current Status
27
27Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
• All code in git.eclipse.org repositories(see http://wiki.eclipse.org/Virgo/Source)
• Virgo 2.1.0.RELEASE shipped (1 Nov 2010)
• Gemini Web 1.1.0.RELEASE shipped (1 Nov 2010)
• All repositories can be checked out and built (SVTs soon)
• Virgo Recent Builds available
28
Virgo released
28Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Virgo released...
• Eclipse Community Forum (Virgo home link)
• Virgo developer mailing list
• Community conference call once a week
• Active Bugzilla (currently ~10 bugs; ~60 enh)(bugs.eclipse.org/bugs under RT; the Gemini.Web and Virgo products)
29
29Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Release Notes
30
• Performance improvements (startup, logging)
• Upgrade dependencies (Equinox; Tomcat; LogBack; Gemini.Web)
• Equinox Console extension (vsh)
• Bugs and docs improvements
30Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Documentation
• All updated for 2.1.0.RELEASE:
• User Guide
• Programmer’s Guide
• Getting Started Guide(featuring GreenPages 2.3.0.RELEASE)
• http://www.eclipse.org/virgo/documentation/
31
31Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Tools
• SpringSource Tool Suite supports Virgo servers out-of-the-box
• STS 2.5.0.RELEASE
• http://www.springsource.com/products/sts
• ...or add server tool support to Eclipse IDE
• http://dist.springsource.com/release/TOOLS/nightly/e3.6 for dm Server Tools
• Including support for plans
32
32Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Time-line Virgo 2.1.0
33
RELEASE
NovMay June July Aug Sept Oct
2.2.
0.M
01
Code drop
M01 M02
improve diags in fs failuresfix undeploy bugsreleasable kernelimprove ‘buildability’
M03 M04
logging performance bugcontributions added: - testcases - OSGi extensions
M05M06
RC1
Equinox upgradeslim kernelWindows startup
Rationalise dependenciesremove shelladd vsh extension
performancelogback upgradeartifact extension api
33Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
How can I get started?
34
34Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Getting Started
• Pre-req: Java 6
• Download and unzip
• bin/startup.sh or bin\startup.bat
• drop WAR files or bundles into pickup dir(there are some there already)
35
35Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
...then what?
• Read documentation
• User Guide
• Programmer Guide
• “Getting Started” Guide
• Join the community
• http://wiki.eclipse.org/Virgo/Community
36
36Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Participants
• Casual user
• Expert user
• Contributor
• Committer
37
37Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Committer Skills
• Know or willing to learn:
• Clean architecture and code
• Unit and integration testing built-in
• Concurrency
• (Deep) OSGi
• git, ant, ivy, etc.
38
38Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Work Areas
39
• Developer docs, wiki, virgo-dev support
• Jetty support
• p2 integration
• More server types built on the kernel
• Integration, batch, RAP, ...
39Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Virgo Futures
40
40Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
RAP news... (Florian Waibel)
41
41Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Tools future
• donation to Eclipse in progress:
• Bundlor (standalone as well as plugin)
• dm Server Tools (Virgo Tools)
• including artifact grouping (plans)
42
42Monday, 22 November 2010
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.
Further Information
43
• http://www.eclipse.org/Virgo
• http://wiki.eclipse.org/Virgo/Community
•#VirgoRT
• Download Virgo 2.1.0.RELEASE and try it
http://www.eclipse.org/Virgo/download
43Monday, 22 November 2010