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.

Wednesday Mar 20, 2013

33rd Degree 2013 Trip Report

33rd Degree 2013 was held in historic Warsaw, Poland on March 13-15. For those of you not familiar with it, dubbed "the Conference for Java Masters" this is the premier Java conference for Poland. It attempts to bring together elite speakers in the Java community across the globe. This was my first time at the conference and I most certainly thought the conference lived up to its promise. Just some notable speakers included Tim Berglund, Adam Bien, Ted Neward, Dan North, Simon Ritter, Venkat Subramaniam, Geertjan Wielenga and Kai Wahner.

I delivered three full-house talks, all on the second day of the conference. The first was my talk on Java EE 7 and 8 titled "JavaEE.Next(): Java EE 7, 8, and Beyond". The talk was 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 had standing room only with 400+ attendees. The slides for the talk are here:

My second talk was on the Java API for WebSocket/JSR 356 titled "Building HTML5/WebSocket Applications with JSR 356 and GlassFish". The talk is based on Danny Coward's JavaOne 2012 talk. The talk covers the basic of WebSocket, the JSR 356 API and a simple demo using Tyrus/GlassFish. The talk went very well and there were some very good questions. This was a full session as well with 150+ attendees. The slides for the talk are here:

The code samples are available here: https://blogs.oracle.com/arungupta/resource/totd183-HelloWebSocket.zip. Give me a shout if you need help getting it up and running.

To my delight, the 33rd Degree folks were very interested in my domain-driven design/Java EE talk (titled "Applied Domain-Driven Design BluePrints for Java EE"). The talk has three parts -- a brief overview of DDD theory, mapping DDD to Java EE and actual running DDD code in Java EE/GlassFish. I converted the well-known DDD sample application (http://dddsample.sourceforge.net/) written mostly in Spring 2 and Hibernate 2 to Java EE 7. My eventual plan is to make the code available via a top level java.net project. Even despite the broad topic and time constraints, the talk went very well. The room was fully packed with 400+ people and I got excellent feedback on the talk later. The slides for the talk are here:

The code examples are available here: https://blogs.oracle.com/reza/resource/cargo-tracker.zip for now, as a simple zip file. Give me a shout if you would like to get it up and running.

Besides presenting my talks, I got to attend some great sessions on Java SE, JavaScript/HTML5, NoSQL and mobile. It was also good to catch up personally with Adam, Kai, Simon and Geertjan.

On a more personal note, I was very curious to explore the heavy metal scene in Poland because I know there have been many brilliant but seriously underrated Polish metal bands like Vader and Behemoth. Luckily for me, bitter cold Winter Friday nights are metal nights in Warsaw. I got to check out some of the city's best young metal bands at the storied Metal Cave.

I definitely enjoyed 33rd Degree 2013 and hope to be part of the conference again next year.

Scandinavian Developer Conference 2013 Trip Report

The Scandinavian Developer Conference (aka ScanDev, aka SDC) 2013 was held in Gothenburg, Sweden on March 4-6. The conference was held at the conference center for Gothia Towers, the largest hotel in Sweden. For those of you not familiar with it, ScanDev is the premier IT conference in the Gothenburg region. It has tracks for product/team management, architecture, UI/UX, testing, data, C/C++, .NET, Java, mobile, JavaScript and PHP. The Java EE presence was particularly strong at the conference. Besides me, Aslak Knutsen and Dan Allen had a talk about Arquillian, David Blevins spoke on TomEE and Kai Wahner had his excellent Java integration frameworks talk. I attended all three talks. I also attended a few talks on Java SE, REST/hypermedia, NoSQL, HTML 5/JavaScript and mobile. It was great to catch up personally with Dan, Aslak and David.

On the first day 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 well attended. The slides for the talk are here:

On a cool, crisp Saturday morning, I decided to go island hopping across the Southern Gothenburg Archipelago. In the old Norse sagas, these islands were called Elfarsker (the river islets) and today they are a car free paradise (you read that right - there are no cars allowed on the islands). I visited Branno, Styrso and Donso. With picturesque trails and shorelines reminiscence of some of the more desolate parts of the rocky Maine coast, this is a true gem for any outdoors/nature enthusiast. On my 8+ hour hike, I came across perhaps 4-5 people including folks on the ferry to/from the city of Gothenburg proper. Just take a look at some the pictures I took below:

I liked the conference as well as the city of Gothenburg and look forward to going there again.

Friday Feb 22, 2013

DevNexus 2013 Trip Report

DevNexus 2013 was held in historic Atlanta on February 18-19. For those of you not familiar with it, DevNexus is the most significant Java conference in the South Eastern US. It was started by JBoss Java Champion Burr Sutter and organized by the Atlanta JUG (currently lead by Vincent Mayers, Gunnar Hillert, et al). As usual DevNexus attracted a bevy of world class speakers including Ben Evans, Neal Ford, David Geary and Venkat Subramaniam. Topics included Java SE, NoSQL, mobile, cloud, HTML5/JavaScript and of course Java EE :-).

