eclipse rt projects gemini web and virgo par steve powell

43
Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 1 EclipseRT Virgo and Gemini Web steve powell [email protected] chris frost [email protected] glyn normington [email protected] 1 Monday, 22 November 2010

Upload: eclipsedayparis

Post on 13-May-2015

2.037 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 2: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 3: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

OSGi basics

3

3Monday, 22 November 2010

Page 4: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 5: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 6: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 7: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Virgo and Gemini

7

7Monday, 22 November 2010

Page 8: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 9: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 10: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Virgo and EclipseRT

10

10Monday, 22 November 2010

Page 11: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 12: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Virgo Tour

12

12Monday, 22 November 2010

Page 13: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Virgo Externals

13

13Monday, 22 November 2010

Page 14: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 14

14Monday, 22 November 2010

Page 15: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 15

15Monday, 22 November 2010

Page 16: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 17: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 17

17Monday, 22 November 2010

Page 18: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 19: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Scoping

19

19Monday, 22 November 2010

Page 20: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 20

20Monday, 22 November 2010

Page 21: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 22: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Repository Chaining

remote

22

22Monday, 22 November 2010

Page 23: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 23

23Monday, 22 November 2010

Page 24: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Pipelines

24

24Monday, 22 November 2010

Page 25: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License. 25

25Monday, 22 November 2010

Page 26: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Regions

26

26Monday, 22 November 2010

Page 27: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Current Status

27

27Monday, 22 November 2010

Page 28: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 29: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 30: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 31: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 32: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 33: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 34: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

How can I get started?

34

34Monday, 22 November 2010

Page 35: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 36: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 37: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Participants

• Casual user

• Expert user

• Contributor

• Committer

37

37Monday, 22 November 2010

Page 38: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 39: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 40: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

Virgo Futures

40

40Monday, 22 November 2010

Page 41: Eclipse RT projects Gemini web and Virgo par Steve Powell

Copyright VMware 2009, 2010. Licensed under the Eclipse Public License.

RAP news... (Florian Waibel)

41

41Monday, 22 November 2010

Page 42: Eclipse RT projects Gemini web and Virgo par Steve Powell

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

Page 43: Eclipse RT projects Gemini web and Virgo par Steve Powell

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