Java Day Tokyo 2015 was held on April 8th. 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, Simon Ritter, Cameron Purdy and Linda DeMichiel. Topics included Java SE, Java EE, IoT and cloud. Java EE always has a strong showing at the event and this year was no exception.
Cameron Purdy, Vice President of Development at Oracle responsible for Java EE and WebLogic, spoke in the keynote and provided a state of the union for Java EE 7 and Java EE 8. After the keynote Java EE specification lead Linda DeMichiel delivered a detailed status update on Java EE 8. Concurrent to technical sessions the Japanese Java EE team ran the official Java EE 7 hands-on-lab as a half-day workshop. After Linda's talk Japanese Java EE evangelist Yoshio Terada did a "Java EE 7 Recipes" talk. It is very similar to the popular talk by US based Java EE advocate Josh Juneau (the linked video is from his well received talk at JavaOne 2014). Concurrent to this talk Oracle University Japan ran a very basic tutorial session on JSF 2.
In the next session slot I delivered my very popular talk on Cargo Tracker/Java EE + DDD. 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. Here is the slide deck for the talk.
The talk was packed and I got some excellent feedback from a few folks afterwards. Concurrent to my talk there were other Java EE, JSF talks delivered by Japanese speakers including a very basic JPA 2 tutorial by Oracle University Japan. Following my talk Linda offered her views for the way forward in terms of continued alignment of the CDI and EJB programming models.
I finished off the conference with one of my latest talks titled "Reactive Java EE - Let Me Count the Ways!". It aligns Java EE with core Reactive Programming principles. Though many people don't realize it, Java EE has long had very good support for asynchronous, event-driven, non-blocking scalable systems. This includes features and APIs like JMS, Message Driven Beans, Asynchronous Session Beans, CDI events/observers, asynchronous Servlets/NIO, server/client side JAX-RS, WebSocket asynchronous support and the Java EE concurrency utilities. These features can be used in a highly Reactive fashion especially in conjunction with Java SE 8 lambdas, streams and CompletableFuture. Here is the slide deck for the talk.
This talk was packed and very well received - this has been true basically every time I have presented it so far. Concurrent to my talk Hirofumi Iwasaki of Rakuten delivered his excellent talk "Seven Points for Applying Java EE 7". 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. Rakuten is a key Java EE adopter in Japan and the Rakuten engineers choose to actively advocate Java EE whenever they can. They are currently gradually adopting Java EE 7 and actively tracking Java EE 8. I think every server-side Java developer out there can learn something valuable from Hirofumi Iwasaki's talk. Here is the slide deck for the talk.
Concurrent to the talk there was another talk on JBatch/Java EE 7 delivered in Japanese.
The day after Java Day, Oracle University Japan arranged for customer only workshops with I and Simon Ritter. I led a half-day workshop in the morning on Java EE 7 while Simon covered Java SE 8 after lunch. The workshop, titled "Java EE 7 in Action", is something I've successfully delivered in the past. It uses Cargo Tracker but focuses on Java EE 7 usage instead of DDD and Java EE generally. I overview Java EE 7 at a high level, go through each API change and demo some selected features using Cargo Tracker. For each demo I explain the use case for the Java EE 7 feature in use and show actual running code. The workshop was a full house and was well received.
Fortunately the trip to Japan wasn't all work and no fun. It seems to always work out that I have more extra time than I expected in Japan (it is always better to plan for more time especially with Java EE customer meetings behind the scenes during a trip). I fully utilized my downtime by making a day trip to Nikko. Easily accessible from Tokyo it is one of the most picturesque sites in Japan - virtually a travel back in time all the way to the feudal Edo period almost on the scale of an entire town! It should be easy to see what I mean from album below (click here if you can't see the embedded album):