Tuesday Jun 25, 2013

deny-uncovered-http-methods in Servlet 3.1

Servlet 3.1 is a relatively minor release included in Java EE 7. However, the Java EE foundational API still contains some very important changes. One such set of features are the security enhancements done in Servlet 3.1 such as the new deny-uncovered-http-methods option.

Servlet 3.1 co-spec lead Shing Wai Chan outlines the use case for the feature and shows you how to use it in a recent code example driven post. You can also check out the official specification yourself or try things out with the newly released Java EE 7 SDK.

Thursday Jun 06, 2013

The Many Ways of Monitoring and Managing GlassFish

Robust facilities for management and monitoring is one of the most significant ways GlassFish shines as compared to most open source Java EE application servers. Indeed as a former independent consultant, I have personally seen multiple cases where customers chose GlassFish over other options for this very reason. Folks in operations are usually particularly pleasantly surprised to learn that an open source application  server could be so friendly to them (although clearly application servers like WebLogic shine even brighter in this area).

In a very well written blog post DZone MVB Dustin Marx describes some of the ways for monitoring and managing GlassFish. He talks about the admin console (of course), asadmin, JMX, the GlassFish REST interface and Ant support. It's a very worthy read if you are evaluating GlassFish or already have it deployed to production (in which case I'd say this is a blog entry worth keeping in your bookmarks or forwarding to the operations folks).

Thursday May 30, 2013

Non-Blocking I/O in Servlet 3.1

Servlet 3.1 is a relatively minor release slated for Java EE 7. However, the Java EE foundational API still contains some very important changes, especially for folks building on the Servlet API. One such feature is the newly added support for non-blocking I/O to empower low-latency, high throughput applications, protocols and web frameworks.

Servlet 3.1 co-spec lead Shing Wai Chan shows you how in a recent code example driven post. Incidentally, Servlet 3.1 recently had it's final release. You can now check out the official specification yourself. You can also try the API out with a GlassFish promoted build.

Thursday May 09, 2013

HTTP Upgrades in Servlet 3.1

Servlet 3.1 is a relatively minor release slated for Java EE 7. However, the Java EE foundational API still contains some very important changes, especially for folks building on the Servlet API. The newly added support for HTTP protocol upgrades is a great example. The upgrade facility has been there since HTTP 1.1, but just hasn't been used that widely. It facilitates building richer protocols on top of HTTP. Under the hood, this is exactly the mechanism that HTML 5 WebSockets use (as you know, we now have excellent support for WebSockets in Java EE via JSR 356). You can most certainly use HTTP protocol upgrades in similarly powerful and innovative ways yourself.

Servlet 3.1 co-spec lead Shing Wai Chan shows you how in his recent code example driven post. Incidentally, Servlet 3.1 recently passed it's final approval ballot. You could check out the proposed final draft yourself.

Tuesday Jan 15, 2013

Servlet 3.1 in Public Review

Servlet 3.1 is now in public review. Although it is a relatively minor release for the mature Servlet API, this release has a number of important changes, particularly for enabling higher-level frameworks. The Public Review Draft for Servlet 3.1 will end on February 11th so now is the time to download the spec and send in any comments that you might have.

Servlet spec lead Shing Wai Chan is kind enough to summarize the changes and invites you to learn more. The page also contains a download link to the draft spec as well as a link to Shing Wai Chan's JavaOne presentation on Servlet 3.1.

Stay tuned for more JSRs making progress as the steady march towards the Java EE 7 release keeps rolling forward!

Monday Feb 27, 2012

GlassFish 3.1 is one year old today

GlassFish 3.1 was released a year ago. It was a major milestone for the team and the community for several reasons.

First, it delivered on the promise of the roadmap presented by Oracle soon after the acquisition of Sun Microsystems.


Second, it added key enhancements in centralized admin (SSH-based) and integrated much-improved high-availability cluster technology (see this article for details), thus making it a production-ready product.

Finally, it introduced GlassFish Server Control, a set of tools to improve the production experience for those people that have more money than time, which made clear that GlassFish was a strategic and revenue-generating product for the company.

