Skip to main content the Week in Review - May 22, 2010

Posted by editor on May 22, 2010 at 11:19 AM PDT

JavaEE and Glassfish were in the spotlight on in the past week. If you didn't get a chance to visit on a daily basis in the past week, read on, and you'll find all of the week's Java Today news items, a selection of blog posts, and the old and new spotlights and polls.

This week's index:

JavaEE, GlassFish

Eduardo Pelegri-Llopart looked ahead Towards GlassFish 3.1 - Best Thing since Sliced Bread:

A lot of progress on GlassFish Server Open Source Edition 3.1.  If everything goes according to plan,
by the end of the year we will have a release that has all the benefits of 3.0 and of 2.1.1.  From 3.0 it remains modular, embeddable and with JavaEE 6 and OSGi support.  From 2.1 it adds clustering and HA. It will continue to be Open Source and will interoperate with key Oracle middleware components...

Eduardo was also Introducing the Oracle GlassFish Server Control:

I had missed the new name for the old Sun GlassFish Enterprise Manager - it is now called the Oracle GlassFish Server Control, and we have just published its Data Sheet.  Also in the official Oracle documentation you can find the Data Sheet for Oracle GlassFish Server, as well as the System Requirements and the FAQ...

Alexis Moussine-Pouchkine announced GlassFish and add-ons now available for download from Oracle eDelivery:

As part of the move to the "Oracle way of doing things", GlassFish and its add-ons (the GlassFish Enterprise Manager, now rebranded as GlassFish Server Control) are now available from Oracle's onestop download site Once you've logged in, follow this link (or click on the image) to get to the list of Sun downloads...

Eduardo Pelegri-Llopart highlighted the new SailFin CAFE Series at DZone:

Binod has started a series at DZone on
SailFin CAFE: * Fundamentals, Part I: CommunicationBeans and Agents *Fundamentals, Part II: Communications and UserProcedures, w/ example. SIP
is heating up but the programming of (SIP+HTTP) Converged Applications
remains too complicated...

On Artima Developer, Bill Venners talked about Seven Lessons on Scalability from Reddit:

At a talk at the Future of Web Apps this year, Steve Huffman, co-founder of, summarized seven lessons learned while building and growing the social link and discussion site. The video is here...

Arun Gupta presented TOTD #136: Default Error Page using Servlets 3.0 - Improved productivity using Java EE 6:

Servlets 2.x allowed to create a mapping between an HTTP error code or an exception type to the path of a resource in the Web application. This is achieved by specifying an "error-page" element in the "web.xml". The element definition looks like...

Arun also provided TOTD #137: Asynchronous EJB, a light-weight JMS solution - Feature-rich Java EE 6:

One of the new features introduced in Enterprise Java Beans 3.1 (JSR 318) is asynchronous invocation of a business method. This allows the control to return to the client before the container dispatches the instance to a bean. The asynchronous operations can return a "Future" that allow the client to retrieve a result value, check for exceptions, or attempt to cancel any in-progress invocations...

This week's Spotlight is Eduardo Pelegri Llopart's announcement of GlassFish 3.1 M1 - The First Milestone:

It is just the first milestone but GlassFish Server Open Source Edition M1 already has
significant functionality, including Basic Clustering (creation/deleting/start-stop), infrastructure for Dynamic Reconfiguration, and Application Versioning. Application Versioning merits a special mention because it is a contribution from a new group from Serli...

This week's poll asks What's the most important enhancement in GlassFish Server Open Source Edition M1?

Binod posted SailFin CAFE Fundamentals Part II: Communications and UserProcedures (with an example):

Here is the second part of the CAFE fundamentals blog series. This time, I am explaining two important interfaces called Communication and UserProcedure with an example. If this is the first time you are hearing about SailFin CAFE, I recommend reading the CAFE fundamentals article and the blog on writing your first CAFE application. The core of this discussion is an example which shows...

Masoud Kalali announced that his Java EE Security Refcard is now available for download at no cost:

Java EE Security refcard is available for download. This refcard covers Java EE 6 security and discuss how each application server supports the specs. The refcard covers authentication, authorization, and transport security in Web Application, EJB application and web services by introducing the concept and the related annotations and deployment descriptors which help us realize the concept.

Juliano Viana presented Applicaction configuration in Java EE 6 using CDI - a simple example:

CDI (Contexts and Dependency Injection for the Java EE platform) is defined in JSR-299 and enhances support for dependency injection in Java EE 6. The more I use CDI the more I like it...However, I couldn't find a simple example of how to configure your application with CDI by reading configuration attributes from a file. Here is an example of how it can be done: Specifying injection points...

Masoud Kalali provided GlassFish Security book FAQ 1: Custom Security Realm in GlassFish:

I decided to write down the answer for some questions which my book's readers email me or ask me via twitter in my weblog so everyone can benefit from the answers. Here is the answer to the first question which involves custom security realms. GlassFish supports 5 types of security realms out of the box which are sd follow: File Realm: Usefull for development and testing purposes. GlassFish...

Masoud also posted Introducing NIO.2 (JSR 203) Part 1: What are new features?

I will write a series of blog introducing what are new features for handling I/O in Java 7. In the first part we are just going to check what do we have in Java 7 for dealing with I/O requirements which were not included in the previous versions of Java platform standard edition.

Tools, IDEs, etc.

James Lorenzen described How to create a release without the maven2 release plugin:

One of the most referenced articles I have written is "How to create a release using the maven release plugin". But what if you can't get the maven release plugin to work with your project? Perhaps like our team, you've got a legacy maven2 multi-module project that's been nigh impossible to use with the release plugin. Our project has a mix of WAR modules combined with some Flex modules. I believe our last issue was some googlecode flex mojo wasn't working with the release plugin. Consequently, for the past year or so, we've been manually creating our releases. This actually hasn't been that much of a pain since we really only do it once a sprint at the end. Combined with my favorite perl script it doesn't really take that long...

Geertjan Wielenga explained What I Don't "Get" About Eclipse Advocates...:

Read this article by Ian Skerrett on Eclipse Zone and then read this blog entry by Chris Aniszczyk. Both Chris and Ian are prominent members of the Eclipse community. Their "take" on the new possibilities of NetBeans Platform applications to include OSGi bundles and even to run natively as OSGi bundles is interesting. Rather than saying: "Hey, awesome, great to hear!", both the responses seem to be along the lines of: "Welcome out of the stone age and, yes, we've been right all along!" Not exactly a warm embrace...

Geertjan also discovered Warehouse Management Framework on the NetBeans Platform:

Time for another YANPA. And this time it's.... myWMS by LinogistiX. myWMS is an open source project and modular framework for the creation of Warehouse Management Systems. In addition to the framework, a ready-to-use application is provided. The application includes a rich-client based on the NetBeans Platform, as well as a web application for mobile devices. It is designed to handle manually operated warehouses, as well as barcode scanners and mobile devices to reduce paper-driven workflows, enabling efficiency throughout the process...

Michael Remijan provided instruction on JavaLobby on Automating Releases With maven-release-plugin:

The maven-release-plugin is used to automate a lot of the manual steps involved in releasing new versions of your software. The automation prevents mistakes which ultimately occur using a manual process. The amount of work the plug-in does is impressive – it will perform these basic operations. 1. Verify all files in your project are committed to CVS...

Ed Burns pointed us to fleXive: CMS built on JavaEE and JSF

In this short entry, I'd like to bring to your attention a nifty CMS engine built on top of JavaEE: flexive.


On Developerworks, Ted Neward provided 5 things you didn't know about ... java.util.concurrent, Part 1:

Writing multithreaded code that both performs well and protects applications against corruption is just plain hard — which is why we have java.util.concurrent. Ted Neward shows you how concurrent Collections classes like CopyOnWriteArrayList, BlockingQueue, and ConcurrentMap retrofit standard Collections classes for your concurrency programming needs...

Tor Norbye investigated LCD Subpixel Rendering:

While I'm on the topic of pixels -- here's another tip. This one is both Mac OSX and NetBeans (well, Swing) specific. Subpixel rendering, an antialiasing technique, makes text look much sharper (wikipedia article).
Subpixel rendering was added to Java 6, so the NetBeans source editor looks great on Windows and Linux provided you are running Java 6. Antialiasing was never an issue on Macs, where the JDK used its own native graphics renderer which had subpixel rendering all along - until now!! ...

Cay Horstmann discussed XML Processing with Scala:

Recently, I faced a couple of unpleasant XML translation tasks and found the Scala XML library to be a pleasant and powerful alternative to (groan) XSLT or (ugh) the JavaSE XML library. If you ever need to write a program that tweaks a bunch of XML files, give Scala a try!

Cay then followed up with Transforming an XML Tree with Scala Partial Functions:

In my last blog, I outlined how I found the Scala XML library a pleasant solution for unpleasant XML format conversion jobs. In those jobs, I had to completely transform the document from one grammar to another. It's a bit trickier to make tweaks to an existing tree because Scala XML trees are immutable. This blog shows how Scala partial functions offer an elegant solution.

Osvaldo Pinali Doederlein provided JavaFX's Game of Life:

There is an unwritten tradition that Hector Conway's Game of Life must be implemented in every programming language and every GUI toolkit. Well, OK I just invented this tradition, but it's a smart introduction and Life is one of the easiest games / cool animations you can program. But it's not too simple that we can't learn a few important things about JavaFX...