On the first day 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 during Q & A. It was a completely full house session with standing room only! The slides for the talk are here:

To my delight, the DevNexus 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 four parts -- a brief overview of JPA 2.1, a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA 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 a full house, the Q & A was excellent and I got great feedback afterwards. The slides for the talk are here:

The first demo used MongoDB, JPA, EclipseLink NoSQL and JUnit. The code for it is available on this GitHub repository: https://github.com/m-reza-rahman/jpa-nosql-demo. The second demo used MongoDB, CDI, Arquillian and JUnit. The code for it is available on this GitHub repository: https://github.com/m-reza-rahman/cdi-nosql-demo. 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 giving my talks, I attended a few talks on Java SE, HTML 5/JavaScript and mobile. I definitely enjoyed DevNexus and hope to be part of the conference next year.

Friday Dec 14, 2012

Java EE 7 Survey Results!

On November 8th, the Java EE EG posted a survey to gather broad community feedback on a number of critical open issues. For reference, you can find the original survey here. We kept the survey open for about three weeks until November 30th. To our delight, over 1100 developers took time out of their busy lives to let their voices be heard!

The results of the survey were sent to the EG on December 12th. The subsequent EG discussion is available here. The exact summary sent to the EG is available here.

We would like to take this opportunity to thank each and every one the individuals who took the survey. It is very appreciated, encouraging and worth it's weight in gold. In particular, I tried to capture just some of the high-quality, intelligent, thoughtful and professional comments in the summary to the EG. I highly encourage you to continue to stay involved, perhaps through the Adopt-a-JSR program. We would also like to sincerely thank java.net, JavaLobby, TSS and InfoQ for helping spread the word about the survey.

Below is a brief summary of the results...

APIs to Add to Java EE 7 Full/Web Profile

The first question asked which of the four new candidate APIs (WebSocket, JSON-P, JBatch and JCache) should be added to the Java EE 7 Full and Web profile respectively.

As the following graph shows, there was significant support for adding all the new APIs to the full profile:

Support is relatively the weakest for Batch 1.0, but still good. A lot of folks saw WebSocket 1.0 as a critical technology with comments such as this one:

  • "A modern web application needs Web Sockets as first class citizens"

While it is clearly seen as being important, a number of commenters expressed dissatisfaction with the lack of a higher-level JSON data binding API as illustrated by this comment:

  • "How come we don't have a Data Binding API for JSON"

JCache was also seen as being very important as expressed with comments like:

  • "JCache should really be that foundational technology on which other specs have no fear to depend on"

The results for the Web Profile is not surprising. While there is strong support for adding WebSocket 1.0 and JSON-P 1.0 to the Web Profile, support for adding JCache 1.0 and Batch 1.0 is relatively weak.

There was actually significant opposition to adding Batch 1. 0 (with 51.8% casting a 'No' vote).

Enabling CDI by Default

The second question asked was whether CDI should be enabled in Java EE environments by default.

