Thursday Feb 28, 2013

Ashwin Rao on HTML5/NetBeans 7.3

As you may know, NetBeans 7.3 is creating quite a buzz in the community. The 122th episode of the Java Spotlight podcast features an interview with NetBeans Group Product Manager Ashwin Rao. Although he generally keeps a pretty low profile, Ashwin is one of the key folks driving NetBeans forward. He talks with Roger Brinkley about the HTML 5 landscape, the new features in NetBeans such as excellent JavaScript editing capabilities powered by the Nashorn engine on par with the Java editor, support for JavaScipt/HTML 5 frameworks like JQuery, AngularJS and backbone.js as well as enhanced browser integration.



The podcast also covers Java SE 6, Java EE 7, JavaFX and JavaOne India. You can listen to the full podcast here. If you are hungry to learn more about NetBeans 7.3 after you listen to the podcast, you can check out the list of new features and a cool video on the release.

Wednesday Feb 27, 2013

Peru is also aware of Java EE 7!

IT in Latin America is not only about Brazil and Argentina (and their rivalry on soccer). The IT industry is also strong in other countries such as Chile, Colombia, Uruguay, Venezuela, and others. So I  was in Peru on January 30th to present what's coming on Java EE 7.

 As I'm not so fluent in Spanish (yeap, Portuguese is not Spanish, sorry), I used slides in Portuguese and talked to the ITP_Java community using some sort of dialect in Brazil called "Portuñol". Attendees could learn Portuguese from the slides, and I could learn Spanish from them. It was an exciting experience for everyone! Language exchange and Java EE 7 learning!

Check my blog post for more details about the trip I did to Peru.

 If you are a Java developer and you live in Lima or in the surroundings, don't miss this Hackaton on March 16th! Jose Diaz will be talking about HTML and the Adopt a JSR program, specially the JSRs for WebSockets and JSON. 

Primer Hackaton Adopta un JSR: JSON, WebSockets y HTML5
¿Que veremos?

Usaremos Glassfish 4 y JSR 353(JSON) y 356(WSt), y HTML5 Websocket, Local Storage, web workers, forms y geolocation APIs. Y finalmente como hacer unit test de las implementaciones.

By the way, what do you think about Peru's Java mascot? Too green?

Tuesday Feb 26, 2013

JavaOne India Call for Papers

The effort to make JavaOne a truly global phenomenon moves forward! Following JavaOne Latin America last year, JavaOne India is going to be held again at the Hyderabad International Convention Centre during 8–9th May. The call for papers is now open. It will stay open until March 15th, so hurry up. As usual there are tracks for Java SE, JavaFX, Java EE, Java ME and Embedded Java.



If you wanted to talk to thousands of bright, young, energetic Indian Java developers, this is your chance - hope to see you there. Namaste, India!

Monday Feb 25, 2013

SouJava JUG meeting at Oracle Brasil

On Thursday Feb 21th, Oracle Brasil welcomed the SouJava JUG to its new Oracle Office in Sao Paulo. SouJava does several meetings across different places. Companies like Red Hat, Google, and GlobalCode already offered their offices for previous meetings. Bruno Souza was there to talk about the importance of the Adopt a JSR program and the participation of JUGs on the Java Community Process. SouJava voted Yes on the recent Public Review for JMS 2.0.

