GlassFish v3 “Prelude”


Lightweight Application Server

Alexis Moussine-Pouchkine
GlassFish Team
                        ...
GlassFish Community/Adoption




                           2
Actual Users




               3
GlassFish around You




                       4
All this ....
      ... with a boring
    application server
                 5
GlassFish v2

• GlassFish v2ur2 released April 2008
  > 4 millions downloads, strong usage increase in 1 year
  > Signific...
What is a
“lightweight”
Application Server ?


                   7
Tomcat ?


           8
Fast startup ?

            9
Load on-demand ?

            10
Introducing
GlassFish v3 Prelude




                       11
Modular and Dynamic

• Modular : Apache Felix (OSGi)
• Extensible : HK2
• Yet very Fast !                             Secu...
Admin Console




                13
Compile on Save/Deploy on Change

• Java EE development doesn't have to be painful :)
• Incremental compile of all Java EE...
Session Retention

Deployment option to maintain stateful sessions across re-
 deployments

$ asadmin redeploy --propertie...
Yes, Eclipse too !




                     16
Update Center




                17
Not just Java !
And right from the Update Center

●   Groovy / Grails
    –   Uses GlassFish Embedded on %grails run-app
 ...
Prelude to Java EE 6
(via GlassFish Update Center)

• JSF 2.0 Preview         • EJB 3.1 Preview
  > Integrated Facelets   ...
JAX-RS (JSR 311) with Jersey

• Making it easy to build RESTful Web services
• Production-quality Reference Implementation...
GlassFish Embedded



   AppServer glassfish = new AppServer(8080);
   glassfish.deployWar(warFile);




                 ...
GlassFish Embedded

