JavaOne 2011 Round-Up

JavaOne 2011 was very busy this year for me but also very fruitful. Although this year I did not get a chance to attend a single session other than my own (I spoke seven times in four days so it was very hard), I think the conference overall went well. It is still unfortunate that Oracle continues to ignore the obvious fact that JavaOne needs a much bigger venue and it needs to take place on a time separate from OracleWorld…

On Monday, I started with the panel on the JCP titled “JCP and the Developer Community”. Considering that this was pretty much a non-technical topic, it was good to see that the attendance/participation was decent, although I had expected the discussion to be a bit more lively. Regardless, it seems that Oracle is taking JCP reforms very seriously and giving real funds to the JCP organization (which Sun did not or could not). In the afternoon, I attended the technical session that Marina Vatkina of Oracle was giving on the progress of EJB 3.2. Not surprisingly, it looked to be a very short talk because of the worrisome lack of progress in the EJB 3.2 EG. Somewhat disappointingly, the audience participation was not that good — it seemed most of the attendees either did not have an opinion or did not voice them. I and JMS 2 spec lead Nigel Deakin of Oracle tried to liven things up a little but trying to directly engage the audience, with some success. That evening, we repeated some of the same discussions in the BOF titled “Meet the Experts: EJB 3.2 Expert Group”. Given the lackluster technical talk, it was not entirely surprising that the BOF attendance was sparse. After the BOF I had a long conversation with David Blevins of Apache and Andrew Rubinger of JBoss/Red Hat about my concerns around EJB 3.2.

Tuesday morning I and Ryan worked together to put the finishing touches/rehearse our CDI talk. The speaker resources were paltry so we wound up going to the lounge of a nearby hotel to work. In the afternoon, Nigel, I and Clebert did the JMS 2 BOF titled “JSR 343: What’s Coming in Java Message Service 2.0”. Although this was technically a BOF, it was really more like a full conference session and we actually had a slide deck. They gave us a very big room and it was almost a full house. We didn’t have much time left for Q & A, but we had a number of interesting follow-up discussions with attendees in the hallway after the talk. Tuesday evening I went to the JBoss party to talk about CDI 1.1, EJB 3.2 and Java EE 7 with Pete Muir, Dan Allen, Andrew Rubinger, et al. The discussion went well and it seems we are all on the same page.

Wednesday morning Nigel, Pete and I brainstormed about the dependency injection based changes in JMS 2. I did not expect to have all the outstanding issues resolved but I think we made good progress. At noon, I did the panel on Java EE 7 titled “The Road to Java EE 7: Is It All About the Cloud?”. The panel was very well attended and the discussion was very good. I briefly chatted with Linda DeMicheal and Mike Keith of Oracle about Java EE 7 afterwards. In the afternoon, Ryan and I did the CDI talk titled “Patterns and Best Practices for CDI”. Considering the fact that Ryan and I have never co-presented together before, the talk went very well. We had a full house and had a very good Q & A session. In the evening, Rohit Kelapure of IBM and I worked on our Spring/Java EE comparison talk. Since this talk was so last minute, we had to scramble to get the slide deck ready and wound up pulling an all-nighter. Rohit and I briefly showed up at the JCP hosted party (always rightfully rumored to be the “most lavish party at JavaOne”).

On Thursday noon, I barely made it to the CDI panel titled “CDI Today and Tomorrow”. The panel was very well attended and the discussion was very good. In the afternoon, Rohit and I had our talk titled “Java EE and Spring/MVC Shoot-out” (it was the last session of the conference). Despite the ordeal, doing the talk wound up being well worth it. It was an enthusiastic, overflow crowd. JMS 2 spec lead Ed Burns showed up as an attendee. The Q & A was great and a lot of people seemed to really appreciate the talk. It felt like one of the best talks I’ve done at JavaOne to date and a solid finish to an eventful week at JavaOne 2011.

A number of folks asked for the slides for the two tech talks, so the materials for the talks is posted here.

Speaking at JavaOne 2011!

It’s always exciting to get JavaOne notifications – after all it is still the premier global Java conference! I have five talks this year.

