GlassFish V3 @ Jazoon <ul><li>Jerome Dochez </li></ul><ul><li>Principal Engineer </li></ul><ul><li>Sun Microsystems, Inc. ...
GlassFish V3 <ul><li>Modular application server  </li></ul><ul><ul><li>OSGi </li></ul></ul><ul><li>Service based architect...
Modularity in GlassFish <ul><li>OSGi based </li></ul><ul><li>Modules are nice but the APIs matters more </li></ul><ul><ul>...
GlassFish V3 Runtime
GlassFish V3 Runtime <ul><li>Kernel  </li></ul><ul><ul><li>startup/shutdown sequences </li></ul></ul><ul><ul><li>basic ser...
requests GlassFish Bundles HK2 Services browser dispatch services
GlassFish v3 Future <ul><li>GlassFish has 3 main themes : </li></ul><ul><ul><li>Extensibility </li></ul></ul><ul><ul><li>M...
Extensibility <ul><li>GlassFish v3 supports already  </li></ul><ul><ul><li>Java EE applications </li></ul></ul><ul><ul><li...
Extensibility <ul><li>Trouble with your custom stack ? </li></ul><ul><ul><li>concentrate on the value add rather than the ...
Modularity <ul><li>Build your own stack </li></ul><ul><ul><li>take GlassFish nucleus or web distribution  </li></ul></ul><...
Modularity (2) <ul><li>HK2 Features  </li></ul><ul><ul><li>service resolution for containers </li></ul></ul><ul><ul><li>se...
Embedability <ul><li>Today, we already have web container embedable.  </li></ul><ul><li>what for ? </li></ul><ul><ul><li>m...
Send requests and ideas to users@glassfish.dev.java.net <ul><li>Jerome Dochez </li></ul><ul><li>[email_address] </li></ul>
Upcoming SlideShare
Loading in …5
×

GlassFish v3 - Architecture

6,650
-1

Published on

GlassFish architect Jerome Dochez presents the architecture (kernel, services, extensibility) and the status of GlassFish v3, a lightweight and modular application server based on OSGi and able to run both Java (EE) and scripting (Rails, Grails, PHP, etc...) applications. Fairly technical.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,650
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
340
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