A significant majority of 73.3% developers supported enabling CDI, only 13.8% opposed. Comments such as these two reflect a strong general support for CDI as well as a desire for better Java EE alignment with CDI:

  • "CDI makes Java EE quite valuable!"
  • "Would prefer to unify EJB, CDI and JSF lifecycles"

There is, however, a palpable concern around the performance impact of enabling CDI by default as exemplified by this comment:

  • "Java EE projects in most cases use CDI, hence it is sensible to enable CDI by default when creating a Java EE application. However, there are several issues if CDI is enabled by default: scanning can be slow - not all libs use CDI (hence, scanning is not needed)"

Another significant concern appears to be around backwards compatibility and conflict with other JSR 330 implementations like Spring:

  • "I am leaning towards yes, however can easily imagine situations where errors would be caused by automatically activating CDI, especially in cases of backward compatibility where another DI engine (such as Spring and the like) happens to use the same mechanics to inject dependencies and in that case there would be an overlap in injections and probably an uncertain outcome"

Some commenters such as this one attempt to suggest solutions to these potential issues:

  • "If you have Spring in use and use javax.inject.Inject then you might get some unexpected behavior that could be equally confusing. I guess there will be a way to switch CDI off. I'm tempted to say yes but am cautious for this reason"

Consistent Usage of @Inject

The third question was around using CDI/JSR 330 @Inject consistently vs. allowing JSRs to create their own injection annotations.

A slight majority of 53.3% developers supported using @Inject consistently across JSRs. 28.8% said using custom injection annotations is OK, while 18.0% were not sure. The vast majority of commenters were strongly supportive of CDI and general Java EE alignment with CDI as illistrated by these comments:

  • "Dependency Injection should be standard from now on in EE. It should use CDI as that is the DI mechanism in EE and is quite powerful. Having a new JSR specific DI mechanism to deal with just means more reflection, more proxies. JSRs should also be constructed to allow some of their objects Injectable. @Inject @TransactionalCache or @Inject @JMXBean etc...they should define the annotations and stereotypes to make their code less procedural. Dog food it. If there is a shortcoming in CDI for a JSR fix it and we will all be grateful"
  • "We're trying to make this a comprehensive platform, right? Injection should be a fundamental part of the platform; everything else should build on the same common infrastructure. Each-having-their-own is just a recipe for chaos and having to learn the same thing 10 different ways"

Expanding the Use of @Stereotype

The fourth question was about expanding CDI @Stereotype to cover annotations across Java EE beyond just CDI.

A significant majority of 62.3% developers supported expanding the use of @Stereotype, only 13.3% opposed. A majority of commenters supported the idea as well as the theme of general CDI/Java EE alignment as expressed in these examples:

  • "Just like defining new types for (compositions of) existing classes, stereotypes can help make software development easier"
  • "This is especially important if many EJB services are decoupled from the EJB component model and can be applied via individual annotations to Java EE components. @Stateless is a nicely compact annotation. Code will not improve if that will have to be applied in the future as @Transactional, @Pooled, @Secured, @Singlethreaded, @...."

Some, however, expressed concerns around increased complexity such as this commenter:

  • "Could be very convenient, but I'm afraid if it wouldn't make some important class annotations less visible"

Expanding Interceptor Use

The final set of questions was about expanding interceptors further across Java EE...

A very solid 96.3% of developers wanted to expand interceptor use to all Java EE components. 35.7% even wanted to expand interceptors to other Java EE managed classes. Most developers (54.9%) were not sure if there is any place that injection is supported that should not support interceptors. 32.8% thought any place that supports injection should also support interceptors. Only 12.2% were certain that there are places where injection should be supported but not interceptors.

The comments reflected the diversity of opinions, generally supportive of interceptors:

  • "I think interceptors are as fundamental as injection and should be available anywhere in the platform"
  • "The whole usage of interceptors still needs to take hold in Java programming, but it is a powerful technology that needs some time in the Sun. Basically it should become part of Java SE, maybe the next step after lambas?"