To bring attention to the launch of Java EE 7 and its new specifications, I presented "The new features of JMS 2.0" (pt_BR), basically the same content as Reza Rahman presented during JavaOne Latin America (but this time, in portuguese; until Reza doesn't become fluent). There was also a presentation from Ricardo Ferreira talking about In-memory Data Processing with Elastic Data Grids, an introduction to highly scalable architectures, with a demonstration using Coherence, GlassFish and WebLogic. His presentation was also in portuguese.

I gave Google+ a try and used Google+ Events to schedule and invite developers from everywhere and used the Hangout feature to chat and live stream the meeting. You can see the recording on YouTube. Don't forget to also visit our GlassFish community on G+!

Friday Feb 22, 2013

Java EE 7 Schema Namespace Moving to

The schema namespace for Java EE 7 APIs are moving from to now perhaps a more fitting You are encouraged to take a look at the latest Java EE 7 draft schemas at: (it is still a work in progress since as you know, Java EE 7 has not been finalized yet). Some of the updated schemas include:

  • application_7.xsd
  • application-client_7.xsd
  • connector_1_7.xsd
  • ejb-jar_3_2.xsd
  • javaee_7.xsd
  • jsp_2_3.xsd
  • javaee_web_services_1_4.xsd
  • javaee_web_services_client_1_4.xsd
  • web-app_3_1.xsd
  • web-common_3_1.xsd
  • web-fragment_3_1.xsd
  • web-facelettaglibrary_2_2.xsd
  • web-facesconfig_2_2.xsd

Independent consultant, ardent Java EE advocate and long-time JCP expert Antonio Goncalves had this to say about the change - "technically changing a namespace is not difficult, so this is not a major Java EE 7 technical update. But it's a symbol. For many years we were wondering what would happen to namespaces. Most of us thought it would be renamed to But no, it went back to where it originally belonged, to the JCP. Lately the JCP has moved towards greater transparency (i.e. and having the JCP namespaces strenghens this move."

Note, not all API namespaces will be updated right away since some APIs are not changing in Java EE 7. For example, JAX-WS will likely not be updated. All the older namespaces will continue to be maintained for backwards compatibility.

Now is the time to share your views. Here is the relevant EG discussion:

Thursday Feb 21, 2013

A Gentle Introduction to the JSF 2.2 Faces Flow

My well-respected colleague and good friend Arun Gupta continues his admirable effort to provide some very early coverage of Java EE 7 features. I thought I'd highlight his blog entry on JSF 2.2 Faces Flows written in this vein.

As many CDI adopters are aware of, Java EE 6 introduced the concept of conversation scopes. The conversation scope is a very simple, lightweight and powerful way of having greater control over application state in workflow-oriented applications (e.g. multi-step wizards). JSF 2.2 Faces Flows takes that concept to the next level by standardizing fairly well-understood workflow modeling concerns that have been been there in ADF Task Flow, Spring Web Flow and Apace MyFaces CODI. The JSF 2.2 Faces Flows are a synthesis of those ideas focused on type-safety, annotations, simplicity and fluency.

In his blog entry, Arun does a good job of explaining the basic concepts. He discusses the feature, explains the motivation, introduces the API, links to a great video demoing the feature and references further resources.

Tuesday Feb 19, 2013

Java EE 7 Maven Repository Coordinates

For those of us doing Java EE development with Maven (which by my own account as a former consultant is pretty much all Java EE/GlassFish adopters), getting our hands on the repository location for Java EE APIs is critically important. You will be pleased to know most of the Java EE 7 APIs are available via Maven already to aid in your exploration and early evaluation efforts.

The GlassFish wiki outlines the Maven coordinates for Java EE 7, Java EE concurrency, JPA 2.1, JAX-RS 2, Servlet 3.1, EL 3.0, JMS 2, JSF 2.2, CDI 1.1, Bean Validation 1.1, JBatch, JSON-P, WebSocket and others. It should be pretty straightforward to use - give me a shout if you need help setting up Maven.

Monday Feb 18, 2013

JavaOne 2012 Videos Now on YouTube

Many folks have consistently said that viewing JavaOne videos on the Content Management Tool used by Oracle is not ideal. You will be happy to know that the JavaOne San Francisco 2012 videos are now on YouTube via the Oracle Learning Portal (OLP). The videos are 100% free for anyone to view.

Besides the OLP Landing Page on YouTube, the videos are organized by the JavaOne 2012 Technical Tracks on the following links:

It's really an invaluable set of materials from some of the greatest thought leaders in the Java world. Enjoy!

Friday Feb 15, 2013

Java EE/GlassFish/Oracle@Jfokus

The Jfokus conference was held on February 4-6 at the Stockholm Waterfront Congress Centre, Sweden. The conference was a resounding success and has clearly established itself as a formidable presense in the Nordic region. It sold out 2 weeks before the official start with 1550 attendees from 20+ countries.

The Java EE and Oracle presence was very strong in the conference.

Arun Gupta and Markus Eisele delivered a lab on "Developing JAX-RS Web Applications Utilizing Server-sent Events and WebSockets". This was essentially the same lab delivered at JavaOne San Francisco and JavaOne Latin America. The end of the lab also previewed parts of an upcoming Java EE 7 lab. Arun also delivered our flagship Java EE 7 talk titled "The Java EE 7 Platform: Productivity++ and Embracing HTML 5". Arun also talked about the Java EE 7 JSRs in the Adopt-a-JSR program during a talk titled "How to participate in the future of Java".

Other notable Java EE/Oracle speakers included Geertjan Wielenga, Mike Keith, Simon Ritter, Heather VanCura, Mark Reinhold, Terrence Barr, Klara Ward, Sonya Barry, Georges Saab, Justin Lee, Marcus Lagergren, Attila Szegedi, Sharat Chander and Henrik Stahl. Stephen Chin concluded his highly successful NightHacking Nordic Tour at the conference. Dr. James Gosling was a very welcome presense.

You can read more about the conference on Arun Gupta's blog entry, including his slide decks and code. Markus Eisele also blogged about the conferce.

Tuesday Feb 12, 2013

Last Java EE 6 Tutorial Update and Second Volume Published

Many of you are familiar with the official Java EE 6 Tutorial already. It is an invaluable resource for learning Java EE and it is free!

The good folks behind the Java EE 6 tutorial recently updated it. This update (version 6.0.8) is the last releases for Java EE 6 since the team will now be focusing full time on Java EE 7. The update is available now from the Java EE SDK Update Center.

Enhancements in the Java EE 6 Tutorial documentation include:

  • New information on securing web applications.
  • Revised material on using Contexts and Dependency Injection for Java (CDI).
  • Updated database schema diagrams for the JPA example applications.
  • Minor bug fixes and improvements.

Enhancements to the Java EE 6 Tutorial example applications include:

  • New features in the customer JAX-RS example.
  • Internationalization support in the Duke's Forest and Duke's Bookstore case-study example applications.
  • Minor bug fixes and improvements.

In addition, the second volume of the Java EE 6 Tutorial book has now been published. Titled The Java EE 6 Tutorial: Advanced Topics, it is now available in the paperback, Nook and Kindle formats. This book builds on the concepts introduced in the first volume, The Java EE 6 Tutorial: Basic Concepts. It introduces JMS and Interceptors, and documents advanced features of JSF, Servlets, JAX-RS, EJB, JPA, Bean Validation, CDI, and enterprise application security. The book culminates with three new case-study applications that illustrate the use of multiple Java EE 6 APIs.

Monday Feb 11, 2013

Emmanuel Bernard on Bean Validation 1.1

The 119th episode of the Java Spotlight podcast features an interview with the Bean Validation 1.1 (JSR 349) spec lead Emmanuel Bernard from JBoss. As many of you know, Emmanuel has been a key JBoss/Java EE thought leader for a long time working on Hibernate, JPA, Hibernate Search, Hibernate Validator, Bean Validation and Hibernate OGM over the years. Emmanuel talks with Roger Brinkley about the origins/motivation for the Bean Validation API, as well as features in the current release such as CDI integration, method validation and JAX-RS integration.

The podcast also covers the Java SE security update, Java EE 7, NetBeans, JCache and JavaOne Shanghai. You can listen to the full podcast here.

Friday Feb 08, 2013

Adopt-a-JSR Follow-up Online Meeting

As you might be aware, the Adopt-a-JSR program was started by the London Java Community and SouJava to encourage more grassroots level participation in the JCP. The idea is for developers to closely engage with a JSR they are interested in through their own JUG. On January 18th there was a pretty sucessful initial online call explaining the details of the program. There were over 40 JUG leaders/members on the call from around the world.

The folks behind the Adopt-a-JSR program are now hosting a follow-up online meetup on February 27th. Anyone can join the meetup to learn about the current JUG Adopt-a-JSR use cases, new developments and provide feedback. Martijn Verberg from the LJC, Bruno Souza from SouJava, Arun Gupta from the Java EE/GlassFish team and Heather VanCura from the JCP program office will be leading the meetup.

Here are the details for the WebEx:

Topic: Adopt-a-JSR
Date: Wednesday, February 27th
Time: 9:00 AM, Pacific Standard Time (San Francisco, GMT-08:00)
WebExMeeting Number: 809 004 757
WebExMeeting Password: 23678

Here are the audio conference details:

Call: +1 (866) 682-4770 (US, toll free) or +1 (408) 774-4073 (US, local)
Conference code: 945-4597
Security code: 23678 ("adopt" on your phone handset)
* For global access numbers see

Hope to see you there!

If you happen to miss it, no worries - recordings of the meetup and associated materials will be posted on the JCP multimedia page again (check out the slide deck and recording from the January 18th meetup).

Wednesday Feb 06, 2013

A Gentle Introduction to JBatch

As Java EE 7 rolls forward, my good friend and colleague Arun Gupta has been trying to blog about some of the most exciting new features. His blog entry Undertanding JSR 352 Concepts is a great starting point into JBatch (aka "JSR 352" aka "Batch Applications for the Java Platform"). As you may be aware JBatch is an IBM led JSR that's slated to be included into the Java EE 7 platform, but not the lighter weight Web Profile.

Arun explains some key JBatch concepts like Job, Step, JobOperator, JobRepository and the Reader-Processor-Writer pattern, provides some pretty good code examples and points to further resources like the JavaOne JBatch session and the official spec artifacts.

Tuesday Feb 05, 2013

A Visualization of the GlassFish Story

As you might have noticed, we have maintained a steady cadence of pretty serious stuff once a day for the past few months. I thought we should reward ourselves a bit with something a little more lighthearted/offbeat but still pretty cool.

Sometimes a picture does say a thousand words. Key Java EE community member and GlassFish fan Markus Eisele blogged about a neat way of visualizing svn commits over time. He applied this technique to the GlassFish repository - see the results below:

It is a pretty stunning visual representation of the highly dedicted roughly 134 committers continually working on GlassFish to bring you the latest and greatest in Java EE. Enjoy!

Monday Feb 04, 2013

Java EE 7 Early Support in NetBeans

As you are aware, Java EE 7 features have been rolling into GlassFish 4 promoted builds for a few months now. Keeping up with GlassFish, the good folks in the NetBeans team are beginning to put in early access features to Java EE 7 as well. Some of the features include:

  • Registering GlassFish 4
  • Creating Java EE 7 applications
  • Wizard for JAX-RS 2 Filters/Interceptors
  • Initial support for Faces Flow
  • Loading templates from a resource library
  • Non-persistent EJB timers in the Web profile
  • Wizard for WebSocket endpoints

We encourage you to start playing around with these features and providing the NetBeans team feedback. Arun Gupta talks about the features in fairly good detail here.