I have now participated to several Tech Days in Saint Petersburg and it's impressive to see the constant growth in attendance (4000+ participants this year!) and interest for Java EE and GlassFish. It's getting harder every year to get off the stage with the number of people asking questions ;)
On the first day I made my way into the "technology showcase" demos right before the keynote to show GlassFish v3 update center and development features (basically a combination of this and that). Unfortunately James couldn't make it so Octavian Tanase, VP of client Java develpoment (I hope I'm getting his title right) delivered a Java (SE, VM, JavaFX) keynote, leaving the server-side part to Oracle's Dennis Leung on the next day. Jerome then presented in the main room in front of about a thousand people about where we are with GlassFish and as expected could leave the room for a while after the talk given all the questions.
Later on the first day I had two back-to-back sessions on Java EE 6, using the same approach as in Devoxx, jFokus and other JUG events, based on code and demos from beginningee6.kenai.com (slides: part 1, part 2). The final part on CDI was taken care of by Jerome on the next day. The keynote on the second day was almost as packed as for the opening one and was delivered by Dennis Leung, Oracle VP of software development. This one was more focused on Java EE, evolution and modularity of the platforms, a demo by Jerome (with some French humor), some very nice words on GlassFish being rock-solid, and closing with the Oracle value-adds such a TopLink, Coherence and the larger WebLogic-based Fusion Middleware application grid offering.
From the few local people I talked to it seems that Dennis' talk was well accepted and it was certainly quite effective to have an Oracle exec speaker deliver messages such as "we take the stewardship for Java role very seriously" or the GlassFish Roadmap. Maybe the most important thing for me was that after all this event was not so much different from the previous Sun-led TechDays.
This is a very long overdue post on my trip to the Sun TechDays in Saint Petersburg, Russia.
This was my second trip after last year's event. This one was in a bigger place (a sports/events stadium) and it seemed even more energetic than the previous one. Just like last year I could have some conversations in Russian, but I presented in English (I just don't have the vocabulary and didn't want to have people remember my talk for how funny my Russian was).
Here is a list of the questions (and answers) from this conference :
Q: On which OS does GlassFish has the best performance? A: On the best JVM/Operating System combinaison. The tuning maybe a little different depending on the HW architecture and the GlassFish Performance Tuning Guide may come in handy.
Q: Do you have a performance comparaison vs. JBoss? A: Well, we compare ourselves with other application servers using the SPECjAppServer benchmark. JBoss has not published any results but we believe we are substantially faster.
Q: Do you have a feature comparison to WebSphere (not CE)? A: You may have heard the GlassFish is "WebLogic features at JBoss price". Well you could also use WebSphere in this case (except it doesn't support Java EE 5 yet). One feature we don't currently have is Administration RBAC. This is coming in GlassFish v3. Also if you have dependencies on IBM software or hardware, GlassFish may not be able to fullfil them. Having said this, AIX is a supported platform for GlassFish.
Q: Can JAX-WS RI be used in other App Servers? What about WSIT? A: Metro is GlassFish's one-stop-shop for Web Services and, yes, it can be used in other application servers. The most common cases are Tomcat and JBoss, but also WebSphere. Note that Weblogic 10 already integrated the Web Services stack from GlassFish (albeit an older version, and without WSIT).
Q: Can you do TX with Web Services? A: Yes! It's all part of Metro which implements Web Services-AtomicTransactions (WS-AT) and Web Services-Coordination (WS-Coordination). Check out this link.
Q: How to set up thread pool and connection pool? A: You can do this either with the graphical console or the command-line (asadmin). The GlassFish documentation is your best friend!
Q: How can I make my bread on GlassFish (earn money)? A: We want you to be successful with the technology and us as a result of that! We recently launched an ISV partner program. Expect certification and integrator programs to follow-up soon.
Q: What advantages GlassFish has? (for instance comparatively with Jboss) A: Administration tools (GUI, CLI, JMX) are clearly a differentiator vs. other open source products. Performance (see our SPECjAppServer results). GlassFish is currently in its second implementation of a fully-compliant Java EE 5 product. Documentation is rich and still improving. Clustering is out of the box and fairly painless to configure. The Web Services stack (Metro) is a simple yet powerful one-stop-shop for everything Web Services (including Microsoft interop on advanced web services). GlassFish's OpenMQ JMS implementation is probably its best kept secret. It's high quality with great performance and comes with HA features.
Q: Hibernate and TopLink have extra-functionality than JPA. Would be features of TopLink and Hibernate ported into JPA? A: I would encourage you to look into JPA 2.0. It adds many of the popular features from those two products such as criteria. The reference implementation for JPA 2.0 will be EclipseLink and as such integrated into GlassFish v3.
Q: I have memory leaks with GlassFish. On the application server only simple JavaServer Faces page is deployed. How can I file a bug? Where would be better to ask about possible workaround? A: We've fixed bugs in earlier 1.x releases and there is no known leak in the current versions. I would encourage you to update to a recent version (v2ur2 is the latest as of this writing) if you are not there already. Having a support contract (see benefits) is clearly your best chance to solve the problem fast. It can provide patches for such issues without forcing you to upgrade for instance. You can also file bugs here
Q: Who have used GlassFish for business? A: Customers listed on the "Stories" blog are all GlassFish production customers. Interesting customers include Wotif.com, the FAA, RTL, TravelMuse, Carrefour, Net Entertainment, 1Sync and more. We have many more using it in production but not everyone is willing to share this information publicly. Having said this we're working hard on publishing more references soon.
Q: Is hot redeploy supported (I do not like to restart server even time to time) A: Yes, see this documentation. Also, IDE integration (NetBeans, Eclipse) can come in handy.
Q: Is it true, that TomCat is included in GlassFish? A: Well, while Sun is the original creator of Tomcat, the GlassFish team optimized Tomcat to add things like Grizzly to enhance the performance. Having said this, any application running inside Tomcat (even using Valves) should run unmodified in GlassFish. If it doesn't, make sure to file a bug or share your experience on the GlassFish Forums.
Thank you to Denis Fokin for helping me with this list of questions.
To get a feel for the conference, here's a movie (I'll admit I don't know who put it together, but it looks nice):
I'm still not sure if Saint Petersburg or Paris should be declared the most beautiful city in the World (according to me), but for this week I'll settle for Saint Petersburg where I'm staying for the Sun Tech Days which are starting this Wednesday.
I'll be presenting on GlassFish and JAX-WS + WSIT. Although I do speak some Russian, it's probably not sufficient to give an effective presentation... So just like for my fellow presenters my talk will be translated to Russian.