java.net: the Week in Review - June 12, 2010
A broad mix of topics were highlighted on java.net in this past week, with programming techniques, the Java language, and conferences/JUGs receiving the most attention in Java Today news items and blog posts. If you didn't get a chance to visit java.net 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 java.net blog posts, and the old and new java.net spotlights and polls.
This week's index:
- JavaEE, GlassFish (4 items)
- Tools, IDEs, etc. (3 items)
- Programming (7 items)
- Platforms, Frameworks (4 items)
- JVM, JDK, JSRs (5 items)
- Open Source Projects (3 items)
- Software Design (1 item)
- Conferences, JUG Meetings (5 items)
- Miscellaneous (1 item)
Alexis Moussine-Pouchkine said "Happy Birthday!" in Remember June 2005? GlassFish turns 5!
When it comes to application servers, 5 years is both a loooong time and probably also still the beginning of the story. In June 2005, I wasn't yet part of the GlassFish team but I knew a number of people in the group and had been using Sun's application servers for the longest time. I had become excited again about Sun's plans when the decision to make the RI production quality was taken (Sun App Server 7 days). Interestingly enough, the first one ever to blog about GlassFish was JBoss' Marc Fleury...
Eduardo Pelegri-Llopart announced a chance for you to Get As to your Qs - GlassFish Community Update on Tuesday:
This Tuesday, June 8th, 9am PT (TZ converter), we will host another GlassFish Community Update.
We will use GlassFish TV at uStream,
like our previous update -
you just need to point your browser to the channel (additional show info). uStream (still?) uses a Flash client
- the App Store says there is an iPad client but reviews suggest it might not work on this channel...
Eduardo also analyzed GlassFish Under Oracle - Mailing Lists Trends:
We regularly track adoption using a number of metrics and report back, so... how are things going under Oracle? First a caveat that these are early days in our integration and a number of infrastructure issues (location of web pages, underlying services) are in transition. This is most apparent in downloads but downloads also impacts other indicators. I don't expect things to settle down until late in the year, but I wanted to report on the current status...
Juliano Viana discovered that ThreadLocal + Thread Pool = bad idea (or: dealing with an apparent Glassfish memory leak):
One of the not-so-great things about developing Java web applications is the fact that, after a few redeployments, sooner or later the web container JVM needs to be restarted due to Out Of Memory errors. This has been true in every combination of development environment and web server I have used so far, and until last week Netbeans 6.8 + Glassfish 3.0.1 was no exception. The cause of Out Of...
Tools, IDEs, etc.
Geerjan Wielenga noted that REST Integration is a Piece of Cake on the NetBeans Platform:
Integration of REST resources into NetBeans Platform applications is trivial in 6.9—there's a new wizard in NetBeans IDE that lets you select a REST resource in the IDE... Once selected above, lots of code is generated for making the connection to your REST resource, together with a client stub for further development in your application. I didn't need to do much work to integrate the Yahoo news service into a small application, as can be seen below...
On DZone, Geertjan provided 10 Tips for Porting to the NetBeans Platform:
I'm aware of several groups of developers who have recently started porting Swing applications to the NetBeans Platform. In the aftermath of the JSR-296 meltdown, that trend is likely to become even more prominent. That, in fact, may be the biggest win of the JSR-296 project—it helped developers take the next step in their projects, which they otherwise might not have done. I.e., developers abandoned the JFrame, swapping it for the JSR-296 SingleFrameApplication class. Since it was so easy to get started with JSR-296 (I refuse to call it "Swing Application Framework", simply because the name arrogantly and mistakenly implies that there is no other Swing application framework), especially with the help of the tools in NetBeans IDE, many developers did so, quickly bringing their applications to fruition...
The Hudson community said Welcome to Hudson Labs!
Hello again! It's been a long time since I've written for the Hudson community, but now I'm back and ready to tackle some of the latest developments in the Hudson community...
Brian Goetz wrote about Exception transparency in Java:
One of the features being considered under Project Lambda is exception transparency. While this feature is not specifically required for adding lambda expressions to the Java language, it increases the expressive power of generic libraries that use closures...
On DeveloperWorks, Neal Ford published Evolutionary architecture and emergent design: Using DSLs:
Idiomatic patterns can be either technical or domain. Technical patterns represent solutions to common technical software problems, such as how you handle validations, security, and transactional data within your application (or suite of applications). Previous installments have focused on harvesting technical idiomatic patterns using techniques such as metaprogramming. Domain patterns concern how you abstract common business problems. Whereas technical patterns appear in virtually all kinds of software, your domain patterns differ as much as one business differs from another. However, a rich set of techniques exists for harvesting them, which is the subject of this and the next few installments of this series...
Michael Huttermann provided an Agile ALM -update-:
"Agile ALM" is in Early Access now, finally: http://manning.com/huettermann. At the moment, chapters 1 to 4 or available in early access, the first one for free. The timeline...
Collin Fagan continued his series with StringTemplate Part 3: Complex Data Types and Renderers:
In Part 1 and Part 2 we dealt with simple data types who's string representation is well known. Complex data types may not have a string representation that meets the needs of a particular template. // Example 1: Some objects don't have a useful toString() Object objectParamater = new Object(); StringTemplate template = new StringTemplate("Hello $param$ !"); template....
John Ferguson Smart said Don't Just be a Java Developer - Become a Java Master Craftsman:
Become a Master Craftsman in the art of Java Development. You know the language - learn to master the tools and techniques. The Java Power Tools Bootcamp is a comprehensive and practical tour of open source tools and development best practices for Java. During this very practical 5-day workshop, you will learn how you can use these tools and techniques to set up a world-class Java development...
Srikanth Shenoy investigated Using Bean Validation in JavaFX UI:
Bean validation is a nice API for for validating Java objects and is included in Java EE 6. But it can also be used anywhere, with or without JPA, in a stand alone Java SE and even Java FX. Think out of the box and start using Bean Validation with JavaFX today...
Adhir Metha posted his first java.net blog, Transferring large binary data with web services:
Prerequisites 1) Basic understanding about web service; 2) Knowledge of base 64 encoding; 3) Knowledge of MTOM Refer resource section for information on these topics. Introduction. Web service has been evolved from simple request-response mechanism to object oriented style support...
Kirill Grouchnikov wrote about Repaint timelines in Trident 1.3:
Trident aims to be a general-purpose animation library for Java applications. However, most of the time people talk and refer to animations in the context of pixels on the screen, be it for transitions between different states, rollover effects, smooth scrolling of large content and what not. Trident comes with built-in support for Java based UI toolkits. The three UI specific requirements are addressed by the core Trident library...
Larry Hoffman presented Tips for Developing on the JavaFX TV Platform:
The nature of the television platform affects the way you design effective user interfaces to run on it. This article describes some of the ways in which the television platform differs from the desktop platform and provides tips and guidelines for designing effective television applications. The article also provides some guidelines for moving applications written for the desktop platform to the television platform...
Mikhail Gorshenev talked about Simple CSS Styling in JavaFX 1.3:
A few posts ago I showed how to create a simple control skin from scratch. But what if you just want to tweak the default look of controls in your TV application? This is very easily done with CSS styling. In fact, all controls in JavaFX 1.3 are styled using CSS. The default skin of JavaFX controls in 1.3 is called Caspian. You can inspect the caspian.css file to find out how the default look for TV is defined. You can find this file inside of lib/tv/javafxrt-cdc.jar in Java FX SDK. The ice cream order application in the previous post uses the default caspian skin...
Mitchell Pronschinske wrote about the
New Patent Around Race Condition Fixing:
Today, Replay Solutions announced its success in obtaining a US patent around their software's ability to reproduce and fix race conditions. Race conditions are a big problem for developers working on multi-threaded applications. Voke Inc. analyst firm founder Theresa Lanowitz says that the software gaming industry and embedded systems vendors have addressed race conditions, but now enterprise developers have a growing need to address them as well...
JVM, JDK, JSRs
JDK 7: The JDK 7 build 96 is available. Build 96 corresponds to Milestone 8. It contains rebranding changes, build fixes, and updates HotSpot to version 19 build 02. You can check out the list of changes for details, and get the source code. Project Lambda: Maurizio Cimadamore has pushed a prototype into the Project Lambda forest and announced it on the Project Lambda mailing list. The prototype
supports the syntax described in the strawman proposal...
Last week's java.net poll asked How closely are you following the progress of Project Lambda (closures)? There were 182 votes, and two comments were posted. Here are the results:
- 2% (4 votes) - I participate in Project Lambda development
- 6% (11 votes) - I subscribe to the Project Lambda mailing list
- 23% (42 votes) - I follow the major Project Lambda news
- 25% (46 votes) - I'm waiting for the design to be finalized
- 35% (63 votes) - What's Project Lambda?
- 9% (16 votes) - Other
Lyndsey Clevesy posted a video interview, What Java can Learn from .NET - An Interview with Jonathan Bruce:
In this section of DZone's interview with Jonathan Bruce, he explains what the .NET community could learn from Java persistence, and vice versa. Bruce also compares data access in Visual Studio 2010 to the data access of Java IDEs (NetBeans, Eclipse, IDEA). The evolution of .NET languages and Java is discussed as well...
Gary Benson announced that the current Shark build passes TCK:
An IcedTea build of OpenJDK using Shark passed the Java SE 6 TCK today. Fedora 12, x86_64, LLVM 2.6, icedtea6-7674917fa451. Dr Fun is here!
Joe Darcy posted Project Coin: Inducing contributory heap pollution -
US patent law defines various kinds of patent infringement, as do other jurisdictions. (I am not a lawyer! This is not legal advice! Check your local listings! Don't kill kittens! Example being used for analogy purposes only! ) One can infringe on a patent directly, say, by making, using, selling, offering to sell, or importing a patented widget without a suitable license. A computer scientist looking to infringe might (erroneously) believe the conditions for infringement can be circumvented by applying the familiar technique of adding a level of indirection. For example, one indirection would be selling 90% percent of the patented widget, leaving the end-user to complete the final 10% and thereby infringe. Such contributory infringement is also verboten. Likewise, providing step-by-step instructions on how to infringe the patent is outlawed as inducing infringement. Putting both techniques together, inducing contributory infringement is also disallowed...
Open Source Projects
On Shai's Java & LWUIT Blog, Chen Fishbein posted Pimp the VirtualKeyboard
LWUIT 1.4 is just around the corner, before the release I wanted to share
Some of the VirtualKeyboard enhancements/improvements that will be released as part of 1.4. Since the VirtualKeyboard is a pure LWUIT component it can be customized in various ways: 1. Changing the Virtual Keyboard look – All Virtual Keyboard items can be customized from the resource editor...
The java.net Java Communications Community posted SIP Communicator Goodies:
During the past months the SIP Communicator project has added a number of exciting and very useful features! SIP Communicator’s latest builds now come with greatly improved video calls. Video capture and rendering are now handled entirely natively on Windows, Linux, and Mac. The project has also completely revamped its user interface, added a better call history, missed call notifications, DTMF over RTP, automatic reconnection for all protocols, and many many others, that you simply MUST try so make sure you download our latest version...
Greg Brown posted Announcing Apache Pivot 1.5:
Announcing the release of Apache Pivot version 1.5.
This week's new Do you participate in open source software (OSS) development? The poll will be open for the next week.
Kirill Grouchnikov continued his series on web site design with Design, uninterrupted #38:
Today’s post highlights the design of JordAndChan.com. Set in light brown and beige color scheme, the design overlays a number of watercolor ink stains (some of the fixed) on top of the noise background texture. The main section uses a simple two column layout, one for Jord and another for Chan. Each entry in the main section has a carefully arranged header with custom typography for the title, date, comment count and one-line summary sentence set in desaturated steel blue color. The footer continues the two column layout, embedding a Flickr gallery, category list and...
Conferences, JUG Meetings
Fabrizio Giudici announced My Jazoon 2010 slides at Slideshare:
Roger Kitain announced JSF 2 / HTML 5 Jazoon 2010 Slides Posted:
My slides for "Exploring HTML5 With JavaServer Faces 2.0" slides are available at Slideshare.
I wrote about Blogger Passes for JavaOne and Oracle Develop:
The JavaOne and Oracle Develop Registration page includes some basic information about blogger passes. Unlike recent years, blogger passes to JavaOne will not be availble through java.net. Instead...
I also posted The Java Bus Departs on Monday - Catch It if You Can!
The "Java Road Trip: Code to Coast" is something we haven't seen before. A "Java Bus" will be traveling to 20 cities across the United States...
Java developers, architects, programmers, and enthusiasts: get ready for a real adrenaline rush. Check back here often to follow the Java Road Trip: Code to Coast tour as we journey to 20 cities across the United States showcasing Oracle's commitment to everything Java. Heading up the tour are key Java technologists from Oracle, who will be demonstrating the latest Java software, engaging with Java User Group (JUG) members, and meeting with enterprise developers and consumers...
Dustin Marx pointed out five Blog Posts I Wish I Had Written:
I started this blog in October 2007 and have written hundreds of posts with a few that I'm particularly proud of and/or that have been particularly well received. Besides my own blog posts, I read many blog posts each week (particularly if highlighted on JavaWorld, Java.net, or DZone). Over the many years I have been reading software development blogs, I have read many useful and informative blogs and written a few that I like to think fit in the same category. However, five blog posts stick out in my memory as so effective that I wish I had written them; I briefly reference and describe those five here and explain the reasons I wish I had written them...
Subscriptions and Archives: You can subscribe to this blog using the java.net Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the java.net blogs feed. You can find historical archives of what has appeared the front page of java.net in the java.net home page archive.