Friday Nov 20, 2015

2015 Duke’s Choice Award Winners Announced

The incredible amount of innovation that uses and builds upon standard Java/EE technologies is one the most important factors that keeps our ecosystem so uniquely strong. The annual Duke's Choice Awards is a small way of recognizing and encouraging such innovation. Every year a panel of judges gives out ten of these awards at JavaOne (in the interest of full disclosure I am one of those judges). Every year Java EE makes a strong showing at the awards and this year was no exception (in fact I'll share that Java EE makes an even stronger showing in the total number of nominees). In particular the following winners are worth highlighting on this humble blog.

UN/WFP School Subsidy Card: Thousands of students in developing countries lack access to adequate food, Egypt is sadly no exception. Egypt based consulting company e-Finance developed the United Nations’ World Food Program (UN/WFP) School Subsidy Card to help combat this problem. The project was developed for Egypt’s Ministry of Education. The project is now live as a pilot that helps 20,000 families in two poor cities. The project uses Java EE 7, Java SE 8, GlassFish 4 and NetBeans. The project is led by Mohammed Taman. Mohammed is an experienced architect, consultant, Morocco JUG member, Egypt JUG leader, JCP executive committee member and expert group member for multiple JSRs. He is an ardent advocate for Java EE and has been a very active participant in the Adopt-A-JSR, Adopt-OpenJDK, and FishCAT programs. Mohammed's work was highlighted at JavaOne, including in the Java EE portion of the keynote.

OmniFaces: One of the core strengths of JSF is the ecosystem built around it, in particular popular component libraries like PrimeFaces. Though not a component library, OmniFaces is a rising star in the JSF ecosystem. It is a collection of useful utilities for JSF developers. If you were familiar with Seam Faces, OmniFaces reminds me quite a bit of it. OmniFaces is led by Arjan Tijms and Bauke Scholtz - two JSF/Java EE community heroes in their own right. Bauke is one of the foremost JSF community experts. Many in the JSF community know him as BalusC - the ever present voice online always ready to help with very knowledgeable and helpful answers to JSF questions anywhere! Similarly Arjan has long been a strong contributor to the JCP and many of his good ideas are already standardized in Java EE. You can find out more about OmniFaces here.

KumuluzEE: The ranks of fat jar solutions targeting microservices hype in the Java EE ecosystem seems to be ever expanding. There is WildFly Swarm, Payara Micro/GlassFish Embedded as well as TomEE embedded. KumuluzEE is an interesting part of this crowd as unlike the others it does not come from a traditional application server pedigree and is a very community based project that still uses Java EE APIs to create a fat jar solution. KumuluzEE is led by Slovenian Java Champion Matjaz B. Juric. Besides being a Java Champion Matjaz's impressive credentials include simultaneously being an Oracle ACE Director and IBM Champion! You can find out more about KumuluzEE here.

I'd like to take this opportunity to congratulate all of the winners, most certainly not just the ones above. You can find out about all of this year's winners here

Friday Aug 14, 2015

Submit Now to Win a Duke's Choice Award!

The incredible amount of innovation that uses and builds upon standard Java/EE technologies is one the most important factors that keeps our ecosystem so uniquely strong. The annual Duke's Choice Awards is a small way of recognizing and encouraging such innovation. Every year a panel of judges gives out ten of these awards at JavaOne. Submissions for this year is now open and you should check out the details right now.

Note that while some of the text uses the word "nomination", it simply means submitting (aka "nominating") your own project or work for consideration by the awards committee. There is no problem with doing this whatsoever and that is in fact what the submission form expects in most cases. That being said there is also no problem whatsoever in submitting on behalf of any project or work you think deserves the award even if you are not directly involved with it.

Besides some well-deserved recognition by the Java community, winners get a free JavaOne 2015 conference pass, a super cool Duke award statue and of course the winner's badge. Keep in mind the award isn't just for the framework or product developer types. In the past people using Java in innovative ways for "real world" projects, great educators and thought leaders have won too. Here are some example winners from the past few years for inspiration:

  • Apache TomEE - Innovative fully certified lightweight Java EE application server that is a drop-in replacement to Tomcat.
  • United Nations High Commissioner for Refugees/World Food Program Subsidy Card - A real world Java EE 7 application running on GlassFish that makes a real difference.
  • JCertif - Bringing Java/EE focused IT education to the African continent.
  • JEDI - Bringing Java/EE focused education to the Philippines.
  • DeltaSpike - A very useful CDI toolbox for Java EE developers.
  • Devoxx4Kids - A very cool initiative focused on teaching kid's programming facilitated by one of the largest Java developer conferences.
  • JDuchess - A program to strengthen women in Java.
  • London Java Community - The super active JUG involved in OpenJDK, JCP and Adopt-a-JSR.
  • - The world class e-Learning platform built on Java EE.
  • Arquillian - JUnit for Java EE, need I say more :-)?
  • jHome - An open source home automation platform built on Java EE and GlassFish.