One is a technical session titled “Patterns and Best Practices for CDI” that I’m co-presenting with Ryan Cuprak. It’s a brand new talk so I am very excited that it got accepted. Another is a panel I co-submitted with Arun Gupta titled “CDI Today and Tomorrow”. Arun will be moderating the panel. I, Pete Muir, David Blevins and Sivakumar Thyagarajan will be panelists. I’ll be doing a JMS 2 BOF with spec lead Nigel Deakin and fellow EG member Clebert Suconic. I am a panelist on a talk on the JCP titled “JCP and the Developer Community”. The other folks on the panel are Martijn Verburg from the London Java Community and Heather VanCura from the JCP program. I’ll also be part of a larger panel titled “Java EE 7 – is it all about the cloud?”. My CDI landscape talk from TSSJS 2011 was accepted as an alternative :-(. I also might be part the EJB 3.2 and Java EE 7 BOFs.

I can’t but feel a little bummed that my other “uber cool” talks like the Domain Driven Design with Java EE 6 (brand new), Java EE 6 Portability (brand new), Java EE 6 caching across enterprise application tiers (TSSJS 2011) talks did not get accepted. I was also keeping my fingers crossed hoping that my CanDI talk would be accepted (I did have a Resin 4 talk last year though). All in all, I guess I have little to complain about. I could always do those at another conference or good JUG…

If you are attending JavaOne 2011, please do consider attending one of my sessions. I would love to chat with you in person!

CDI Talks at Research Triangle Park and DC/Nova Java User Groups

On June 27th I came back from a trip to the Raleigh, NC area to record a JavaLobby Tech Chat on Resin 4. The Tech Chat went great. Mitch Pronschinske, the Editor-in-Chief of JavaLobby/DZone drove the Chat. We talked about Resin 4, the Java EE 6 Web Profile, the Caucho team, the CDISource Spring/CDI bridge, Java EE 7/Java EE 8, WebSocket, cloud computing and the like. The Tech Chat should be out there on JavaLobby soon.

I chose to drive to NC to avoid the hassle of flying and because NC is quite drivable from my home office in Philly. On the way back, I did CDI demos at both the Research Triangle JUG and the NoVA/Washington, D.C. JUG. Both talks were very well attended. The interest/participation levels were fantastic. The DZone folks gave me a few nice printed copies of the CDI RefCard. Every single copy was taken and people were asking for more! They also asked me for the slide deck and code examples. I’ll send them to the JUG leads to post on the JUG websites. You can also take a look at the slide deck and code examples if you want and send me any follow-up questions. I also wanted to talk at the Maryland and Richmond JUGs but things didn’t quite work out schedule-wise this time around. Both JUGs are working on scheduling me to speak in the Fall instead.

TSSJS 2011 Round-Up

I spoke at TSSJS 2011 March 16-18 in Vegas. TSSJS 2011 went extremely well and so did my talks. I think the TSSJS 2011 agenda, quality of content/speakers and buzz was the best in years. The new TSS editor Cameron McKenzie did an admirable job at putting everything together.  Some of the notable speakers included James Gosling, Steve Harris (SVP Oracle), Adam Messinger (VP Oracle), Patrick Curran (JCP chair), Rod Johnson, Bill Burke, Adam Bien and Kirk Pepperdine.

I started the conference with a 5-minute lightning round presentation on Resin 4, the Java EE 6 Web Profile, Caucho vision, history, thought leadership, values, global footprint and growing customer base. The presentation seemed to go over well with a number of existing customers and developers reaching out to us afterwards. The first session on the first day of the conference I did was my enterprise caching talk titled “Effective Caching Across Enterprise Application Tiers”. The talk covers the different flavors of caching in the web (HTTP), presentation, application, domain, infrastructure (persistence) and resource (database) tiers using mechanisms like proxy caching (especially as supported by Resin), JSF/CDI @ApplicationScoped, @SessionScoped, @ConversationScoped, @ViewScoped, @RequestScoped scopes, passivation, EJB pooling, EJB thread-safe singletons, extended persistence contexts, JPA first (transactional) and second (shared) level caching, database connection pools, prepared statement caching, JCache as well as distributed caching APIs like Coherence, Terracotta, GigaSpaces, Infinispan, EHCache, JCS, SwarmCache and OSCache. The talk was very well attended, the Q&A was good and I got great feedback afterwards. In the evening, I participated in the “Meet the Authors” event. TSSJS gave away two copies of EJB 3 in Action (I am currently working on the second edition) and I signed both copies for the winners. I had a few engaging conversations on topics like EJB/Spring, authoring and the JCP during the course of the evening.

I started the second and busiest day of the conference with a panel titled “The Java Community Process: What’s Broken and How to Fix It”. This was a panel with Patrick Curran, James Gosling and me, moderated by Cameron McKenzie. We discussed the need for reforming the JCP, greater transparency, the Apache Harmony licensing issues, more non-Oracle spec leadership and more participation from non-vendor affiliated independents. We all agreed that many ills in the JCP can be cured through greater interest and participation from the developer community. The panel generated a great deal of interest, attendance, participation and feedback. After lunch, I gave my “A Quick Tour of the CDI Landscape” talk. The talk is a broad overview of the vibrant CDI landscape composed of implementations, supported runtimes, portable extensions and tools. I discussed Weld, CanDI, OpenWebBeans, GlassFish, JBoss AS, Resin, Geronimo, WebLogic, WebSphere, Tomcat, OpenEJB, TomEE, JOnAS, Seam 3, Apache MyFaces CODI, the ZK Framework, Arquillian, Forge, JBoss Tools, Eclipse, NetBeans and IntelliJ. The audience was great and I had some lively discussions afterwards. Later in the afternoon, I did my Java EE testing talk titled “Testing Java EE 6 Applications: Tools and Techniques”. The talk covers end-to-end testing along the entire Java EE stack including Servlet 3, JSF 2, EJB 3.1, JPA 2, JAX-WS and JAX-RS using existing and emerging tools like JUnit, HttpUnit, HtmlUnit, Cactus, Selenium, JSFUnit, embedded containers, embedded databases, Arquillian/ShrinkWrap, Resin JUnit integration support and soapUI. The talk was well attended and I got excellent feedback for the talk. It was only somewhat surprising that folks don’t realize how robust Java EE testing is with the latest release and tools like Arquillian. In the evening, I participated in the “Ask the Experts” session which also went very well.

The last day of the conference I presented my talk titled “An Introduction to Seam 3″.The talk discusses the relationship between CDI, Weld and Seam 3 as well as covering all the Seam 3 modules such as XML configuration, persistence, Faces, Servlet, JMS, REST, JavaScript remoting, security, internationalization/localization, exception handling, mail, cron, document generation, Spring interoperability, Wicket, GWT, Drools, jBPM, JBoss ESB and so on. Since it was towards the end of the conference the attendance was relatively sparse but the Q&A session was very good with a lively audience.

A number of folks asked for the slides and demo code, so the materials for the talks is posted here.

Speaking at DevIgnition 2010

On December 3rd, I spoke at DevIgnition 2010 in Washington, DC. This is basically a brand new local conference organized by Gray Herter of the DC/Nova JUG. Since I’ve spoken at the DC/Nova JUG quite a few times now, Gray invited me to come speak at the conference. I gave a talk on Spring 3/Java EE 6 integration titled “Java EE 6 Support in Spring 3”. I talked about the support for Java EE 6 APIs like EJB 3.1, JSF 2, JPA 2, JAX-RS, JAX-WS and bean validation built into Spring 3. The talk went very well and the crowd was very enthusiastic. Fellow speakers Arun Gupta and Ryan Cuprak spoke at the conference as well.

I certainly look forward to speaking at DevIgnition next year.

Speaking at Oredev 2010

On November 8-12, I spoke at Oredev 2010. Oredev is a Scandinavian regional technology conference especially focusing on the Malmo, Sweden and Copenhagen, Denmark metropolitan areas. Aiming to be the “best developer conference on the planet” Oredev 2010 had an intriguing mix of Java, .NET, agile, dynamic languages, mobile and even a non-technical track covering an eclectic set of topics ranging from music, photography, sports/fitness as well as culinary arts.

I spoke on Java EE 6 as well as CDI/Weld/Seam 3. Both of my talks had decent attendance with good follow-up Q & A. There were other recognizable folks from the Java community speaking at Oredev as well including Arun Gupta, Ted Neward and Neal Ford. Overall, speaking at Oredev was a pleasant experience.

Speaking at Java2days 2010

I spoke at Java2Days 2010 on October 8-9. The conference was hosted again in Sofia, Bulgaria and targeted the greater Balkan region. This year’s conference went very well as it drew a larger and more enthusiastic crowd than in the previous year. The exuberant crowd was in stark contrast to the comparatively lackluster Java conferences in the United States and Western Europe.

All three of my sessions were well attended with excellent feedback from each of them. The session on CanDI titled “A Quick Tour of Contexts and Dependency Injection for Java EE” was especially well received with a full house and lively Q & A along with requests for the CanDI demo code. The audience for the Java EE 6 testing talk titled “Testing Java EE 6 Applications: Tools and Techniques” was also very good. People were extremely surprised to see how easy and powerful testing has become with Java EE 6. The closing session for the conference was my talk on the JCP titled “A Look Inside the Java Community Process”. Towards the end of this session, Werner Keil from the JCP Executive Committee, joined in to present an update on Java SE 7 and 8. To conclude, all the JCP members present at the conference came on stage for the Q & A. The audience really enjoyed the JCP session and I received a lot of positive feedback on it.

I hope and look forward to presenting at the Java2Days conference again next year in beautiful, spirited, youthful Sofia, Bulgaria. It was also great to see my friends and fellow speakers Eugene Ciurana, John Willis, Arun Gupta, Vladimir Pavlov, Talip Ozturk, Andrew Lombardi, Alexis Moussine-Pouchkine, Werner Keil, Sasa Slavnic and many others.

JavaOne 2010 Round-Up

Overall, JavaOne 2010 was great personally.

The first session I did was the Resin 4 Java EE 6 Web Profile talk titled “Resin: A Light-footed Java EE 6 Web Profile Platform”. This was the first time Emil and I co-presented and I thought it went very well. The attendance was moderate but we had a number of good questions and a handful of folks asked for the slides/demo code afterwards. That same evening I did a CDI BOF with Dan Allen of Red Hat/JBoss and David Blevins of Apache OpenWebBeans/OpenEJB. The BOF was titled “Implementing CDI: Goals, Milestones, and Perspectives” and was well-attended. We had lively discussion around the current state of implementations, the CDI ecosystem as well as the future of CDI/Java EE.

My first talk for the second day of the conference was the Java EE testing talk with Debu titled “Testing Java EE 6 Applications: Tools and Techniques”. It was a full house and the talk went very well although we ran out of time and could not demo JAX-WS/JAX-RS testing. The talk covered end-to-end testing along the entire Java EE stack including Servlet 3, JSF 2, EJB 3.1, JPA 2, JAX-WS and JAX-RS using existing and emerging tools like JUnit, HttpUnit, HtmlUnit, Cactus, Selenium, JSFUnit, embedded containers, embedded databases, Arquillian/ShrinkWrap, Resin JUnit integration support and soapUI. We got excellent feedback for the talk. It was only somewhat surprising that folks don’t realize how robust Java EE testing is with the latest release and tools like Arquillian. In the evening I did an EJB 3.1 BOF with Linda Demichael of Sun/Oracle, Mike Keith of Sun/Oracle, David Blevins of Apache OpenWebBeans/OpenEJB as well as Andy Rubinger of JBoss/Red Hat titled “Enterprise JavaBean (EJB) Community Discussion”. The attendance was moderate but the discussion was very lively.

The last session I did for the conference was on Wednesday. It was a panel with Adam Bien, Emmanuel Bernard of JBoss/Red Hat, Krasimir Semerdzhiev of SAP, Roberto Chinnici of Sun/Oracle, David Blevins of OpenWebBeans/OpenEJB and Jim Knutson of IBM titled “Java EE 6 Panel: What Do We Do Now?”. The panel was moderated by Alexis Moussine-Pouchkine of Sun/Oracle. He blogged about the panel here. It was a full-house and we had very lively discussion.

I of course met up with the usual suspects from JBoss, SpringSource, Apache, Sun/Oracle, etc throughout the conference. I have some serious mixed feelings about the conference itself. The programming and organization was great but I could not help but feel that JavaOne was demoted. I think a lot of developers have this same sentiment and I hope Sun/Oracle will do better next time.

I got a chance to go out to a climbing gym with my friends in the Resin team. It was pretty cool considering I haven’t done any serious rock climbing for a good few years although Nicole and I did go up Mount Saint Helen’s the year before the last. I also went out to a folk rock gig one night with my friends from the Resin team – it wasn’t too bad at all. I did get a chance to catch a couple of metal gigs at Slim’s and Kimo’s the other evenings. The gig at Slim’s was particularly cool with relatively young guys in their twenties doing their own rendition of Metallica, Megadeth, Slayer, Iron Maiden and AC/DC. They did a great job and it was great to see “classic” metal alive and well, even if it is in the bubble that San Francisco can be.

Java EE 6 Testing Talk at Harrisburg JUG

On September 16th, I did the Java EE 6 end-to-end testing talk at the Harrisburg JUG. The talk covered doing testing across the Java EE 6 API tiers using Unit, HttpUnit, HtmlUnit, Cactus, Selenium, JSFUnit, Arquillian/ShrinkWrap, Resin, soapUI, etc. It is the same talk I am doing at JavaOne 2010 so it is great preparation!

It was great to be back to the JUG again and seeing some familiar friendly faces (and some new ones) despite rotten weather on the day.

CDI Talk at San Diego and Silicon Valley Java User Groups

En-route to the Resin marketing/engineering meetings in San Diego/San Francisco, I did my CDI quick tour talk at the San Diego JUG on July 20th and Silicon Valley JUG on July 21st (the same talk I did for TSSJS 2010).

Both talks went very well. The San Diego JUG was relatively small but very lively. I got great feedback on the talk afterwards. The Silicon Valley JUG hosted at Google was larger but understandably a bit more sedate. I did get some very good questions though and some great feedback.

I look forward to speaking at both JUGs in the near future again.