A distinct chain of thought separated interceptors from filters and listeners:

  • "I think that the Servlet API already provides a rich set of possibilities to hook yourself into different Servlet container events. I don't find a need to 'pollute' the Servlet model with the Interceptors API"

Wednesday Dec 12, 2012

Java EE@Princeton Java Meetup

On November 28th, I spoke at the Princeton Java Meetup Group. It's a well-organized group led by veteran Java champion Yakov Fain - I have spoken there numerous times. I did my Java EE 6 DDD talk (the same one from Java2Days 2012).

The code examples are available here: https://blogs.oracle.com/reza/resource/dddsample.zip. Give me a shout if you would like to get it up and running.

The talk went very well -- the official RSVP shows 33 attended. 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 there again.

Java EE@NYC Java Meetup

On November 19th, I spoke at the New York City Java Meetup Group. It's a well-organized group led by my good friends Dario Laverde and Timothy Fagan - I have spoken there numerous times. I did my Java EE 7 talk (the same one from Java2Days 2012).

The talk went very well -- the official RSVP shows 163 attended. 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 there again.

Tuesday Dec 11, 2012

JavaOne Latin America 2012 Trip Report

JavaOne Latin America 2012 was held at the Transamerica Expo Center in Sao Paulo, Brazil on December 4-6. The conference was a resounding success with a great vibe, excellent technical content and numerous world class speakers. Some notable local and international speakers included Bruno Souza, Yara Senger, Mattias Karlsson, Vinicius Senger, Heather Vancura, Tori Wieldt, Arun Gupta, Jim Weaver, Stephen Chin, Simon Ritter and Henrik Stahl. Topics covered included the JCP/JUGs, Java SE 7, HTML 5/WebSocket, CDI, Java EE 6, Java EE 7, JSF 2.2, JMS 2, JAX-RS 2, Arquillian and JavaFX.

Bruno Borges and I manned the GlassFish booth at the Java Pavilion on Tuesday and Webnesday. The booth traffic was decent and not too hectic. We met a number of GlassFish adopters including perhaps one of the largest GlassFish deployments in Brazil as well as some folks migrating to Java EE from Spring. We invited them to share their stories with us. We also talked with some key members of the local Java community.

Tuesday evening we had the GlassFish party at the Tribeca Pub. The party was definitely a hit and we could have used a larger venue (this was the first time we had the GlassFish party in Brazil). Along with GlassFish enthusiasts, a number of Java community leaders were there. We met some of the same folks again at the JUG leader's party on Wednesday evening.

On Thursday Arun Gupta, Bruno Borges and I ran a hands-on-lab on JAX-RS, WebSocket and Server-Sent Events (SSE) titled "Developing JAX-RS Web Applications Utilizing Server-Sent Events and WebSocket". This is the same Java EE 7 lab run at JavaOne San Francisco. The lab provides developers a first hand glipse of how an HTML 5 powered Java EE application might look like. We had an overflow crowd for the lab (at one point we had about twenty people standing) and the lab went very well. The slides for the lab are here:

The actual contents for the lab is available here. Give me a shout if you need help getting it up and running.

I gave two solo talks following the lab. The first was on JMS 2 titled "What’s New in Java Message Service 2". 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, mandatory JCA pluggability and the like. The session went very well, there was good Q & A and someone even told me this was the best session of the conference! The slides for the talk are here:

My last talk for the conference was on JAX-RS 2 in the keynote hall. 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 I got a few very kind complements afterwards. The slides for the talk are here:

On a more personal note, Sao Paulo has always had a special place in my heart as the incubating city for Sepultura and Soulfy -- two of my most favorite heavy metal musical groups of all time! Consequently, the city has a perpertually alive and kicking metal scene pretty much any given day of the week.

This time I got to check out a solid performance by local metal gig Republica at the legendary Manifesto Bar. I also wanted to see a Dio Tribute at the Blackmore but ran out of time and energy...

Overall I enjoyed the conference/Sao Paulo and look forward to going to Brazil again next year!

Friday Nov 09, 2012

