Wednesday Jul 16, 2014

Java EE @ UberConf

UberConf was held June 24 - June 27 in Denver, Colorado. For those unaware, this is essentially the largest single annual event under the NFJS umbrella and to a certain extent the culminating point of the US based tour. Unlike the usual NFJS events that are squarely locally focused, it's intent is to be a national/international conference. Consequently it has a larger set of attendees, speakers, tracks and sessions. This year's event was very vibrant and clearly a success by all measures.

I had six talks total over three days, essentially back-to-back. I had excellent attendance for all my sessions and had many of the same folks staying for multiple sessions which is always a very good sign. I did talks on Java EE 7/Java EE 8, the Cargo Tracker Java EE Blue Prints, JMS 2, aligning Java EE 7 with the HTML 5/JavaScript Rich Client landscape, JAX-RS 2 and aligning Java EE with the NoSQL landscape. I also helped out with Arun Gupta's excellent Java EE 7 lab. More details, including slide decks and code, posted on my personal blog.

Monday Jul 14, 2014

VRaptor 4: A CDI Based MVC Framework for Java EE

As you may know one of the surprising results of the Java EE 8 survey was the desire for an action oriented MVC framework for Java EE. What many folks may not be aware is that there are actually a few action oriented web framework solutions out there that are already very aligned with Java EE. One such solution that really stands out is VRaptor.

Built on top of CDI, it has some very interesting defaults geared towards ease-of-use/productivity. It also supports key Java EE APIs such as JPA and JTA. To build a bit more awareness for the web framework, key commiter Rodrigo Turini recently wrote an excellent article on InfoQ. It is a very well-written article that serves as a good getting started guide with the innovative framework. Rodrigo will also be talking about VRaptor 4 at JavaOne 2014.

Jersey MVC has also long provided a very similar action oriented solution based on top of JAX-RS. All of these solutions could certainly be used now and serve as valuable input to any future effort to standardize an action oriented web framework in Java EE.

Monday Jun 30, 2014

Introducing the Java EE Squad!

One of the most satisfying things that I've seen personally over the years is the steady growth of the Java EE community, by and large independent of vendors. Today you have so many key folks in the community like Adam Bien, David Blevins, Antonio Goncalves, Markus Eisele, Peter Pilgrim, Arjan Tijms, David Heffelfinger, Josh Juneau, Bauke Scholtz (aka BalusC)  and Werner Keil just for starters that publicly advocate for and strongly support Java EE. This is a far cry from the largely vendor driven affair that was J2EE and frankly virtually unimaginable even in the Java EE 5 time period when I first decided to become active in the community myself as an independent. Java EE is most fortunate that many of these folks contribute directly back to the standard through JCP expert groups.

To this list of prominent names I am very happy to add another - Rudy De Busscher and his newly formed Java EE Squad. Don't let the name fool you - as Rudy explains in the blog entry linked, the squad isn't about contention or an antagonism to anything in particular. In fact that would be against the true spirit of Java EE that is open, inclusive, pluralistic and supportive of an ecosystem that may take any form it wishes while advancing the goals of choice, vendor-neutrality, stability, ease-of-use and compatibility though an open community standard.

The goal of the squad is most benign and community friendly - to educate through presentations, courses, articles and blogs from a small group of contributors. Perhaps it makes sense for you to even explore joining the group and adding to the growing voice of the Java EE community?

As the group marches forward we will highlight them here just as we highlight the many other parts of the community.

Wednesday Jun 18, 2014

JavaOne Java EE Track Content Finalized (A Detailed Preview)

I am very pleased to share with you that the JavaOne Java EE track content is now finalized. In this brief but detail-rich entry on my personal blog, I want to take this opportunity to tell you a little bit about the track, key content and star speakers this year. The collective passion and dedication of all the folks that submitted helped us construct a very strong offering for the community at large. JavaOne is a key part of the global Java community far beyond the walls of Oracle and all of you are a large part of keeping it successful.