You can check out all the past winners here. Do hurry up - the submission deadline is August 24. The submission form is here.

Tuesday Mar 31, 2015

Java EE @ Devoxx France

Devoxx France will take place next week in Paris. And this year, the most popular French Java conference is moving to a newer (and larger) venue: Palais des Congrés!

The overall conference agenda is impressive but Java EE is obviously well covered (see the overview below). Personally, I will co-host with Roberto Cortez a session and a Hands-on lab on the Batch API (JSR 352).  I also have another regular conference session where I will talk about Java EE 8. Last but not least, I will also participate in the Java EE BoF with Antoine Sabot-Durand, Antonio Goncalves and Emmanuel Bernard.

Finally, I will also host a (late!) BoF around one of my hobby: Home Automation and Java. Despite this, this BoF is clearly not about Java EE. The idea is to gather interested people and have informal discussions around anything related to Home Automation and Java (KNX, Z-Wave, Nest, etc.). 

Wednesday Nov 05, 2014

OTN Virtual Technology Summit

The OTN Virtual Technology Summit is a set of free online events covering various technical topics such as Java SE, Java EE but also Middleware, Database, etc.  Each topic will be presented by a subject matter expert coming either from Oracle or from the community (Java Champions, Oracle ACEs, ...). And during each session, a live chat will let participants ask questions and clarifications on the presented subject. You can check the agenda of the different tracks here.

OTN Virtual Technology Summit is a free event so make sure to register for this month OTN VTS!

  • VTS America : November 18th, 2014 – 9am to 12:30pm PST, register here.
  • VTA Asia : November 19th, 2014 – 10:00am to 1:30pm IST, register here.
  • VTS Europe : November 26th, 2014 – 9am to 12:30pm GMT, register here.

Monday Jun 09, 2014

From J2EE to Java EE: what has changed?

See original @Java_EE tweet on 29 May 2014

Yeap, it has been 8 years since the term J2EE was replaced, and still some people refer to it (mostly recruiters, luckily!). But then comes the question: what has changed besides the name? Our community friend Abhishek Gupta worked on this question and provided an excellent response titled "What's in a name? Java EE? J2EE?". But let me give you a few highlights here so you don't lose yourself with YATO (yet another tab opened):

  1. J2EE used to be an infrastructure and resources provider only, requiring developers to depend on external 3rd-party frameworks to then implement application requirements or improve productivity
  2. J2EE used to require hundreds of XML lines of codes to define just a dozen of resources like EJBs, MDBs, Servlets, and so on
  3. J2EE used to support only EAR (Enterprise Archives) with a bunch of other archives like JARs and WARs just to run a simple Web application

And so on, and so on! It was a great technology but still required a lot of work to get something up and running. Remember xDoclet? Remember Struts? The old days of pure Hibernate code? Or when Ajax became a trending topic and we were all implementing it with DWR Servlet? Still, we J2EE developers survived, and learned, and helped evolve the platform to a whole new level of DX (Developer Experience).

A new DX for J2EE suggested a new name. One that referred to the platform as the Enterprise Edition of Java, because "Java is why we're here" quoting Bill Shannon. The release of Java EE 5 included so many features that clearly showed developers the platform was going after all those DX gaps.

  • Radical simplification of the persistence model with the introduction of JPA
  • Support of Annotations following the launch of Java SE 5.0
  • Updated XML APIs with the introduction of StAX
  • Drastic simplification of the EJB component model (with annotations!)
  • Convention over Configuration and Dependency Injection

A few bullets you may say but that represented a whole new DX and a vision for upcoming versions. Clearly, the release of Java EE 5 helped drive the future of the platform by reducing the number of XMLs, Java Interfaces, simplified configurations, provided convention-over-configuration, etc! We then saw the release of Java EE 6 with even more great features like Managed Beans, CDI, Bean Validation, improved JSP and Servlets APIs, JASPIC, the posisbility to deploy plain WARs and so many other improvements it is difficult to list in one sentence. And we've gotta give Spring Framework some credit here: thanks to Rod Johnson and team, concepts like Dependency Injection fit perfectly into the Java EE Platform. Clearly, Spring used to be one of the most inspiring frameworks for the Java EE platform, and it is great to see things like Pivotal and Spring supporting JSR 352 Batch API standard! Cooperation to keep improving DX at maximum in the server-side Java landscape. 

The master piece result of these previous releases is seen and called today as Java EE 7, which by providing a newly and improved JavaServer Faces release, with new features for Web Development like WebSockets API, improved JAX-RS, and JSON-P, but also including Batch API and so many other great improvements, has increased developer productivity and brought innovation to server-side Java developers. Java EE is not just a new name (which was introduced back in May 2006!) but a new Developer Experience for server-side Java developers.

To show you where the platform is going (see the Java EE 8 update), see some totally-cool-and-refreshed informal images at the Java EE Platform Facebook Album, or the Google+ Java EE Platform Album you could use to spread the word and love for Java EE. Don't forget to like and/or +1 those social network profiles :-)

If you are a licensed vendor, perhaps you want to continue using the "Java EE Compatible" logo.

A message to all job recruiters: stop using J2EE and start using Java EE if you want to find great Java EE 5, Java EE 6, or Java EE 7 developers

To not only save you recruiter valuable characters when tweeting that job opportunity but to also match the correct term, we invite you to replace long terms like "Java/J2EE" or even worse "#Java #J2EE #JEE" or all these awkward combinations with the only acceptable hashtag: #JavaEE. And to prove that Java EE is catching among developers and even recruiters, and that J2EE is past, let me highlight here how are the jobs trends! The image below is from trends page, for the following keywords: J2EE, Java/J2EE, Java/JEE, JEE. As you can see, J2EE is indeed going away, while JEE saw some increase. Perhaps because some people are just lazy to type "Java" but at the same time they are aware that J2EE (the '2') is past. We shall forgive that for a while :-)

Another proof that J2EE is going away is by looking at its trending statistics at Google. People have been showing less and less interest in the term J2EE. See the chart below: 

Recruiter, if you still need proof that J2EE is past, that Java EE is trending, and that other job recruiters are seeking for Java EE developers, and that the developer community is aware of the new term, perhaps these other charts can show you what term you should be using. See for example the Job Trends for Java EE at and notice where it started... 2006! 8 years ago :-)

Last but not least, the Google Trends for Java EE term (including the still wrong but forgivable JavaEE term) shows us that the new term is catching up very well. J2EE is past.

Oh, and don't worry about the curves going down. We developers like to be hipsters sometimes and today only AngularJS, NodeJS, BigData are going up. Java EE and other traditional server-side technologies such as Spring, or even from other platforms such as Ruby on Rails, PHP, Grails, are pretty much consolidated and the curves... well, they are consolidated too. So If you are a Java EE developer, drop that J2EE from your résumé, and let recruiters also know that this term is past. Embrace Java EE, and enjoy a new developer experience for server-side Java developers.

Java EE on Twitter
Java EE on Google+
Java EE on Facebook

Tuesday Mar 04, 2014

Migrating from GlassFish to WebLogic: The Beauty of Java EE

WebLogic is Oracle's strategic application server for the Java EE Platform. And since Oracle decided to focus on it for commercial support, and to leave GlassFish free of any ties from commercial decisions, I decided to bring customers and users a series of blog posts about migrating Java EE apps from GlassFish to WebLogic.

GlassFish will continue to thrill as the Open Source Reference Implementation for the platform, its community, and source of innovation, like we are seeing through the Java EE 8 survey.

In this series, I will help GlassFish customers as well users to experiment, try, and evaluate Oracle WebLogic 12c (Java EE 6 certified) to deploy their mission critical applications. Continue reading through the first part, where I actually demonstrate "the Beauty of Java EE 6", by migrating a sample application without any code change.

And don't forget to follow @glassfish, @java_ee, and @oracleweblogic on Twitter! 

Thursday Feb 20, 2014

Java+EE Basic Training with Yakov Fain

Those of us that have been around Java/Java EE for a little while sometimes tend to forget that Java is still an ever expanding ecosystem with many newcomers. Fortunately, not everyone misses this perspective, including well-respected Java veteran Yakov Fain. Yakov recently started a brand new free online video tutorial series focused on Java and Java EE beginners. The very first of these excellent videos is posted below. The slides for the tutorial series are available here. Yakov is working to update the content to EE 7 and he uses GlassFish 4. If there are folks you know that would benefit from this content, please do pass on word. Even if you are an experienced developer, it sometimes helps to sit back and review the basics...

It's quite remarkable that someone of Yakov's stature took the time out to create content for absolute beginners. For those unaware, Yakov is one of the earliest Java champions and one would be very hard pressed to match his many contributions to the Java community. The tutorial demonstrates his continued passion, commitment and humility.

Sunday Jul 21, 2013

Java EE during OTN Tour 2013 in Latin America

The Oracle Technology Network Tour 2013 has already started, bringing several Oracle and non-Oracle speakers to OUGs (Oracle User Groups) to countries across Latin America. You can check the official OTN Tour 2013 page of the tour to follow up with agenda, dates, speakers and other information. Last year I participated giving talks in Uruguay and Argentina about Oracle WebLogic 12c. That time, I had recently joined Oracle and didn't know much about it. But this year though, I wanted to do more.

I proposed a few abstracts to OUGs/JUGs choose which could work best for each country, and here are the topics:

  • GlassFish in Production Environments
  • What WebLogic 12c Has To Offer to Boost Your Productivity
  • What's new in Java EE 7
  • Hands-on for Java EE 7

You can read the full story on my blog

Friday Jul 19, 2013

Java EE@Chicago JUG

On July 16th, I presented our flagship Java EE 7 talk at the Chicago JUG. Heather VanCura of the JCP helped arrange the talk.

The talk went very well - over 75 people attended by my count. More details, including the slide deck, posted on my personal blog.

Tuesday Jul 16, 2013

What's New in JMS 2 - Part 2

JMS 2 is one of the most significant parts of Java EE 7. Clearly, the principal goal of JMS 2 is to streamline and modernize the API by adopting programming paradigms like higher level abstractions, dependency injection, annotations, runtime exceptions, the builder pattern and intelligent defaults. However, a limited number of important new features were also added to JMS 2. In a recent OTN article, JMS 2 specification lead Nigel Deakin covers the new features such as shared subscriptions, delivery delays, asynchronous sends and delivery counts in detail. The article is the second of a two part series on JMS 2. For more visual folks, there is also Nigel's brief 15 minute video on JMS 2 on the YouTube GlassFish videos channel as well as is my JMS 2 slide deck below:

You can also check out the official specification yourself or try things out with the newly released Java EE 7 SDK.

Monday Jul 15, 2013

Java EE 7 Tutorial Available!

Many of you are familiar with the official Java EE Tutorial already. It is a great resource for learning Java EE and it is totally free!

The Java EE 7 version of the tutorial is now available along with the SDK/GlassFish 4. There's both a PDF version and an HTML version. In addition, the team behind the tutorials has also developed a great sample/starter application for Java EE 7 named Your First Cup: An Introduction to the Java EE Platform that should be very helpful to beginners.

A detailed blog entry talks about both the updated tutorial and starter application.

Wednesday Jul 10, 2013

An Overview of JAX-RS 2

JAX-RS 2 is one of the most significant parts of the Java EE 7 release. In a brief InfoQ article, Vikram Gupta overviews the major changes in JAX-RS 2. There's also the 20-minute JAX-RS 2 presentation by specification lead Santiago Pericas-Geertsen on the GlassFish videos YouTube channel and my own slide deck below:

You can also check out the official specification yourself or try things out with the newly released Java EE 7 SDK.

Monday Jul 08, 2013

Free Webinar on WebSocket, JSON-P, HTML 5 and Java EE 7

As developers, there's nothing better than a decent show-and-tell. OLL-Live is offering a free webinar titled Java EE 7: Using Web Sockets for Real-Time Communication on July 10 (Wednesday) at 8 AM Pacific Time. It will demonstrate writing an HTML 5 front end using a WebSocket, JSON-P, and Java EE 7 backend.

Don't miss out, check out the details and register now! I did mention it's free, right :-)?

JCache Marches Onward!

As many of you know, JCache (JSR 107) narrowly missed Java EE 7. JCache is clearly a very important and long-anticipated API as indicated in the well-participated Java EE 7 survey. I am happy to report that JCache keeps making steady progress and recently posted a public review.

The review is open until August 5th and you are encouraged to get your comments in. You can send your comments directly to or enter issues on GitHub.

At the current pace, JCache should be ready well ahead of Java EE 8 and be an excellent candidate for inclusion. You should also be able to use JCache with Java EE 7 and Java EE 6 as a drop-in jar.

Thursday Jul 04, 2013

Java EE 7 Javadocs Now Online

The official Javadocs are now available along with the recent Java EE 7 SDK release. While most of us use Javadocs for reference, some of us use Javadocs as an invaluable learning tool. I've personally certainly always found it useful to get deeper insight into any given API.

Comparing the Java EE 7 Javadocs with the ones for Java EE 6 also provides interesting perspectives into the changes such as the packages, features and APIs added.