For the past 365 days, with the help of the community the GlassFish team at Oracle has delivered on its other promises (a 3.1.1 release in the summer of 2011 and an imminent 3.1.2 release) and will continue to do so with Java EE 7 and GlassFish 4. Exciting times ahead!

Wednesday May 11, 2011

Frozen bits doesn't mean frozen documentation

Shipping a "final" version (GlassFish 3.1 in this case) doesn't mean the documentation needs to be as frozen as the bits.

In fact, a few days ago the team actually put out a new version of the documentation set for GlassFish 3.1 (both Open Source Edition and Oracle GlassFish Server).


These changes include more production deployment use-cases, additions to the Add-On Component Development Guide, enhanced documentation on the recent Coherence*Web integration, a better Upgrade Guide (for standalone and cluster deployments) as well as some Performance Tuning Guide enhancements (both at the application server and JVM level). Paul has all the details.

And truth be told, there is no such thing as brozen bits either as you can see with GlassFish 3.1.1 and its recent integration of Weld 1.1.1.

Friday Apr 29, 2011

Latest podcast - GlassFish Voices

The latest episode (#73) of the GlassFish Podcast is out. It's a bit different from the other ones (mostly 1-1 interviews) since it has about 20+ participants.

These are Oracle employees working on GlassFish briefly sharing who they are, what they did for the recent 3.1 release and what they'll be up to for GlassFish 3.2 and related efforts.


I couldn't get to talk to every single engineer but I'm hoping this gives you a chance to hear the voice of the people that brought you GlassFish. You may get a glimpse at the upcoming and exciting 3.2 work too!

Wednesday Apr 27, 2011

Community documenting their GlassFish 3.1 experiences

Of course it's great to see so many GlassFish 3.1 blogs written by the engineers themselves but it's equally rewarding to read user blogs sharing their experience with the larger community. This time we have two fully documented blog entries on setting up a GlassFish cluster from Sven and using ActiveCache (Coherence\*Web) from Markus.


Over on the "The JavaDude Weblog" Sven has a detailed step-by-step recipe for setting up a GlassFish 3.1 cluster. His approach uses VirtualBox-virtualized Ubuntu instances and combines a Web Admin Console and command-line approach using the SSH provisioning introduced in this release.

With the recent release of Coherence 3.7, Markus discusses how to install the software, package applications to use ActiveCache for GlassFish (Coherence\*Web integration), start Coherence data nodes, all in a short and sweet blog post.

The GlassFish team of course also appreciates simple yet we believe sincere VIP compliments, thanks James!

Thursday Apr 21, 2011

Coherence*Web now available for GlassFish 3.1

With the release of Coherence 3.7, Oracle's distributed in-memory data grid, Oracle GlassFish Server 3.1 is now fully functional with native Coherence\*Web integration (aka ActiveCache for GlassFish). No update to GlassFish is required.

Oracle Coherence

This feature provided as part of GlassFish Server Control (value adds for paying customers) offers virtually unlimited horizontal scaling without requiring any code change or archive processing since this integration is based on the Coherence\*Web SPI. Adam Leftik discusses this in greater details in his "Active Cache for GlassFish" screencasts: part 1, part 2.

Other enhancements to Coherence include a new Elastic Data capability, dynamic load balancing, automatic proxy discovery and F5 integration. Get your copy of Coherence 3.7 from http://www.oracle.com/goto/coherence.

Wednesday Apr 20, 2011

NetBeans 7 final is out!

The NetBeans team has just delivered NetBeans 7, a new major IDE release. Congratulations to the folks in Prague (and elsewhere)!

One of the main new features is support for the draft Java SE 7 specification and in particular the Project Coin languages changes (diamond operator, multi-catch, ARM blocks, etc) including hints to refactor existing code to take advantage of them.


The tool still offers great out-of-the-box experience and now has improved Java EE 6 support over 6.9.1. NetBeans 7.0 is now the stable NetBeans release you want to be using with GlassFish 3.1 (see new features). It also supports recent versions of Oracle WebLogic Server.

Maven 3, better Oracle DB integration, Git and enhanced PHP support are other new features in this release. Get the full list from this page.
Next stop: 7.0.1 (still early days).

Tuesday Mar 22, 2011

GlassFish 3.1 SOTD #16 - Active Cache for GlassFish, Part 2

In this 16th post of the SOTD (Screencast Of The Day) series following the release of GlassFish 3.1, here is Adam's Active Cache For GlassFish Part 2 of 2.

This is a feature that is part of Oracle GlassFish Server Control which comes bundled with Oracle GlassFish Server and available for free trial.

Following part 1, this 30-minute session offers a thorough demonstration of Active Cache for GlassFish. After a quick review of the features, Adam Leftik shows how to:
• create and configure a two-instance GlassFish cluster
• setup the application deployment descriptor to use Coherence\*Web
• configure and start a Coherence server
• configure Apache mod_jk as the load-balancer

Adam also walks you through the sample code to illustrate some Coherence APIs in addition to the API-less use of Coherence\*Web. He then deploys the application and stops/starts he GlassFish cluster to show how Coherence preserves the shared and distributed state of the application. Make sure you watch in full screen in HD resolution.

This screencast is hosted on the GlassFish YouTube Channel.

Friday Mar 18, 2011

GlassFish 3.1 Screencasts (so far)

One new thing we tried for the release of GlassFish 3.1 was to do not only blogs (see coverage), but also screencasts done mostly by the engineers themselves but also from product managers.

Screencasts are not easy to produce - they take time and the result is not always what you had hoped for (technical issues, length, scenario not well thought out) but I have to say I'm very happy with this first batch of screencasts hosted on the GlassFish YouTube Channel. Here's the list so far :


GlassFish 3.1 SOTD #1 - Product Overview
GlassFish 3.1 SOTD #2 - Upgrade cluster
GlassFish 3.1 SOTD #3 - From install to cluster in 10 minutes or so
GlassFish 3.1 SOTD #4 - Performance Tuner
GlassFish 3.1 SOTD #5 - Load-balancing with GlassFish plugin for Oracle iPlanet Web Server
GlassFish 3.1 SOTD #6 - Monitoring Scripting Client
GlassFish 3.1 SOTD #7 - Clustering Infrastructure
GlassFish 3.1 SOTD #8 - Active Cache for GlassFish (Coherence\*Web)
GlassFish 3.1 SOTD #9 - GlassFish and WebLogic JMS interoperability
GlassFish 3.1 SOTD #11 - Change Master Password
GlassFish 3.1 SOTD #12 - Oracle GlassFish Server Value-Added Features (GlassFish Server Control)
GlassFish 3.1 SOTD #13 - Developer Tools Support
GlassFish 3.1 SOTD #14 - High Availability Demo
GlassFish 3.1 SOTD #15 - Enhancements in HK2 kernel Infrastructure

You can reference all entries for these and future screencasts using this URL.

Wednesday Mar 16, 2011

GlassFish 3.1 SOTD #15 - Enhancements in HK2 kernel Infrastructure

In this fifteenth post of the SOTD (Screencast Of The Day) series following the release of GlassFish 3.1, here is Jerome's Enhancements in HK2 kernel Infrastructure.

This 7-minute presentation Jerome provides a recap of HK2 features as well as what's new in GlassFish 3.1. The main work involved accommodating WebLogic Server requirements for adopting HK2.

This will for instance enable both products to share code more easily. The main new features discussed are startup services, service trackers and listener as well as JUnit integration.

This screencast is hosted on the GlassFish YouTube Channel.

Sunday Mar 13, 2011

Clustering in GlassFish 3.1 - a fundamental article

With clustering being such an important new feature in GlassFish 3.1, it's important to get the vocabulary right and to understand the key concepts and features in the product. This is exactly what this detailed article written by the key engineers behind the implementation is set to do.


Tom, Bobby, Joe and Mahesh discuss basic clustering concepts, define what DAS, nodes, GMS, and HA are in the context of GlassFish and offer a description of the admin server and of the overall cluster architectures. The article also discusses the key role played by ssh and what it takes to install and administer such an architecture.

This is probably a good time and place to remind you that GlassFish 3.1 comes with full documentation: 20+ guides from quick-start to tuning.