Wanted Now: Your Feedback on Java EE 7!

Work on Java EE 7 presses on under JSR 342. Things are shaping up nicely and Java EE 7 is now in the Early Draft Review stage. You can find out more and get involved by visiting the Java.net project for Java EE.

There are now a number of important open issues that the Java EE expert group would like to get broad community feeback on. These issues include what new JSRs to add to the Java EE Full/Web Profile as well as how to better align CDI with Java EE.

Help shape the future and voice your opinion on these critical open issues by taking the short survey posted here.

Tuesday Nov 06, 2012

Java2Days 2012 Trip Report

Java2Days 2012 was held in beautiful Sofia, Bulgaria on October 25-26. For those of you not familiar with it, this is the third installment of the premier Java conference for the Balkan region. It is an excellent effort by admirable husband and wife team Emo Abadjiev and Iva Abadjieva as well as the rest of the Java2Days team including Yoana Ivanova and Nadia Kostova. Thanks to their hard work, the conference continues to grow vigorously with almost a thousand enthusiastic, bright young people attending this year and no less than three tracks on Java, the Cloud and Mobile. The conference is a true gem in this region of the world and I am very proud to have been a part of it again, along with the other world class speakers the event rightfully attracts.

It was my honor to present the first talk of the conference. It was a full-house session on Java EE 7 and 8 titled "JavaEE.Next(): Java EE 7, 8, and Beyond". The talk was 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, JCache, JPA 2.1, JTA 1.2, JSF 2.2, Java Batch, Bean Validation 1.1 and the rest of the APIs in Java EE 7. I also briefly talked about the possible contents of Java EE 8. My stretch goal was to gather some feedback on some open issues in the Java EE EG (more on that soon) but I ran out of time in the short format forty-five minute session. The talk was received well and I had some pretty good discussions afterwards. The slides for the talk are here:

To my delight, the Java2Days folks were very interested in my domain-driven design/Java EE 6 talk (titled "Domain Driven Design with Java EE 6"). I've had this talk in my inventory for a long time now but it always gets overridden by less theoretical talks on APIs, tools, etc. The talk has three parts -- a brief overview of DDD theory, mapping DDD to Java EE and actual running DDD code in Java EE 6/GlassFish. For the demo, I converted the well-known DDD sample application (http://dddsample.sourceforge.net/) written mostly in Spring 2 and Hibernate 2 to Java EE 6. My eventual plan is to make the code available via a top level java.net project. Even despite the broad topic and time constraints, the talk went very well. It was a full house, the Q & A was excellent and one of the other speakers even told me they thought this was the best talk of the conference! The slides for the talk are here:

The code examples are available here: https://blogs.oracle.com/reza/resource/dddsample.zip for now, as a simple zip file. Give me a shout if you would like to get it up and running.

It was also a great honor to present the last session of the conference. It was a talk on the Java API for WebSocket/JSR 356 titled "Building HTML5/WebSocket Applications with JSR 356 and GlassFish". The talk is based on Danny Coward's JavaOne 2012 talk. The talk covers the basic of WebSocket, the JSR 356 API and a simple demo using Tyrus/GlassFish. The talk went very well and there were some very good questions afterwards. The slides for the talk are here:

The code samples are available here: https://blogs.oracle.com/arungupta/resource/totd183-HelloWebSocket.zip. You'll need the latest promoted GlassFish 4 build to run the code. Give me a shout if you need help.

Besides presenting my talks, I got to attend some great sessions on OSGi, HTML5, cloud, agile and Java 8. I got an invite to speak at the Macedonia JUG when possible. Victor Grazi of InfoQ wrote about my sessions and Java2Days here: http://www.infoq.com/news/2012/11/Java2DaysConference. Stoyan Rachev was very kind to blog about my sessions here: http://www.stoyanr.com/2012/11/java2days-2012-java-ee.html.

I definitely enjoyed Java2Days 2012 and hope to be part of the conference next year!

About



Reza Rahman is a former independent consultant, now Java EE/GlassFish 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.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today