Monday, May 7, 2007

GlassFish: Getting Started and What's New in GlassFish V2

I don't have anything planned till noon, so I thought I'd check out the "GlassFish: Getting Started and What's New in GlassFish V2" talk. Eduardo Pelegri-Llopart of Sun and the GlassFish Team (Karen) are giving an overview of GF V2. I got to see a preview of GF V2 last year, so I'm hoping to see some more cool things this time around. Karen started off, welcoming everyone to the first ever, "GlassFish Day". Since the are looking for user feedback, they've offered everyone who fills out a survey either a T-Shirt, memory stick (with GF v2 preloaded), or a sticker. Karen told us that instead of meeting Jonathan for lunch, he'll join us in this room for a Q&A for about 30 minutes, then it's lunch. Next up is Eduardo to talk about what's new in GF. In order to best answer everyone's questions, the leads for each technology in GF are here to answer questions, after the presentation. For more info on GF, check out,, He is now showing a time-line of Project GlassFish, showing the launch of GF June '05, v1 final JavaOne '06, V2 beta 2 J1 '07. What is Gf? It's the Java EE 5 RI, it's enterprise quality, bases for Sun's AS 9.0 & 9.1. What does RI mean? When you create a JSR, the EG also needs to produce either a proof-of-concept or implementation to prove the technology can be created. Earlier RI of other JSR's were proof-of-concept, but in the case of GF, this RI is actually production ready, not a prototype. It has a dual license, either CDDL or GPL v2, you as the user of the framework get to decide the type of license you want. GF is also a community, like Apache, but not nearly as large - Eduardo's words, not mine :-) In addition, GF is also a collection of other projects, like jMaki, Phobos, BlogApps, JAX-RS, etc. An important note, all GF related discussions, etc. are kept outside of Sun, except for a few instances, GF is it's own project run outside of Sun, outside of the firewall. Next slide, "A Taste of Java EE 5", for those who have not seen it yet... first we are shown an overview of J2EE 1.4, its powerful, a standard, but too difficult to get started, ever simple apps need boring boilerplate, in Java EE 5 we eliminate the boiler plate, and make simple things simple. Java EE 5.0 = (J2EE 1.4).next, the theme of Java EE 5 is "Ease of Development". It's embraces a POJO based programming model. We are shown the standard, here is how it was and here is what it's like now slides for JAX-RPC, of course the Java EE 5 version is about 5 lines of code with no deployment descriptor (compared to the 30 lines of code and 50 lines of XML for the J2EE 1.4 version). Bill Shannon said, "Not your father's J2EE". That's it about Java EE 5, just a taste. Now on to the GF community, the principles of the community are:
  • industry-leading technology, (no secret sauce)
  • want adoption of code base (no secrete sauce for code base
  • this is all of it (editors note: aka not like JBoss)
  • community centered
  • transparency
  • continuous improvements
  • participation
  • integrated
  • open standards - JCP
  • etc.
  • OSI License
  • clear copyright (SCA).
If you contribute code to GF you keep the copyright but you also give the copyright to GF (very similar to what Apache does). Why is Sun doing Open Source? Ubiquity, lower barrier to adoption, better products, more know-how, larger, faster adoption of Java EE 5. Revenue - training, support, consulting, systems (HW). Sun get big portion of pie, as pie gets bigger so does Sun's share. Code donations include Sun Microsystems, Oracle, TmaxSoft, BEA, JBoss, Jetty, etc. etc. GF v1 has been released, last year at J1 '06. GF v2 includes everything that could not make it into GF v1, new WS stack, load balancing, cluster management, some scripting support, community, transparency, adoption. GF v3 better modularization, better scripting, etc. GF would like everyone using Tomcat to start using GF. For memory replication Sun used to use a HADB (High availability DB), here they would store the HTTP session state, EJB's, etc. Now GF also has memory replication, which most customers will likely use. Memory replication of of the box, create a domain, use the cluster admin profile, create cluster and instances deploy your application with availability-enabled=true and that is it. The underlying technology used for memory replication is JXTA, originally developed for peer-to-peer but is good for managing memory replication. JAX-WS and JAXB implementations, considering giving this a new name because of their popularity. JAXB RI is the de-facto industry standard, JAX-WE is much faster than Axis. Next is JBI (Java Business Integration), built in support for JBI (JSR-208), JDB run-time OpenESB. As for GF, there used to be multiple profiles, platform, enterprise, etc. now there is just one download and the developer/administrator choose the profile the time of domain creating. Improve user experience based on the profile chosen, GF v2 will support Developer, Cluster, and Enterprise profiles. There are some security enhancements, JSR-196, ECC (Elliptic Curve Cryptography), JNKS (java key store), support for "assign-groups" in security realm, support for JDBCRealm. One the Web Container, includes JSF, JSP, Grizzly, ARP (Asynchronous Request Processing) and comet, non-blocking SSL, Apache ajp protocol, in-memory JSR 199 style JSP compilations, generic NIO framework Grizzly 1.5) Top Link Essentials/ JPA, oracle contribution, very active community Oracle, Sun, TmaxSoft, independents, Pluggable in GF, JEUS, Jonas, Tomcat, etc. GF V3 will have a modular system, you only load what you need, open, starts in 0.5 seconds on the best PC, 0.7 on Eduardo's laptop

No comments: