Thursday May 30, 2013

Java EE@NY Java SIG

On May 29th, I spoke at the New York Java Special Interest Group. The NY Java SIG is the first Java User Group in existence (since September 1995) and is the largest Java User Group in North America. It is led by well respected veteran Java Champion Frank Greco. I did my Java EE 7 talk (the same one from JeeConf 2013).

The talk went very well -- the official RSVP shows a sold out event with 275 attendees. I gave away a few GlassFish T-shirts, laptop stickers and Arun Gupta's Java EE 6 pocket guide. More details on the talk here. I most certainly look forward to speaking at the NY Java SIG again.

Tuesday May 28, 2013

JeeConf 2013 Trip Report

JeeConf 2013 was held in historic Kiev on May 24-25. For those of you not familiar with it, JeeConf is the most significant Java conference in the Ukraine. This was a very successful year for this nascent conference with four tracks and capacity attendance. The conference attracted a bevy of local and international speakers including Venkat Subramaniam, Yakov Fain, Talip Ozturk, Jacek Laskowski, Mohamed Taman and Sander Mak. Topics included Java SE, NoSQL, cloud, HTML5/JavaScript, Arquillian and of course Java EE :-).

It was my pleasure and privilege to give the opening talk of the conference. I presented my session on Java EE titled "JavaEE.Next(): Java EE 7, 8, and Beyond". The talk is primarily along the same lines as Arun Gupta's JavaOne 2012 technical keynote. 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 the possible contents of Java EE 8. The talk was received well and I had some pretty good discussions afterwards. It was a full house session which is always encouraging. The slides for the talk are here:

To my delight, the JeeConf folks were very 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 surpringly 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 very well attended and the Q & A was excellent. The slides for the talk are here:

The first demo used MongoDB, EclipseLink NoSQL and JUnit. The code for it is available on this GitHub repository: The second demo used MongoDB, CDI, Arquillian and JUnit. The code for it is available on this GitHub repository: Give me a shout if you need help getting the demos up and running. I plan to write a two-part blog using the contents of this talk, so stay tuned.

Besides presenting my talks, it was great to catch up with the likes of Venkat, Yakov, Talip, Jacek, Mohamed and Sander. In fact, I spent a few hours playing whirlwind tour guide to Talip whizzing past the usual tourist spots in Kiev including Lavra, St. Michael's Cathedral, Saint Sophia Cathedral, St. Andrew's Church, the House with Chimeras, Andriyivski Uzviz and the Golden Gate. I also got a chance to unwind and rock out with Kievites celebrating City Day to a pretty cool Russian AC/DC cover band named Easy Dizzy at the ever popular Docker's pub. It was an almost surreal experience that probably would have been unimaginable just a few decades ago in the dull age of the Iron Curtain (check out the pictures I took below). It's a great indication of how much Ukraine is changing and has changed already. I also got to experience a more traditional part of Ukrainians as a people with a cold, reserved façade that are in reality kind-hearted, generous hosts who think nothing of deciding to warmly befriend a lone (and probably a bit strange) foreigner for the evening.

I definitely enjoyed JeeConf/Kiev and hope to be part of the conference next year again!

Thursday May 09, 2013

JavaOne Russia 2013 Trip Report

JavaOne Russia 2013 was held at the Crocus Expo Center in Moscow on April 23-24. The conference was a resounding success with a great vibe, excellent technical content and numerous world class speakers. Some notable speakers included Werner Keil, Joonas Lehtinen, Heather VanCura, Paul Bakker, Bert Ertman, Talip Ozturk, Anil Gaur, Geertjan Wielenga, Arun Gupta, Jim Weaver, Stephen Chin and David Delabassee. Topics covered included the JCP/JUGs, Java SE 8, Java EE 7, HTML 5/WebSocket, JSF, JMS 2, JAX-RS 2, Java EE Concurrency, JBatch, JSON-P, NetBeans, MySQL, Vaadin, the Oracle Java Cloud, OpenShift, OSGi, JavaFX and Coherence.

It was my great pleasure and privilege to deliver the Java EE technical keynote on Tuesday alongside the likes of Anil Gaur, Nandini Ramani, Stephen Chin and Jim Weaver. I thought the keynote went very well with a completely packed room. The technical keynote wasn't just slideware. I demoed a simple HTML 5/WebSocket application running on a GlassFish 4 promoted build. The slides for the technical keynote are here:

The demo code is available here. The demo application is an interactive whiteboard with a JavaScript/HTML 5 front end and WebSocket powered backend. Give me a holler if you need help getting it up and running.

Later in the afternoon I gave my JMS 2 talk titled "What’s New in Java Message Service 2" back in the keynote hall. This was essentially the same talk given by JMS 2 specification lead Nigel Deakin at JavaOne San Francisco. I talked about the JMS 2 simplified API, JMSContext injection, delivery delays, asynchronous send, JMS resource definition in Java EE 7, standardized configuration for JMS MDBs in EJB 3.2 and the like. The session went very well, there was great Q & A and I received positive feedback after the session. The slides for the talk are here:

I finished my day with a JAX-RS 2 talk. 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. The talk went very well and the Q & A was great. The slides for the talk are here:

I started Wednesday off with a couple of lighting talks. The first was on Java EE Concurrency and the other one was on JBatch. These were essentially brand new decks that I created. These were my first lighting talks in a while but I enjoyed them and had great audience engagement. The slides for both talks are below:

Later in the afternoon Arun Gupta and I ran a hands-on-lab on Java EE 7. The lab covers a whole bunch of the new APIs. We had an overflow crowd for the lab and the lab went very well. You can get the contents of the lab here. Later in the afternoon David, Arun and I also had a lab on the Java Cloud Service.

I finished off the day with a lighting talk on JSON-P. It's an abbreviated and updated version of JSON-P spec lead Jitu Kotamraju's JavaOne San Francisco talk. This was one of the last talks of the conference and it went extremely well. The slide deck for the talk is here:

David and I manned the GlassFish booth at the Java Pavilion on Tuesday and Wednesday whenever we could. The booth traffic was great and we had a number of great conversations.

While in Moscow I took the opportunity to skim over the usual tourist hotspots like the Red Square, the Kremlin and Saint Basil's Cathedral. What resonated with me most though was old Arbat. From it's humble beginnings as a trading route for Caravans from the Far East in the 15th century, old Arbat has long been the true intellectual and creative nerve center for the Russian behemoth. Although today it's filled with overpriced cafes with poor service and tatty souvenir shops, it's not too hard to dig a little deeper than the surface to reveal the true Bohemian soul of old Arbat as a continued haven for starving artists, struggling writers, humble craft vendors, free thinkers and underground youth movements.

Looking carefully around you'll find gems hidden in plain sight like the Museum of Oriental art, the Gogol House, House of Friendship with Peoples of Foreign Countries, the Tochka-G Museum, the Museum of Corporal Punishment and the Pushkin House Museum. I also found an amazing small store with vintage Soviet Military memorabilia. I picked up a Red Army three star general's Winter great coat circa 1943 for not too hefty a price that I am told somehow seems to suit me well.

Overall I enjoyed the conference/Moscow and look forward to going to Russia again next year.


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.


« May 2013 »