GlassFish v3 : En Route Java EE 6

  • 4,182 views
Uploaded on

Modular and extensible GlassFish v3. Developer features, access to Java EE 6 previews, roadmap. …

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,182
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
12

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. GlassFish v3 En route pour Java EE 6 Alexis Moussine-Pouchkine GlassFish Team
  • 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. GlassFish Adoption 3
  • 4. GlassFish around You 4
  • 5. GlassFish around You (really) 5
  • 6. GlassFish around You (really, really) 6
  • 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. 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. GlassFish Enterprise Manager • SNMP Monitoring • Performance Advisor • Self management Rules • Performance Monitor 9
  • 10. What is a “lightweight” Application Server ? 10
  • 11. Tomcat ? 11
  • 12. Fast startup ? 12
  • 13. Load on-demand ? 13
  • 14. Introducing GlassFish v3 Prelude 14
  • 15. Admin Console 15
  • 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. Demo Startup Compile on Save Deploy on Change Preserve Session 17
  • 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. 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. Yes, Eclipse too ! GlassFish (v2/v3) + Eclipse 3.4 Tools Bundle: http://download.java.net/glassfish/eclipse/ 20
  • 21. Update Center 21
  • 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. 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. 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. 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. Demo simple ejb 3.1 war packaging 26
  • 27. GlassFish Embedded AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); 27
  • 28. GlassFish Embedded public class Main { public static void main (String[] args) { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } } 28
  • 29. GlassFish Embedded @BeforeClass public static void setUpClass () { AppServer glassfish = new AppServer(8080); glassfish.deployWar(warFile); } @Test public void pingApplication () { ... } 29
  • 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. 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. 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. 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. 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. 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. http://glassfish.org alexis.mp@sun.com http://blogs.sun.com/alexismp 36