GlassFish v3 - Architecture
-
Upload
alexis-moussine-pouchkine -
Category
Technology
-
view
6.996 -
download
0
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
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