I hope to see you all at JavaOne. In the next coming weeks and months we will be sharing more details on the Java EE track, content and speakers at JavaOne. Lastly having been on the other side of the fence I know as much as you might come to JavaOne, it might not be a practical reality for you for a variety of good reasons. I want to remind you that we make a point to make JavaOne content openly available to all. That being said I want to tell you that you should make the pilgrimage to JavaOne at least once as a Java developer.

Friday Jun 13, 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 free online video tutorial series focused on Java and Java EE for absolute beginners. The first few parts of the series focused on Java SE but now Yakov is beginning to cover the very basics of Java EE. In a recent video he covered:

  • The basics of the JCP, JSRs and Java EE
  • How to get started with GlassFish 4
  • The basics of Servlets
  • Developing Java EE/Servlets using Eclipse and GlassFish

The excellent video is posted below. The slides for the tutorial series generally are available here. 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.

Wednesday Jun 11, 2014

Why JSF Matters (to You)

      "Those who have knowledge, don’t predict. Those who predict, don’t have knowledge."

                                                                                                   – Lao Tzu

You may have noticed Thoughtworks recently crowned the likes of AngularJS, etc imminent successors to server-side web frameworks. They apparently also deemed it necessary to single out JSF for righteous scorn. I have to say as I was reading the analysis I couldn't help but remember they also promptly jumped on the Ruby, Rails, Clojure, etc bandwagon a good few years ago seemingly similarly crowning these dynamic languages imminent successors to Java. I remember thinking then as I do now whether the folks at Thoughtworks are really that much smarter than me or if they are simply more prone to the Hipster buzz of the day. I'll let you make the final call on that one. I also noticed mention of "J2EE" in the context of JSF and had to wonder how up-to-date or knowledgeable the person writing the analysis actually was given that the term was basically retired almost a decade ago. There's one thing that I am absolutely sure about though - as a long time pretty happy user of JSF, I had no choice but to speak up on what I believe JSF offers. If you feel the same way, I would encourage you to support the team behind JSF whose hard work you may have benefited from over the years.

True to his outspoken character PrimeFaces lead Cagatay Civici certainly did not mince words making the case for the JSF ecosystem - his excellent write-up is well worth a read. He specifically pointed out the practical problems in going whole hog with bare metal JavaScript, CSS, HTML for many development teams. I'll admit I had to smile when I read his closing sentence as well as the rather cheerful comments to the post from actual current JSF/PrimeFaces users that are apparently supposed to be on a gloomy death march. In a similar vein, OmniFaces developer Arjan Tijms did a great job pointing out the fact that despite the extremely competitive server-side Java Web UI space, JSF seems to manage to always consistently come out in either the number one or number two spot over many years and many data sources - do give his well-written message in the JAX-RS user forum a careful read. I don't think it's really reasonable to expect this to be the case for so many years if JSF was not at least a capable if not outstanding technology. If fact if you've ever wondered, Oracle itself is one of the largest JSF users on the planet. As Oracle's Shay Shmeltzer explains in a recent JSF Central interview, many of Oracle's strategic products such as ADF, ADF Mobile and Fusion Applications itself are built on JSF. There are well over 3,000 active developers working on these codebases. I don't think anyone can think of a more compelling reason to make sure that a technology is as effective as possible for practical development under real world conditions.

