Griffon in NetBeans IDE 7.1

Griffon development can now be done in NetBeans IDE 7.1.
Plugin: http://plugins.netbeans.org/plugin/18664/griffon
Sources: http://java.net/projects/nbgriffonsupport
POJOMapping in Jersey for type-safe clients
Over on his blog, Jason Lee has a detailed post on the new POJOMapping feature in Jersey/GlassFish which offers strongly-typed client API's and illustrates this with a GlassFish Cluster administration sample.
POJOMapping Client/Server Example">
The post shows how to enable POJOMapping with a Jersey servlet initialization parameter and goes on to show the Cluster domain model. An archive with the entire sample is available there.
Tab Sweep - Remote GlassFish on EC2, JavaEE 6 intro, Java 7 readiness, WADL, losing JCP voting rights, ...
Note: if you're reading this using a feedreader, please make sure you've updated to the updated TheAquarium feed.
Recent Tips and News on Java, Java EE 6, GlassFish & more :
• Asadmin with Remote GlassFish (on EC2) (Bobby)
• Easy OAuth using DaliCore and GlassFish (Joeri)
• Introduction to Java Enterprise Edition 6 (JTV Technology Blog)
• Container based authentication with JSPWiki, GlassFish and OpenDJ (Dave)
• Exception "java.lang.IllegalArgumentException: object is not an instance of declaring class" And Solution (Adam)
• JCP's Evolution into Openness Continues: Lost Voting Rights and JSR 355 (java.net)
• Server side action methods on JSF ValueChange events using AJAX listeners (Lincoln)
• Gentle introduction to WADL (in Java) (Tomasz)
• Is your project ready for Java 7? (Dmitry)
• XMPP/Vorpal Screencast: Are you there? (Chuk)
Video: SpringOne 2GX - Polyglot Persistence for Java Developers
One of the top rated sessions from SpringOne 2GX 2011 was Chris Richardson's talk about Polyglot Persistence for Java Developers - Moving out of the Relational Comfort Zone. In this talk, Chris provides a great overview of the new non-relational storage options available to Java developers, including Cassandra, Redis and MongoDB. He then talks about the practical matters of when and how to incorporate them into your applications. If you haven't already been experimenting with noSQL datastores then this presentation provides the perfect introduction for you.
Many thanks to InfoQ for coming to Chicago to record so many of the fantastic SpringOne 2GX presentations.
Video: SpringOne 2GX - Spring and Platform Interoperability
In another session from SpringOne 2GX 2011 SpringSource engineer Stephen Bohlen examines Spring and Platform Interoperability. Stephen analyzes different approaches to Java and .NET interoperability, discusses how Spring can help and then provides a detailed sample application that expresses some of the best practices. Stephen's work on the Spring.NET project gives him the perfect perspective on how to address these sorts of problems.
Many thanks to InfoQ for coming to Chicago to record so many of the fantastic SpringOne 2GX presentations.
GlassFish 3.1.2 Release Candidate builds are here!
GlassFish 3.1.2 has never been so close to a GA/FCS release with promoted build b19 now available as Release Candidate (RC) 1. In fact you might as well go straight to RC2 (build 20), also now available from the promoted builds page.
If you're not sure which archive to use, try this one. Another RC build (RC3) is planned in the next few days. Hopefully it'll be the last one before the product ships.
So make sure you test your applications work properly with the latest promoted build and check out recent blog posts on 3.1.2 if you're wondering what to expect from this release. See you in a short while for a stable public release!
Now you know what to do over the week-end! :)
Cumulogic, yet another PaaS platform for GlassFish
Cumulogic is another PaaS provider offering Java as a platform and specifically GlassFish 3.1.1 as of their December 2011 release.
CumuLogic PaaS has a dual public and private cloud strategy and support for Amazon EC2, OpenStack, Citrix-CloudStack, Eucalyptus, and VMware vSphere. It also offers RESTful APIs to manage the application lifecycle, and PaaS administration APIs to manage and monitor the platform.
For more details, you can read their data sheet, one where you'll learn that James Gosling is one of the company's advisors.
Java EE 6 samples delivered to your door step
Arun has a blog reminding folks about the Java EE 6 samples that ship with the SDK.
The list of code samples is pretty long and a good complement to the Java EE 6 Tutorial.
Note you can also access these samples from any GlassFish install (not just from the SDK) by adding the missing repository using :
% <install-dir>/bin/pkg set-authority -O http://pkg.sun.com/javaeesdk/6/release/ JavaEE6SDK
% <install-dir>/bin/pkg list -a | grep samples
javaee-samples-build (JavaEE6SDK) 1.0-4 known ----
javaee-samples-full (JavaEE6SDK) 1.0-4 known ----
javaee-samples-web (JavaEE6SDK) 1.0-4 known ----
Quick note - possible short outage on java.net
As we constantly improve the java.net infrastructure you might experience some downtime on Wed, Feb 1, 2012 @ 6-8pm PT. Hopefully, this one should only really be a short one.
Another look at GlassFish clustering and performance
With this new "Glassfish – Vertical clustering with multiple domains" blog by Alexandru, there seems to be no shortage of GlassFish configuration posts.
Surely, that must say something about the popularity of GlassFish for highly-available apps.
While it uses mod_jk like most others, this one is multi-domain, uses JMS topics and spends some time looking at different JVM settings and their impact on response time and GC activity.
Angry Birds Chrome now uses the Web Audio API
Last week Angry Birds for Chrome was updated to use the Web Audio API for all its in-game audio for Chrome users, which means Chrome users get the full Angry Birds experience, without any plugins. The Web Audio API supports a wide variety of use cases, including the high fidelity and low latency requirements of games. Users of other supported browsers will still get sound via Flash or HTML5 audio.

