Wednesday Jul 09, 2014

NFJS Central Ohio Software Symposium Trip Report

As some of you may be aware, I recently joined the well-respected US based No Fluff Just Stuff (NFJS) Tour. If you work in the US and still don't know what the No Fluff Just Stuff (NFJS) Tour is, you are doing yourself a very serious disfavor. NFJS is by far the cheapest and most effective way to stay up to date through some world class speakers and talks. Following the US cultural tradition of old-fashioned roadshows, NFJS is basically a set program of speakers and topics offered at major US cities year round. Via NFJS you get to have amazing training without paying for an expensive venue, lodging or travel. The events are usually on the weekends so you don't need to even skip work if you want.

My first engagement with NFJS was the New York Software Symposium on April 4-5. The show went relatively well and I have the trip report here. My second engagement was extremely encouraging - the Central Ohio Software Symposium in Columbus, Ohio on June 6-8. Unlike New York, the Columbus show was fully sold out and very vibrant. I had five talks total over two days, essentially back-to-back. I had a full house for all my sessions and had many of the same folks staying for multiple sessions which is always a very good sign. The close knit nature of NFJS also allows for excellent networking opportunities with Java EE users and occasional Oracle customers. My first talk was our flagship Java EE 7/8 talk. Currently the talk is basically about Java EE 7 but I'm slowly evolving the talk to transform it into a Java EE 8 talk as we move forward. The following is the slide deck for the talk:

The next talk I delivered was my Cargo Tracker/Java EE + DDD talk. This talk basically overviews DDD and describes how DDD maps to Java EE using code examples/demos from the Cargo Tracker Java EE Blue Prints project.

My third and last one for the first day was the talk on JMS 2. Besides covering JMS 2, I've also started to roll in some of the possibilities for JMS 2.1. The slides for the talk are posted below:

My first talk for day two of the show was my JavaScript+Java EE 7 talk. This talk is basically about aligning EE 7 with the emerging JavaScript ecosystem (specifically AngularJS). The slide deck for the talk is here:

The demo application code is posted on GitHub. The code should be a helpful resource if this development model is something that interests you. Do let me know if you need help with it but the instructions should be fairly self-explanatory.

I finished off the show with a talk on JAX-RS 2. Besides JAX-RS 2, I also talked about the possibilities for JAX-RS 2.1. The slides for the talk are posted below:

After the Columbus show I also spoke at UberConf, the largest yearly "destination" event under the NFJS umbrella held in Denver, Colorado on June 24 - 27. That show went even better than Columbus and I'll write a separate trip report on that soon.

My next NFJS show is the NFJS Lone Star Software Symposium in Austin on July 18-20. Here's my tour schedule so far, I'll keep you up-to-date as the tour goes forward:

I hope you'll take this opportunity to get some updates on Java EE as well as the other awesome content on the tour?

Tuesday Jul 01, 2014

Java Day Tokyo Trip Report

Java Day Tokyo 2014 was held on May 22nd. Organized by Oracle Japan, it is the largest Java developer event in the country. Indeed it is really a replacement to JavaOne Japan. This was another highly successful year for the event with a fully sold out venue packed with youthful, energetic developers. Speakers included Steve Chin, Stuart Marks, Simon Ritter, Nandini Ramani, Cameron Purdy and Yoshio Terada. Topics included Java SE, Java EE and JavaFX.

Cameron Purdy, Vice President of Development at Oracle responsible for Java EE, shared the Java EE 8 road-map during the opening keynote. You can download video of the keynote here.

Following the keynote, I reviewed Java EE 7 and went into more details on Java EE 8 possibilities during my session titled "JavaEE.Next(): Java EE 7, 8, and Beyond". The sizable room was completely packed for the session. At the beginning of the session, I asked the audience whether they wanted to hear more about Java EE 7 or more about Java EE 8. To my pleasant surprise, the audience indicated that they knew about Java EE 7 and wanted to know more about Java EE 8. I talked about possibilities such as HTTP 2/Servlet 4, Server-Sent Events (SSE), a new standard action-oriented web framework, security simplification, multitenancy, REST management/monitoring, CDI 2, platform-wide CDI alignment, more pruning, JCache, configuration, and Java SE 8 alignment. The slides for the talk are here:

I also presented my talk aligning Java EE 7 with the HTML 5/JavaScript Rich Client landscape. I use AngularJS for my demo but the concepts can apply to any JavaScript (or even native mobile) front-end. This session was a full house with standing room only. The slide deck for the talk is posted below:

The demo code is posted on GitHub: Do give me a shout if you need help getting the demo up and running but it should be very straightforward.

Besides my sessions, there were a good number of other Java EE related sessions including from Japanese Java EE evangelist Yoshio Terada (naturally he delivered his talks in Japanese). One of the most interesting of these was a talk titled "Move from J2EE to Java EE" by Hirofumi Iwasaki of Rakuten. For those who don't know what Rakuten is, it is one of the largest e-commerce platforms in the world (by volume) based in Japan. Hirofumi-san made the case for transitioning to Java EE from J2EE and avoiding non-standard frameworks. He blogged about his talk here. His slide deck is embedded below:

He is doing a similar talk at JavaOne 2014 titled "Java EE 6 Adoption in One of the World’s Largest Online Financial Systems".

At the end of the day, we had an "Ask the Experts" panel. I was on the panel along with Steve, Stuart, Simon and David. There was some lively discussion around Java EE, GlassFish and WebLogic that the audience seemed to really appreciate. I too enjoyed the panel.

Fortunately, the trip to Japan wasn't all work and no fun. I was largely expecting to just check out the vibrant Tokyo nightlife, but it turned out I had more free time than I was expecting. As a result, I got to do a whirlwind tour of sights like the Imperial Palace, Senso-ji/Asakusa, Meiji Shrine, Tokyo Skytree, Kabuki-za (I got to check out Kabuki - the legendary Japanese traditional opera), Shinjuku, the insane Tokyo Metro, the dazzling Shibuya Crossing, Tokyo Central Railway Station and a few others. Perhaps next time I'll aim for more of the nightlife such as the Robot Restaurant, Sumo wresting and Japanese heavy metal (yes, there is such a thing). All in all, Japan was a mystifying mix of centuries old traditions and ultramodern fixtures. Just check out the pictures I took below, you'll see what I mean:

I also got to do something I was really looking forward to - check out the Mount Fuji area (some of those pictures are in the album too). Unfortunately, the official climbing season is July though August, denying me the opportunity to ascend one of the most iconic mountains on the planet. Technically I could have attempted it renting the proper gear but it would have probably been a little foolhardy considering I would have been alone and I am not in the kind of shape I once used to be in. Oh well - I guess it's good to have some things to do later in life, perhaps with my wife Nicole once we are at a stage where we can seriously think about doing this sort of thing again (and hopefully can still afford it :-)).

I definitely enjoyed Java Day Tokyo and hope to be part of the event next year again!

Thursday Feb 13, 2014

CodeMash 2014 Trip Report

CodeMash 2014 took place 7-10 January in Sandusky, Ohio at the exotic Kalahari Waterpark Resort. This was my first time at the conference. With another sold-out year, CodeMash is quickly becoming one of the largest developer conferences state-side. It has it's roots in .NET, but is making a concerted effort to better attract a Java audience hence it was important for us to support that effort. This year it attracted a decent section of the Java crowd including my fellow Oracle colleagues Jim Weaver (JavaFX) and Scott Seighman (Scott is the leader of the Cleveland JUG and spoke on Java SE 8) as well as Chris Judd (leader of the fairly active Columbus JUG). Topics covered included .NET, Rails, methodology, JavaScript/HTML 5, mobile, cloud, DevOps, Hadoop, NoSQL, Java SE, JavaFX and Java EE (of course :-)).

On my way back, I stopped by at the nascent Happy Valley JUG in State College, PA - kicking off a highly successful and well-attended first meetup!

My session on Java EE at CodeMash titled "JavaEE.Next(): Java EE 7, 8, and Beyond" was very well attended. I covered the changes in JMS 2, the Java API for WebSocket (JSR 356), the Java API for JSON Processing (JSON-P), JAX-RS 2, JPA 2.1, JTA 1.2, JSF 2.2, Java Batch, Bean Validation 1.1, Java EE Concurrency and the rest of the APIs in Java EE 7. I also briefly talked about some of the possibilities for Java EE 8. The slides for the talk are here:

To my delight, the CodeMash was interested in my NoSQL+Java EE talk (titled "Using NoSQL with ~JPA, EclipseLink and Java EE"). The talk covers an interesting gap that there is surprisingly little material on out there. The talk has three parts -- a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA centric facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. This talk was also pretty well attended and the Q & A was excellent. The slides for the talk are here:

The visit to the Happy Valley JUG was really great. Although it's geared towards the general State College area, the JUG is a bit Penn State University centric at the moment since both key JUG organizers Shawn Smith and Steve Moyer work for Penn State and the meetings are held on campus (incidentally, both Shawn and Steve are Java EE fans :-)). It was really a great privilege to lead the very first meeting of the JUG. I ran the Java EE 7 Hands-on Lab as a whole day workshop. I think this might be the first JUG in the world who's inaugural meeting was so well attended with everyone doing head's down hacking the whole day (just check out the awesome picture below - go Nittany Lions :-)).

While in Ohio, I did something that has been on my bucket list for a long time - visiting the Rock and Roll Hall of Fame in Cleveland. Most people don't realize this, but Cleveland is actually the birthplace of Rock and Roll and Ohio has been home to many legendary rockers like Nine Inch Nails, Marilyn Manson, Chimaira and Warrant. If you are in the area, I would say it's a fascinating sight definitely worth a visit, even if you aren't into Rock (check out the photo album below).

All in all, this was a very good trip. I am looking forward to going on another trip covering a US based conference (Code PaLOUsa in Kentucky) coupled with a JUG visit (the Maryland JUG) in a few weeks!

Friday Dec 20, 2013

Oredev 2013 Trip Report

Oredev 2013 was held on 4-8 November in Malmo Sweden. This was my second time at the largest IT conference in the Scania region - I had been there in 2010 as an independent. The conference is rooted in .NET and development process/methodology but has been trying hard to beef up it's Java content. This year it attracted a decent section of the Java crowd including my fellow Oracle colleagues Brian Goetz (Java SE), Geertjan Wielenga (NetBeans), Attila Szegedi (Nashorn), Aleksey Shipilev (Java SE), Cecilia Borg (OpenJDK), Marcus Hirt (Java SE) and Tomas Nilsson (Java SE) as well as my long-time friend Adam Bien. Topics covered included Java EE (of course :-)), mobile, DDD, agile, HTML5, cloud, Java SE, OpenJDK, JavaScript and NoSQL.

I ran the Java EE 7 Hands-on Lab as a whole day workshop. A decent number of people showed up for the workshop and it ran very smoothly (many folks had kind words to share afterwards). Last time I had tried to run this lab at OSCON, it did not go so smoothly due to various GlassFish and NetBeans issues that now seem to have been fixed. There were also issues with the lab itself that have since been addressed. There are still a few remaining rough spots in the lab I will get ironed out as soon as possible.

The openly available hands-on lab is actually a very good resource for getting your hands dirty with Java EE 7. The entire lab is neatly scripted into step-by-step instructions and seeded with some starter code as to be largely self-directed and self-paced. The idea is that anyone should be able to complete the lab by themselves or even lead the lab in their own organizations. I am finding that the length of the lab actually makes it more suitable as a one-day workshop - perhaps calling it something like "Hands-on Java EE 7", "Down and Dirty with Java EE 7", "A Self-Guided Tour of Java EE 7", etc. I am actually running such a workshop again at Penn State University/the Happy Valley JUG on my way back from CodeMash in Sandusky, Ohio in January.

I also had a regular conference session on JAX-RS 2. Titled "JAX-RS 2: New and Noteworthy in the RESTful Web Services API" this was basically the same talk given by the specification leads Santiago Pericas-Geertsen and Marek Potociar at JavaOne San Francisco. I talked about the JAX-RS 2 client API, asyncronous processing, filters/interceptors, hypermedia support, server-side content negotiation and the like. It's somewhat unusual for conferences to accept this talk which is strange given the popularity of JAX-RS and the importance of REST in both mobile and HTML5 applications. The talk was well attended, went very well and the Q & A was great. The slides for the talk are here (including the abstract and source PPT):

On the Friday night after the conference, I got to catch a Queensryche performance at Kulturbolaget (besides Debaser the most significant music venue in Malmo; also known simply as "KB"). I had seen another act from the US-based progressive metal legends in my hometown of Philadelphia at the legendary Trocadero Theatre a few years ago. Queensryche seems to always deliver a technically polished if albeit somewhat tame performance. Besides the good ol' US of A, Sweden is one of the few countries in the World that you can probably find a metal gig in most major cities year-round...

All in all, I enjoyed Oredev/Malmo and look forward to going back some time again soon (I'll be back in Sweden for Jfokus in February).


Reza Rahman is a former independent consultant, now Java EE evangelist.

He is the author of the popular book EJB 3 in Action. Reza is a frequent speaker at Java User Groups and conferences worldwide.

Reza has been a member of the Java EE, EJB and JMS expert groups. He implemented the EJB container for the Resin open source Java EE application server.

All views voiced are my own, not necessarily Oracle's.


« November 2015