Standing on the shoulders of the above giants, I feel like I can be pretty brief in making my own case for JSF:

  • JSF is a powerful abstraction that brings the original Smalltalk MVC pattern to web development. This means cutting down boilerplate code to the bare minimum such that you really can think of just writing your view markup and then simply wire up some properties and event handlers on a POJO. The best way to see what this really means is to compare JSF code for a pretty small case to other approaches. You should then multiply the additional work for the typical enterprise project to try to understand what the productivity trade-offs are. This is reason alone for me to personally never take any other approach seriously as my primary web UI solution unless it can match the sheer productivity of JSF.
  • Thanks to JSF's focus on components from the ground-up JSF has an extremely strong ecosystem that includes projects like PrimeFaces, RichFaces, OmniFaces, ICEFaces and of course ADF Faces/Mobile. These component libraries taken together constitute perhaps the largest widget set ever developed and optimized for a single web UI technology. To begin to grasp what this really means, just briefly browse the excellent PrimeFaces showcase and think about the fact that you can readily use the widgets on that showcase by just using some simple markup and knowing near to nothing about AJAX, JavaScript or CSS.
  • JSF has the fair and legitimate advantage of being an open vendor neutral standard. This means that no single company, individual or insular clique controls JSF - openness, transparency, accountability, plurality, collaboration and inclusiveness is virtually guaranteed by the standards process itself. You have the option to choose between compatible implementations, escape any form of lock-in or even create your own compatible implementation! Open standards like JSF also tend to have strong out-of-the-box tools/IDE support.

As you might gather from the quote at the top of the post, I am not a fan of crystal ball gazing and certainly don't want to engage in it myself. Who knows? However far-fetched it may seem maybe AngularJS is the only future we all have after all. If that is the case, so be it. Unlike what you might have been told, Java EE is about choice at heart and it can certainly work extremely well as a back-end for AngularJS. Likewise, you are also most certainly not limited to just JSF for working with Java EE - you have a rich set of choices like Struts 2, Vaadin, Errai, VRaptor 4, Wicket or perhaps even the new action-oriented web framework being considered for Java EE 8 based on the work in Jersey MVC...

Please note that any views expressed here are my own only and certainly does not reflect the position of Oracle as a company.

Thursday May 29, 2014

GlassFish/Java EE Community Open Forum Tomorrow!

Still have lingering questions on the goals and future of GlassFish? Want to know a little more about the upcoming GlassFish 4.0.1 release? Something on your mind about Java EE 8/GlassFish 5? You have a golden opportunity to pose your questions and speak your mind tomorrow!

The good folks over at C2B2 have gone through a lot of time and effort to organize a very useful online event for the London GlassFish User Group - they are having me answer all your questions online, in real time, "face-to-face". Steve Millidge of C2B2 will be moderating the questions and joining the conversation. Did I mention the event was online, free and open to anyone?

The event is tomorrow (May 30th), so make sure to register as soon as possible through the C2B2 website (the registration page has more details on the event). It will be held at 4:30 PM BST / 11:30 AM EST / 8:30 AM PST - you must register to participate. Hope to talk to you tomorrow?

Tuesday May 27, 2014

Java EE/GlassFish Adoption Story by Kerry Wilson/Vanderbilt University

Kerry Wilson is a Software Engineer at the Vanderbilt University Medical Center. He served in a consultant role to design a lightweight systems integration solution for the next generation Foundations Recovery Network using GlassFish, Java EE 6, JPA, @Scheduled EJBs, CDI, JAX-RS and JSF. He shared his story at the JavaOne 2013 Sunday GlassFish community event - check out the video below:

Kerry outlined some of the details of the implementation and emphasized the fact that Java EE can be a great solution for applications that are considered small/lightweight. He mentioned the productivity gains through the modern Java EE programming model centered on annotations, POJOs and zero-configuration - comparing it with competing frameworks that aim towards similar productivity for lightweight applications. Kerry also stressed the quality of the excellent NetBeans integration with GlassFish and the need for community self-support in free, non-commercial open source projects like GlassFish. You can check out the details of his story on the GlassFish stories blog.

Do you have a Java EE/GlassFish adoption story to share? Let us know and we will highlight it for the community.

Friday Apr 25, 2014

The JavaOne Java EE Track: Thanks, a Sneak Peek and an Invitation

As you know the JavaOne CFP is now closed. I want to take this opportunity to thank all of those that submitted their thoughtful topics and all those who considered submitting. We had the highest number of JavaOne CFP submissions in the recent few years. This is a testament to your passion for the Java community and it is a great start on the road to keeping JavaOne a true success.