Robert Lougher provided a JamVM and OpenJDK - Progess Update:

Porting JamVM to use the OpenJDK/IcedTea class-library has been on my TODO list for quite a while. It appears on my FOSDEM slides for 2008 and again in 2009. It doesn't this year, as I didn't do a talk. Maybe that's why I've finally got round to doing it. I told Twisti I'd get "Hello World" running in 3 months. I've missed by just over a week, mainly because I only started 2 months ago...

In the Aquarium, Alexis Moussine-Pouchkine reported on JCP activity - JSR 267 Early Draft Review now available:

Ed Burns, the spec lead for JSF 2.0, is back from Europe with Pomodoro envy and is announcing the Early Draft Review of JSR 276, JSF Component Metadata. Ed describes in this blog entry what the intended audience is for JSR 267 (mainly design-time folks). JSF 2.0 was pretty much a reboot that brought great new features (facelets, ajax, optional faces-config.xml, composite components ...) with support from runtimes (GlassFish v3 of course, early builds of JBoss but also the recent WebLogic release) as well as from IDEs...

Ed Burns presented Design Time Metadata for JSF Components Completes Early Draft Review:

JSR-276 is targeted at IDE vendors and the JSF component library vendors who depend on them for exposing their components to developers. The idea of JSR-276 is to let JSF component library vendors provide a far richer set of descriptive data about their components so that JSR-276 compliant tools can expose that data to the use...

Mobile, JavaME

Shai Almog talked about Animated Gifs Everywhere:

Its not that LWUIT doesn't support animated GIF's as much as the underlying implementation doesn't support them. MIDP doesn't provide any API's to extract the frames of the animated GIF's and get any indication of when to repaint them.
The solution would seem to parse animated GIF's ourselves and paint them ourselves, this isn't trivial since the animated GIF compression and painting logic is rather complex. However, Ugo Chirico seems to have done just that quite a while back! ...

Fabrizio Giudici announced blueBill Mobile 0.9.0 published on the market:

A few hours ago I've completed the first cycle for blueBill Mobile and got to have v0.9.0 published to the Android market. 0.9.0 means that the application isn't fully tested and indeed in the next days I'll be still experimenting a bit to see how the automatic update of applications in the market works.In any case, you can install it on your Android gear by entering the URL market://details?id=...

Conferences, JUG Meetings

Last week's Spotlight was Justin Kestelyn's coverage of the Bay Area JUG Roundup 2010 - A Good Time for All:

The first Bay Area JUG Roundup (#roundup10) convened at Oracle HQ on Wednesday evening, in the palatial surroundings of the Oracle Conference Center. (Yes, there will be more!) A couple hundred people were there, I'd say. More came out of this meetup than a bunch of new contacts and some mild indigestion (or even a mild hangover): - We (meaning, Oracle) announced the opening of the eight annual Duke's Choice Awards...

Last week's poll asked: What does the "J" in "JUGs" stand for? A total of 261 votes were cast. I guess I shouldn't have been surprised, but the results were:

  • 61% (160 votes) - Java, of course!
  • 16% (43 votes) - Java, historically, but JVM would be more appropriate today
  • 14% (37 votes) - Who cares?
  • 6% (15 votes) - I don't know
  • 2% (6 votes) - Other

Brian Goetz announced that Registration is open for the 2010 JVM Language Summit:

We've just opened registration for the 3rd annual JVM Language Summit, to be held at Oracle's facility in Santa Clara CA on July 26-28. See for details.

Jean-Francois Bonbhel announced that JCertif 2010 is coming:

Once again, we will offer free courses and workshops for Sun Java Certification.


The innovation legacy of Sun Labs was explained in the videotaped interview Hotbed: Inside Sun Labs, Episode 6:

Oracle VP of R&D Craig Stephen and Sun Labs Director of Operations Roger Meike explain the innovation legacy of Sun Labs, its role at Oracle, and how the technology transfer process works.

Kirill Grouchnikov continued his series with Design, uninterrupted #27

Today’s post highlights the design of With an attractive choice of soothing sky blue background, the design features an intricate array of overlaying translucent shaped layers (seen throughout the rest of the site such as the “About us” page). Clean typography, subtle text effects, white space for improved scanning and readability and a clever illustration for the “cookie cutter” message are just a few indicators of how much attention was spent on the design...

Markus Karg posted Web 3.0: Enter the matrix:

Last week I gave a brief explanation of Web 3.0 and The Semantic Web to students at the college I attended more than ten years back. Possibly you are interested in the way Terminator and The Matrix will become real, then you should read on.

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham

O'Reilly Media
Twitter: @kevin_farnham