GlassFish v3 - Architecture

  1. 1. GlassFish V3 @ Jazoon <ul><li>Jerome Dochez </li></ul><ul><li>Principal Engineer </li></ul><ul><li>Sun Microsystems, Inc. </li></ul>
  2. 2. GlassFish V3 <ul><li>Modular application server </li></ul><ul><ul><li>OSGi </li></ul></ul><ul><li>Service based architecture </li></ul><ul><ul><li>Extensibility </li></ul></ul><ul><ul><li>Flexibitlity </li></ul></ul><ul><ul><li>Embedable </li></ul></ul><ul><li>Java EE 6 </li></ul><ul><ul><li>profiles </li></ul></ul><ul><ul><li>annotations in webtier </li></ul></ul><ul><ul><li>EJB 3.1/JPA </li></ul></ul>
  3. 3. Modularity in GlassFish <ul><li>OSGi based </li></ul><ul><li>Modules are nice but the APIs matters more </li></ul><ul><ul><li>Service based architecture </li></ul></ul><ul><ul><li>Smart loading/starting of modules leading to unmatched startup time. </li></ul></ul><ul><ul><li>Once the APIs are figured out, easy to replace implementations of parts of your software. </li></ul></ul><ul><li>Modules are unit of distribution </li></ul><ul><ul><li>not a service implementation artifact </li></ul></ul><ul><li>Modules must be hidden from average developers </li></ul><ul><ul><li>no intrinsic value </li></ul></ul>
  4. 4. GlassFish V3 Runtime
  5. 5. GlassFish V3 Runtime <ul><li>Kernel </li></ul><ul><ul><li>startup/shutdown sequences </li></ul></ul><ul><ul><li>basic services (deployment) </li></ul></ul><ul><ul><li>configuration reading </li></ul></ul><ul><li>Services for cross containers functionalities </li></ul><ul><ul><li>Security, Naming Manager... </li></ul></ul><ul><ul><li>Admin Console </li></ul></ul><ul><li>Containers </li></ul><ul><ul><li>handle user's applications </li></ul></ul><ul><ul><li>independent of each others </li></ul></ul>
  6. 6. requests GlassFish Bundles HK2 Services browser dispatch services
  7. 7. GlassFish v3 Future <ul><li>GlassFish has 3 main themes : </li></ul><ul><ul><li>Extensibility </li></ul></ul><ul><ul><li>Modularity </li></ul></ul><ul><ul><li>Embedability </li></ul></ul><ul><li>plus one recurrent : Java EE 6 </li></ul><ul><ul><li>Profiles </li></ul></ul><ul><ul><li>Developer's features </li></ul></ul><ul><li>most of the new V3 features will revolve around OSGi and extensibility. </li></ul>
  8. 8. Extensibility <ul><li>GlassFish v3 supports already </li></ul><ul><ul><li>Java EE applications </li></ul></ul><ul><ul><li>native RoR apps (no war repackaging) </li></ul></ul><ul><ul><li>Phobos </li></ul></ul><ul><ul><li>Grails </li></ul></ul><ul><li>What's next ? </li></ul><ul><ul><li>any server side runtime can be plugged in GlassFish </li></ul></ul><ul><ul><ul><li>simplified deployment </li></ul></ul></ul><ul><ul><ul><li>administration/configuration </li></ul></ul></ul><ul><ul><ul><li>clustering </li></ul></ul></ul><ul><ul><li>monitoring, QoS, converged applications </li></ul></ul>
  9. 9. Extensibility <ul><li>Trouble with your custom stack ? </li></ul><ul><ul><li>concentrate on the value add rather than the underlying runtime </li></ul></ul><ul><li>Reuse GlassFish modules independently </li></ul><ul><ul><li>leverage service based architecture </li></ul></ul><ul><ul><li>OSGi not indispensable </li></ul></ul><ul><li>All GlassFish modules are in maven repositories. </li></ul><ul><li>Use the distribution facility to build your own GlassFish </li></ul><ul><ul><li>Branding support included </li></ul></ul>
  10. 10. Modularity <ul><li>Build your own stack </li></ul><ul><ul><li>take GlassFish nucleus or web distribution </li></ul></ul><ul><ul><li>build on top </li></ul></ul><ul><ul><ul><li>more containers </li></ul></ul></ul><ul><ul><ul><li>more services (CLI, admin gui plugins...) </li></ul></ul></ul><ul><li>OSGi related features </li></ul><ul><ul><li>consumption on any OSGi bundles trivial </li></ul></ul><ul><ul><li>adding soon : plain old jar importing </li></ul></ul><ul><ul><ul><li>visible to applications with minimal effort </li></ul></ul></ul><ul><ul><ul><li>package wiring automatic </li></ul></ul></ul><ul><ul><li>Admin GUI/OSGi console integration </li></ul></ul>
  11. 11. Modularity (2) <ul><li>HK2 Features </li></ul><ul><ul><li>service resolution for containers </li></ul></ul><ul><ul><li>service resolution for applications </li></ul></ul><ul><ul><li>automatic services wiring </li></ul></ul><ul><ul><ul><li>make your own extensible framework </li></ul></ul></ul><ul><ul><ul><li>leverage GlassFish functionality to do the heavy lifting. </li></ul></ul></ul><ul><li>OSGi in applications </li></ul><ul><ul><li>deployment through Bundle.install() </li></ul></ul><ul><ul><li>OSGi bundle class loader for OSGi(ezed) applications </li></ul></ul><ul><ul><li>Admin Gui integration </li></ul></ul>
  12. 12. Embedability <ul><li>Today, we already have web container embedable. </li></ul><ul><li>what for ? </li></ul><ul><ul><li>maven </li></ul></ul><ul><ul><ul><li>testing : local EJB testing without starting GlassFish </li></ul></ul></ul><ul><ul><li>need a container in your application, yet don't need a full Java EE stack. </li></ul></ul><ul><li>HK2 features </li></ul><ul><ul><li>OSGi isolation </li></ul></ul><ul><ul><li>Can run GlassFish in non modular mode </li></ul></ul><ul><ul><ul><li>single class loader </li></ul></ul></ul><ul><ul><ul><li>useful for applications that do not need modular environment </li></ul></ul></ul>
  13. 13. Send requests and ideas to users@glassfish.dev.java.net <ul><li>Jerome Dochez </li></ul><ul><li>[email_address] </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×