In terms of the Java EE track we now have all the raw material we need to construct a strong selection. In the next few weeks we will be working hard with the review committee to carefully sort through all the submissions we have at hand. You should begin to hear back as to decisions on your submissions around early Summer.

I want to remind you now not to be discouraged if you don't get the response you are hoping for. You should remember that you are competing against some of the best and brightest of Java at a global scale - especially so in the Java EE track. As much as we would like for things to be perfect in the end all of this is also based on all too fallible human judgement applied through a fairly intricate process designed with checks, balances and fairness in mind. If your session does not get accepted this year, you should definitely consider honing your submissions and trying again next year. If you are indeed selected I hope you see it as the testament to your abilities and good fortune it truly is. Either way, I hope you will consider coming to JavaOne to experience the incredible talent, energy and intellect in the air.

Invited Speakers/A Sneak Peek
One of the things we are doing differently for JavaOne this year is that we have a small number of well-deserved invited speakers. Besides helping us put together some early content this is a great way to give credit to some of the folks in the community. The following are the folks we have the honor to invite to the Java EE track this year with a bit of a sneak peak about what they will be talking about (as some of you know we have also invited a small number of folks personally to submit via the normal CFP process in addition to these super stars):

Adam Bien needs little introduction. He has been a key Java EE advocate, author, JCP expert and Java Champion for a long time. His passion for Java EE, knowledge as a consultant and skill as a presenter have few parallels. Adam will be talking about just how lightweight Java EE application design can be and other topics.

David Blevins also needs few introductions. He is an excellent speaker, a long-time JCP expert, Java EE advocate and powerhouse developer behind the highly innovative Apache OpenEJB and TomEE projects. David just recently founded Tomitribe, a company offering commercial support for TomEE. David will be talking about exactly why Java EE is a game changer developers should be enthusiastic about and other topics.

Patrycja Wegrzynowicz is the founder and CTO of her own company, a strong technical mind, a JavaOne veteran and a regular speaker at many conferences worldwide. Just some of her interests include patterns/anti-patterns, security, persistence and performance tuning. Patrycja will be sharing her insight on performance tuning techniques for complex JPA 2.1 domain models and other topics. We anticipate her talk would be interesting and valuable to many of you.

Arun Gupta is the former "GlassFish Guy", prolific Java EE advocate, author and blogger. He now enjoys a well-deserved and coveted role as the head of developer advocacy at Red Hat. A great deal of the current success of the Java EE and GlassFish communities can be attributed to Arun's tireless hard work, boundless energy and infectious enthusiasm. We are very honored to have Arun talk about some lessons learned from real world Java EE 7 deployments and other topics.

Anatole Tresch is a key engineer at Credit Suisse and one of the few brave souls with enough initiative to lead JCP JSRs despite not working for a major technology vendor. We are very proud to invite Anatole to talk about the Java EE configuration effort that he is currently helping launch. He definitely deserves the support of the Java EE community and has much to offer in terms of insight on Java EE and the JCP. We look forward to seeing him at JavaOne.

Keep in mind that JavaOne is now already open for registration. There are definitely some advantages to registering early. JavaOne Content Chair Stephen Chin outlines the reasons in an excellent recent blog post.

I hope to see you all at JavaOne. In the meanwhile as always if you have any questions never hesitate to reach out.

Thursday Apr 24, 2014

Reminder : Virtual Developer Days - Java 2014

The first occurrence of the Java Virtual Developer Day for 2014 will take place in less than 2 weeks! So if you plan to attend, it is time to register!
Not only you will have a chance to learn about the latest evolutions in the Java space, i.e. Java EE 7, Java SE 8 and Java Embedded. You will also have the opportunity to interact and ask questions to various experts.  And the best part is that VDD are free to attend so do not miss this opportunity!