How does this cross-browser audio magic work? As you may have seen or heard, Angry Birds was in no small part made possible by the cross-platform open source PlayN library. When building for the HTML platform, PlayN in turn relies heavily on Google Web Toolkit (GWT) to delivery a highly optimized web experience for users, and on gwt-voices to easily deliver a cross-browser audio experience.
The responsibility of choosing the appropriate audio API for the game's sound is (mostly) left up to gwt-voices, which chooses the audio API that will give the best experience. If you'd like to hear how other audio APIs perform, you can ask gwt-voices to try to use the Web Audio API, Flash, HTML5 Audio, or even native audio. Your mileage will vary by browser and platform and which plugins you have installed. Also, gwt-voices will select the best available fallback, if the desired audio API is not going to work at all in your environment.
Want to learn more? Check out the Web Audio API tutorial and don't let those pigs grunt too much.
Transactional interceptors - request for feedback
The Java EE 7 expert group has been defining transactional interceptors and there are a few issues it came across for which your developer feedback would be useful.
Bill Shannon has described the issues of :
• how to handle exceptions that are thrown out of a
transactional method and
• how the new JTA transactional interceptor should interact with EJBs.
... and offers possible solutions.
If you care about these, please take a little bit of time to read through the above descriptions before you provide feedback. The best place for feedback would be the mailing list (subscription required first) but we'll also consider comments posted to this entry.
This Week in Spring, January 31, 2012
Welcome back to another installment of This Week in Spring. Seems like we were just staring down the holiday season a minute ago, doesn't it? Here we are a month on into the new year, already. Time sure does fly. We've got lots of exciting new content, and a lot of it is either videos or full texts that you can read, be sure to skim through this roundup and then find yourself a nice cozy chair to absorb the rest of it and enjoy!
- Spring.NET Social 1.0.0 Has Been Released! Hot on the heels of Spring Social 1.0 (for Java)'s release late last year, Spring.NET Social 1.0.0 has been released with the foundation API as well as API implementations for Dropbox, LinkedIn and Twitter.
- Speaking of Spring Social, Craig Walls' SpringOne2GX talk, The Rise of OAuth, is now available on InfoQ.com. The talk introduces the nuanced world of OAuth, and then introduces how Spring Social and Spring Security can make interoperating with, and providing, OAuth-based services easier.
- Michael Hunger, Spring Data Neo4J contributor and Neo4J ninja, has put together a very good guide on the Spring Data projects called Good Relationships. Good Relationships is available as a free download from our friends at InfoQ. Michael, besides being a prolific coder (I'm still not convinced the man sleeps...), is a very good writer. He contributed the amazing content (not to mention the addon itself!) regarding the Spring Roo Neo4J addon to the book that co-author Steve Mayzak and I wrote about Spring Roo for O'Reilly last year (which is also available as a free download!. Thanks, O'Reilly, and Michael!). I recommend this book - Michael's a NoSQL ninja, and an inspirational voice in the community. Incidentally, this is a fine time to revisit Michael's SpringOne2GX 2011 talk, Introduction to Spring Data Neo4j, also on InfoQ!
- Roy Clarkson and Josh Long's (that's me!) SpringOne2GX 2011 talk, Mobile Web Development with HTML 5 is also on InfoQ. This talk introduces mobile application development techniques using HTML5.
- Frequent blogger Alex Soto has a blog on Thymeleaf, the powerful templating library that works marvelously with Spring MVC. Alex introduces Thymeleaf, and a simple Spring MVC and HTML5 Maven archetype, which you can use to bootstrap your own Spring MVC project.
- In large teams with many modules, it is helpful to decouple implementations of services from their interface contracts. Dependency injection, and Spring in particular, make this trivial. Tobias Flohre outlines a structure for building loosely coupled business components with a minimal of fuss. Tobias employs Spring's Java configuration support to achieve the loose coupling of contracts and implementations - extricating the knowledge about which implementation is being used to the configuration.
- In his blog, Brian Du Preez talks about his latest project and how he got it to work with Spring 3.0, Spring Web Services 2.0 and Spring Security LDAP. Nice job, Brian! Thanks for sharing the details on this - it'll benefit numerous others who are no doubt doing the same sort of thing in their own environments.
- This blog demonstrates how to configure a connection pool in Spring that connects to the in-memory database, H2.
- Geraint Jones has a nice blog introducing how to setup RESTful services using Spring MVC.
- Jeff Zapotoczny details his first steps with Spring Batch and Spring Batch Admin. Jeff felt that Spring Batch was a bit heavy-handed at first (it's easy to get that impression on first blush - it has so many features!) but on consulting with his team members he realized that Spring Batch, and Spring Batch Admin, were just right. I'll be looking for more of Jeff's journey, and in the meantime, if you've got a batch problem to solve, why don't you take your first steps with Spring Batch?
- The TechArtifact blog has a complete Spring MVC example that uses Maven.
- Lucas Jellema, on the AMIS blog has two interesting Tomcat blogs. The first one details how to setup Tomcat 7 as a server in Netbeans. The second details how to run CometD examples on Tomcat, also using Maven and NetBeans. Nice job, Lucas!
Managing BTI Networks on the NetBeans Platform
Let's drop by BTI Systems, with a development team split between Belfast and Ottawa, with a NetBeans Platform application that’s about two years old now. The application is a GUI front end for BTI's proNX Server Manager product, which is part of the proNX Management Suite. It provides a modular and scalable management solution for BTI networks and integrates seamlessly into any operating environment, providing maximum flexibility and ease-of-use.
Below is a screenshot which shows a small network of BTI equipment under management. You can see the discovered devices, how they are grouped, alarms, and in the center an Ethernet Service. All of this is data mined from the hardware over SNMP by the server component of the product. The client then displays the network, and draws the topology of the services without the user needing to layout the elements manually. The Ethernet Service in this screenshot is having some performance metrics being gathered on it, as you can see in the bottom right.
Quite a range of NetBeans Platform features are used here, including the visual library to draw optical and ethernet services, and all the core libraries to show an up to date network state and allow management functions to be performed against discovered equipment.
Java EE getting social with DaliCore
DaliCore is a new project announced by Johan Vos on java.net to offer users and social networks on top of Java EE.
It is the open-sourcing of LodgON's technology developed for the past few years and used in a number of social websites.
You can think of this as twitter, Facebook, or social network-enabling your applications using Content, User, Group, and Authorization APIs. DaliCore is a logical extension to the the Java Enterprise specification (specifically to Java EE 6).
As with any Java.net project, you can start playing with the source code, engage on mailing lists, file bugs, but also get further details in this short presentation.
Good luck to Johan and team on this project!

