GlassFish v3 : En Route Java EE 6

4,671 views
4,544 views

Published on

Modular and extensible GlassFish v3. Developer features, access to Java EE 6 previews, roadmap.
Speaker: Alexis Moussine-Pouchkine

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

No Downloads
Views
Total views
4,671
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
0
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide

GlassFish v3 : En Route Java EE 6

  1. 1. GlassFish v3 En route pour Java EE 6 Alexis Moussine-Pouchkine GlassFish Team
  2. 2. Timeline of Project GlassFish Tomcat Jasper v3 v3 Catalina “Prelude” (Java EE 6) v1 JSTL GlassFish Struts v2 v2.1 Launch Crimson XSLTC Xalan Xerces Fall-2009 JAXB Oct/Nov Dec June May Sept. JAX-RPC 2008 2008 2005 2006 2007 JSF (you are here) 2
  3. 3. GlassFish Adoption 3
  4. 4. GlassFish around You 4
  5. 5. GlassFish around You (really) 5
  6. 6. GlassFish around You (really, really) 6
  7. 7. All this .... ... with a boring application server (albeit with built-in full Web-Services Stack, full clustering, great monitoring tools, record performance, complete documentation, and heavily deployed in production) 7
  8. 8. GlassFish http://glassfish.org Best of class App Server • GlassFish v2.1 released Jan. 2009 > 4 millions downloads > Up to x2 usage over 12 months • Out of the box : “Grizzly”: scalable and innovative Web Tier > “Metro”: Complete Web Services interop with Microsoft > “Shoal”: Complete Java EE Clustering > Administration and monitoring tools > Performance (SPECjAppServer record) > Tooling (Best with NetBeans, Eclipse also supported) > 8
  9. 9. GlassFish Enterprise Manager • SNMP Monitoring • Performance Advisor • Self management Rules • Performance Monitor 9
  10. 10. What is a “lightweight” Application Server ? 10
  11. 11. Tomcat ? 11
  12. 12. Fast startup ? 12
  13. 13. Load on-demand ? 13
  14. 14. Introducing GlassFish v3 Prelude 14
  15. 15. Admin Console 15
  16. 16. Modular and Dynamic • Modular : Apache Felix (OSGi) • Extensible : HK2 • Yet very Fast ! Security Config Grails JRuby/Rails Web Naming Injection dispatch GlassFish Kernel browser Grizzly requests HK2 Services OSGi Runtime Bundles repositories services 16
  17. 17. Demo Startup Compile on Save Deploy on Change Preserve Session 17
  18. 18. Painless Java EE development ! • 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 18
  19. 19. 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 : 19
  20. 20. Yes, Eclipse too ! GlassFish (v2/v3) + Eclipse 3.4 Tools Bundle: http://download.java.net/glassfish/eclipse/ 20
  21. 21. Update Center 21
  22. 22. 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 22
  23. 23. 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 • Fine client API too 23
  24. 24. Servlet 3.0 • POJO > @WebServlet > @ServletFilter > @WebServletContextListener • web.xml now optional and supports fragments • Support for asynchrony > @WebServlet(asyncSupported=true) > New APIs for Servlet request and response for suspend, resume 24
  25. 25. EJB 3.1 Sample import javax.ejb.Singleton; import javax.servlet.WebServlet; @WebServlet(urlMapping={quot;/Counterquot;}) @Singleton public class SimpleServlet { public class CounterBean { @EJB CounterBean counterBean; private int hitCount; void processRequest(...) { try { public synchronized int incrementAndGetHitCount() { ... return hitCount++; counterBean.incrementAndGetHitCount()); ... } } finally { out.close(); } } } } 25
  26. 26. Demo simple ejb 3.1 war packaging 26
  27. 27. GlassFish Embedded AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); 27
  28. 28. GlassFish Embedded public class Main { public static void main (String[] args) { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } } 28
  29. 29. GlassFish Embedded @BeforeClass public static void setUpClass () { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } @Test public void pingApplication () { ... } 29
  30. 30. A lot more ... Langages dynamiques: Rails, Grails, Django, ... • Comet, Cometd/Bayeux • Support complet de mod_jk, WebDAV, CGI, SSI • Web Services Metro 1.4 (.Net 3.5) • console user IPS/pkg(5) • Central Config domain.xml Admin Console Admin RESTful • C Container Monitoring • o GUI Parts Runtime n f Extensibilité • Grizzly Adapter i Admin commands g > Moteur Kernel > Console admin > Fichier de config client/browser admin invocation 30
  31. 31. GlassFish v3 Prelude – Practical • Get it from http://glassfish.org • Download size: 26MB > Graphical Installer > Zip version > Community-contributed IzPack installer • Choice > Eclipse or NetBeans > Runs on Java 5 and Java 6 (Java EE 6 will mandate Java 6) > Felix or Equinox • Questions and feedback to : USERS@glassfish.dev.java.net or GlassFish forum. • Supported product, subscriptions available 31
  32. 32. v3 Prelude vs. GlassFish v2.x 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 J2 EE Connector Architecture 1 .5 X X[2] EJB 3 .0 X JMS X JPA 1 .0 (TopLink) X 32
  33. 33. 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 33
  34. 34. GlassFish v3 Roadmap • V3 Final aligned with Java EE 6 > Starting a series of Milestone releases > Targeted for Fall 2009 > Clustering, central admin likely on the update center • V3.1 full clustering > Likely 6 to 9 months after V3 34
  35. 35. v3 Prelude Usage xWiki GlassFishV3 JavaDB Project Fuji (OpenESB.next) SailFin (Telco AppServer) WebSynergy (Portal, Liferay) WebEngine EHCache Server GlassFish v3 Embedded GlassFish v3 Embedded Jersey Jersey 35
  36. 36. http://glassfish.org alexis.mp@sun.com http://blogs.sun.com/alexismp 36

×