To cope with the different Time Zones, the VDD will be run 3 times :
  • May 6th : 9:00 a.m. - 1:00 p.m. PDT / 12:00 p.m. - 4:00 p.m. EDT / 1:00 p.m. – 5:00 p.m. BRT
  • May 14th : 9:00 AM  - 1:00 PM BST/  10:00 AM  - 2:00 PM CEST / 12:00 Noon - 4:00 PM GST /  12:00 Noon - 4:00 PM MSK 
  • May 21st : 8:30 AM - 12:30 PM IST  / 11:00 AM  - 2:30 PM SGT / 1:00 PM  - 4:30 PM AEDT 
The complete agenda and the registration details can be found here.

Monday Apr 14, 2014

David Heffelfinger's Java EE/GlassFish Adoption Story

David Heffelfinger is the Chief Technology Officer of Ensode Technology and an ardent US based Java EE/GlassFish advocate. He has authored no less than four titles on Java EE/GlassFish. David shared a Java EE/GlassFish adoption story at the JavaOne 2013 Sunday GlassFish community event - check out the video below:

He detailed how he convinced a long time customer to upgrade their application servers and use Java EE/GlassFish with PrimeFaces by hacking together a quick demo. Using the combination of Java EE 6, GlassFish, PrimeFaces and NetBeans allowed him to lead a relatively inexperienced team in delivering the first version of the application in just three weeks. David also mentioned that using GlassFish as a learning tool helps keep his skills sharp and in-demand as GlassFish adopts the newest Java EE APIs faster than the other options. You can check out the details of his story on the GlassFish stories blog.

Do you have a Java EE 6/GlassFish story to share? Let us know and we will highlight it for the community.

Thursday Apr 03, 2014

Last Call to Submit to the JavaOne Java EE Track

This is a first and last reminder from us to all of the folks out there that the JavaOne CFP closes on April 15 - just about two weeks from now.

The procrastinator in you might be thinking two weeks is plenty of time. In reality if you haven't started working on your submissions yet, you are probably setting yourself up for some stress that will likely result in a weak submission. This is especially true if like most of us you will need to collaborate with others or get your boss's approval for your submission. Putting things in perspective the CFP has already been open for about a month so other folks already have a hefty head start to maximize their chances of getting accepted.

We have already had some very decent submissions on the Java EE track that has enabled us to get some early acceptances out and gear up the review process as I write this. That being said, we want to make sure everyone in the community has a fair chance to help us build a strong Java EE track agenda by submitting their best ideas. As always, never hesitate to get in touch if you have a question.

Here are some hopefully helpful hints to help you out:

What We Are Looking For
Consider the following as inspiration for submissions to the Java EE track (the only real limits of course are your own imagination on anything in the Java EE ecosystem):

  • Existing and upcoming Java EE technology JSRs and implementations
  • Cool stuff that extends Java EE in new and interesting ways
  • Case studies using Java EE 5, Java EE 6 or Java EE 7 (including migration from other technologies)
  • Best practices for using Java EE technologies
  • Emerging trends in the ecosystem such as mobile, HTML5, caching, complex event processing, modularity and the like
  • Insightful research, development and analysis work in server-side Java

The Cloud Track vs. The Java EE Track
Note that topics like IaaS, PaaS, SaaS, elasticity, multitenancy, NoSQL, Big Data, DevOps and the like should go on the cloud track instead of the Java EE track. Do make an honest effort in applying your judgement on which track to submit on. Either way, it's not a deal breaker if you don't get it exactly right - we will figure it out for you if all else fails. Similarly, please try not to submit talks that really belong in another track such as tools or dynamic languages to the Java EE track. Believe it or not, the Java EE track is actually far more competitive than many of the other tracks. Similarly, if something clearly belongs in the Java EE track, you'll be doing yourself a disfavor by not submitting to the track as the other track leads won't necessarily move your submission correctly.

The Video to Include With Your Submission
Some people are getting caught by surprise that this year we are requiring a video with the submission, so this may bear some explaining. One of the fundamental purposes of the video is to level the playing field for unkown but great speakers. It allows us to assess your submission a lot better by helping neutralize bias towards people that the reviewers are aware of personally. It need not be anything elaborate at all - just a simple explanation of what you are submitting. For experienced speakers, the video requirement is no big deal at all - just submit the video for any talk you have (or ideally video for the talk you are proposing).

Mark Stephens of IDR Solutions recently put out a great blog entry on the JavaOne submission video requirement. The entry is well worth a look.

Don't Count on an Extension
Fortunately or unfortunately some previous JavaOne CFPs have been extended beyond their initial date. Please do yourself a favor and don't assume this will happen again. You may be winding up denying yourself a shot at submitting your great talk altogether :-).

Finally, here is that all important link to the CFP. Hope to see and accept your great topic soon :-)?

Friday Mar 21, 2014

Code PaLOUsa 2014 Trip Report

Code PaLOUsa 2014 took place 24-26 February in Louisville, Kentucky. Code PaLOUsa is a fairly unassuming conference with great quality farther away from the beaten paths. Topics covered included Java, .NET, JavaScript, mobile, methodology and Big Data/NoSQL. On my way to Kentucky, I was able to stop by at the Montgomery County (Maryland) JUG for a Java EE 7 session.

At Code PaLOUsa I delivered a talk on aligning Java EE with NoSQL as well as a talk on the Cargo Tracker Java EE/Domain-Driven Design Blue Prints project (this talk was recorded by InfoQ). More details, including slide decks and code, posted on my personal blog.

Monday Mar 10, 2014

Java EE 8 Survey Last Call!

As many of you are aware, we have been running the Java EE 8 survey as a way to solidly kick start the next round of standardization for the platform. We would now like to wrap up the survey and move on to the next logical steps. To that end, we will be closing the third and final part of the survey in the next two weeks (specifically on Monday the 24th, midnight Pacific time). If you still have not filled out the survey, please do now: glassfish.org/survey.

While part one and two focused on specific features, this last part is all about assigning priorities to the most important features. In some ways, this is the most important part of the survey so we highly encourage you to help us by providing input as early as possible and help correctly shape the future of Java EE. If possible, please also help us out by getting the word out.

We look forward to hearing from you! 

Wednesday Mar 05, 2014

JavaOne CFP is Open - Your Invitation to Submit to the Java EE Track

It's that special time of the year again - the JavaOne 2014 call for papers is now officially open!

JavaOne will be held September 28 - October 2 in San Francisco. You can read about the details and submit here (at the time of writing the site was intermittently available so do be patient or let us know if you have any issues). This year, I have the privilege to lead the Java EE track along with Lance Andersen (Lance also leads the closely related Cloud track). My colleagues Bruno Borges and David Delabassee will also be playing key roles in the Java EE track.

Please do consider this a personal invitation from me to submit your best ideas to one of the most prestigious gatherings of the minds for server-side Java. If you have any questions, never hesitate to get in touch.

Consider the following as inspiration for submissions to the Java EE track (the only real limits of course are your own imagination on anything in the Java EE ecosystem):

  • Existing and upcoming Java EE technology JSRs and implementations
  • Cool stuff that extends Java EE in new and interesting ways
  • Case studies using Java EE 5, Java EE 6 or Java EE 7 (including migration from other technologies)
  • Best practices for using Java EE technologies
  • Emerging trends in the ecosystem such as mobile, HTML5, caching, complex event processing, modularity and the like
  • Insightful research, development and analysis work in server-side Java

Note that topics like IaaS, PaaS, SaaS, elasticity, multitenancy, NoSQL, Big Data, DevOps and the like should go on the cloud track instead of the Java EE track. Do make an honest effort in applying your judgement on which track to submit on. Either way, it's not a deal breaker if you don't get it exactly right - we will figure it out for you if all else fails :-).

The CFP is closed April 15, so please do start thinking about what you want to submit soon. We will be using rolling acceptance, so there is an inherent advantage to submitting early. That being said do take your time - quality always matters!