GlassFish v3 - Architecture

download GlassFish v3 - Architecture

If you can't read please download the document

Transcript of GlassFish v3 - Architecture

GlassFish V3 @ Jazoon

Jerome Dochez

Principal Engineer

Sun Microsystems, Inc.

GlassFish V3

Modular application server

OSGi

Service based architecture

Extensibility

Flexibitlity

Embedable

Java EE 6

profiles

annotations in webtier

EJB 3.1/JPA

Modularity in GlassFish

OSGi based

Modules are nice but the APIs matters more

Service based architecture

Smart loading/starting of modules leading to unmatched startup time.

Once the APIs are figured out, easy to replace implementations of parts of your software.

Modules are unit of distribution

not a service implementation artifact

Modules must be hidden from average developers

no intrinsic value

Java 5/6OSGi (Felix)HK2Application Model3rd PartyGlassFish extensionsGlassFish
bundlesApplicationsRandom LibBND

GlassFish V3 Runtime

GlassFish V3 Runtime

Kernel

startup/shutdown sequences

basic services (deployment)

configuration reading

Services for cross containers functionalities

Security, Naming Manager...

Admin Console

Containers

handle user's applications

independent of each others

requests

GlassFish Bundles

Grizzly

OSGi RuntimeHK2 Services

GlassFish Kernel

JRuby/RailsWeb

SecurityNamingConfigInjectionbrowser

dispatch

services

GlassFish v3 Future

GlassFish has 3 main themes :

Extensibility

Modularity

Embedability

plus one recurrent : Java EE 6

Profiles

Developer's features

most of the new V3 features will revolve around OSGi and extensibility.

Extensibility

GlassFish v3 supports already

Java EE applications

native RoR apps (no war repackaging)

Phobos

Grails

What's next ?

any server side runtime can be plugged in GlassFish

simplified deployment

administration/configuration

clustering

monitoring, QoS, converged applications

Extensibility

Trouble with your custom stack ?

concentrate on the value add rather than the underlying runtime

Reuse GlassFish modules independently

leverage service based architecture

OSGi not indispensable

All GlassFish modules are in maven repositories.

Use the distribution facility to build your own GlassFish

Branding support included

Modularity

Build your own stack

take GlassFish nucleus or web distribution

build on top

more containers

more services (CLI, admin gui plugins...)

OSGi related features

consumption on any OSGi bundles trivial

adding soon : plain old jar importing

visible to applications with minimal effort

package wiring automatic

Admin GUI/OSGi console integration

Modularity (2)

HK2 Features

service resolution for containers

service resolution for applications

automatic services wiring

make your own extensible framework

leverage GlassFish functionality to do the heavy lifting.

OSGi in applications

deployment through Bundle.install()

OSGi bundle class loader for OSGi(ezed) applications

Admin Gui integration

Embedability

Today, we already have web container embedable.

what for ?

maven

testing : local EJB testing without starting GlassFish

need a container in your application, yet don't need a full Java EE stack.

HK2 features

OSGi isolation

Can run GlassFish in non modular mode

single class loader

useful for applications that do not need modular environment

Send requests and ideas to [email protected]

Jerome Dochez

[email protected]

Sun Microsystems, Inc.

Page

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Click to edit the notes format

Page

Click to edit the title text format

Presenters Name

Presenters Title

Presenters Company

Click to edit the notes format

Page