public class Main {
  public static void main (String[] args) {
    AppServer glassfish = new AppServe...
GlassFish Embedded

 @BeforeClass
 public static void setUpClass () {
   AppServer glassfish = new AppServer(8080);
   gla...
A lot more ...

•   Comet, Cometd/Bayeux
•   Full support for mod_jk, WebDAV, CGI, SSI
•   Metro 1.4 Web Services
•   pkg ...
GlassFish v3 Prelude – Practical

• Get it from http://glassfish.org
• Download size: 26MB
  > Graphical Installer
  > Zip...
v3 Prelude vs. GlassFish v2
Feature                                                     GlassFish Server v2   GlassFish v3...
v3 Prelude vs. GlassFish v2 (2)
Feature                                                                           GlassFis...
v3 Prelude Usage

                                               xWiki
                                            GlassFi...
http://glassfish.org



                alexis.mp@sun.com
                http://blogs.sun.com/alexismp


                ...
Upcoming SlideShare
Loading in …5
×

GlassFish v3 Prelude Aquarium Paris

3,464
-1

Published on

Alexis Moussine-Pouchkine on GlassFish v3 Prelude in Paris, December 12th 2008

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,464
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

GlassFish v3 Prelude Aquarium Paris

  1. 1. GlassFish v3 “Prelude” Lightweight Application Server Alexis Moussine-Pouchkine GlassFish Team 1
  2. 2. GlassFish Community/Adoption 2
  3. 3. Actual Users 3
  4. 4. GlassFish around You 4
  5. 5. All this .... ... with a boring application server 5
  6. 6. GlassFish v2 • GlassFish v2ur2 released April 2008 > 4 millions downloads, strong usage increase in 1 year > Signification number of production deployments • Out of the box : > “Grizzly”: Scalable and Innovative Web Tier > “Metro”: Full Web Services + interop with Microsoft > “Shoal”: Complete Java EE Clustering > 1st class Administration and Monitoring tools > Performance (SPECjAppServer record) > Tooling (Best with NetBeans, Eclipse) 6
  7. 7. What is a “lightweight” Application Server ? 7
  8. 8. Tomcat ? 8
  9. 9. Fast startup ? 9
  10. 10. Load on-demand ? 10
  11. 11. Introducing GlassFish v3 Prelude 11
  12. 12. Modular and Dynamic • Modular : Apache Felix (OSGi) • Extensible : HK2 • Yet very Fast ! Security Config Grails JRuby/Rails Security Config Grails JRuby/Rails Web Web Naming Injection Naming Injection dispatch GlassFish Kernel GlassFish Kernel browser Grizzly Grizzly requests HK2 Services Bundles repositories OSGi Runtime OSGi Runtime Bundles repositories services 12
  13. 13. Admin Console 13
  14. 14. Compile on Save/Deploy on Change • Java EE development doesn't have to be painful :) • Incremental compile of all Java EE artifacts • Auto-deploy of all Java EE and static artifacts 14
  15. 15. Session Retention Deployment option to maintain stateful sessions across re- deployments $ asadmin redeploy --properties keepSessions=true myapp.war Greatly simplifies the development paradigm. Integrated in NetBeans 6.5 : 15
  16. 16. Yes, Eclipse too ! 16
  17. 17. Update Center 17
  18. 18. Not just Java ! And right from the Update Center ● Groovy / Grails – Uses GlassFish Embedded on %grails run-app – Smaller archives with %grails shared-war ● JRuby on Rails > Multiple deploys strategies including “Native” directory-based – One command, one instance, one process ● Grizzly, admin, JDBC pooling, Metro, available to all! 18
  19. 19. Prelude to Java EE 6 (via GlassFish Update Center) • JSF 2.0 Preview • EJB 3.1 Preview > Integrated Facelets > WAR packaging > First-class Ajax > Singleton support > No Interface View > Pub/Sub Events > TimerService > Composite > Asynchronous components operations > Better resource > ... handling • Servlet 3.0 soon > Groovy integration 19
  20. 20. JAX-RS (JSR 311) with Jersey • Making it easy to build RESTful Web services • Production-quality Reference Implementation @javax.ws.rs.Path(quot;/users/{id}quot;) public class UserResource { @javax.ws.rs.GET @javax.ws.rs.Produces(quot;text/xmlquot;) public String getUser( @PathParam(quot;idquot;) String userName) { ... } } • Final and supported v1.0 20
  21. 21. GlassFish Embedded AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); 21
  22. 22. GlassFish Embedded public class Main { public static void main (String[] args) { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } } 22
  23. 23. GlassFish Embedded @BeforeClass public static void setUpClass () { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } @Test public void pingApplication () { ... } 23
  24. 24. A lot more ... • Comet, Cometd/Bayeux • Full support for mod_jk, WebDAV, CGI, SSI • Metro 1.4 Web Services • pkg and IPS console user • RESTful admin domain.xml Central Config Central Config Admin Console Admin Console • Monitoring Container Container C o C o GUI Parts • Extensible Runtime Runtime n f n GUI Parts f > Runtime Grizzly Adapter Grizzly Adapter i i g g Admin commands Admin commands > Admin console > Config file Kernel Kernel client/browser admin invocation 24
  25. 25. GlassFish v3 Prelude – Practical • Get it from http://glassfish.org • Download size: 26MB > Graphical Installer > Zip version > Community-contributed IzPack installer • Runs on Java 5 and Java 6 • Questions and feedback to : USERS@glassfish.dev.java.net or GlassFish forum. • Supported product, subscriptions available 25
  26. 26. v3 Prelude vs. GlassFish v2 Feature GlassFish Server v2 GlassFish v3 Prelude Java Platform, Enterprise Edition Java Compatible, Enterprise Edition (Java EE 5) Certified X Web Application and Service Technologies Java Web Technologies (Servlet 2.5, JSP 2.1, JSF 1.2) X X Metro Web Services Stack X X [1][4] .NET 3.0 Web Services Interoperability X .NET 3.5 Web Services Interoperability X[1][4] Next Generation Web jMaki (Ajax Framework) X[4] X[4] Jersey/JAX-RS 1.0 (RESTful Web Services) X[4] X[4] Administration Admin Console and CLI (Centralized Administration) X X JMX X X Node Agent & Cluster Mgmt X Upgrade Tool X Client Application Client Container X Java WebStart support X Enterprise Application Technologies Java DB, JDBC Connection Pooling X X JTA/JTS X X J2EE Connector Architecture 1.5 X X[2] EJB 3.0 X JMS X JPA 1.0 (TopLink) X 26
  27. 27. v3 Prelude vs. GlassFish v2 (2) Feature GlassFish Server v2 GlassFish v3 Prelude Scripting jRuby/Rails Web Archive (.war) deployment X[4] X[4] “Native” jRuby/Rails deployment – without need for Servlet container X[4] Dynamic resizing of jRuby Runtime Pool X[4] Groovy/Grails X[4] Developer Tools Integrated Development Support (Eclipse and NetBeans) X X Rapid Redeployment - Maintain session state on application redeploy X Update Center X X Update Center integration with Administration Console X Verification Tools X Image Packaging System (IPS) Tools X Framework Technologies Grizzly (Java NIO) X X Comet (HTTP Push) X X CORBA X Modular Architecture Based on OSGi X GlassFish Embedded X Extend GlassFish Functionality (Extensibility APIs) (Administration Console, asadmin CLI utility, more) X System/Performance Technologies Clustering X X[3] Load Balancer Plugin X Centralized Administration of Load Balancer Plugin Configuration X High Availability X Integration Integration with Identity Manager, OpenSSO, OpenESB, OpenPortal... X 27
  28. 28. v3 Prelude Usage xWiki GlassFishV3 JavaDB Project Fuji SailFin (OpenESB.next) (Telco AppServer) WebSynergy (Portal, Liferay) EHCache Server WebEngine GlassFish v3 Embedded GlassFish v3 Embedded Jersey Jersey 28
  29. 29. http://glassfish.org alexis.mp@sun.com http://blogs.sun.com/alexismp 29

×