Please prepare some unfair, critical, unconstructive and heretical questions about Java EE 6/7. I would like to answer them all with code and explain you why I like Java EE and believe why it is the most productive platform currently available.
3 Days Training Hamburg: 24.10.11 - 26.10.11 Java EE 6 Best Practices My last open training this year. We are going through the whole Java EE software lifecycle. From code best practices, over to unit, integration and stress testing, to Continuous Deployment.
Session ID: 21622
Session Title: Rethinking Best Practices with Java EE 6:
Although you can build Java EE 6 applications with only a fraction of the code that’s necessary with J2EE,
many projects are still based on the bloated and exaggerated J2EE patterns and best practices.
This session discusses how to build lean applications in a productive and maintainable way.
The following pragmatic tools, patterns, and best practices will be covered with working source code,
which are especially interesting to Java EE developers and architects:
- Mixing CDI, JPA, EJB, JSF, and JAX-RS to save code
- Mocking, unit testing, stress testing, and integration testing
- Continuous integration and build (Maven 3, Git)
- Efficient data access without DAOs
- CAP and BASE
- Asynchronous CDI events for decoupling and pub/sub
- Pro-active JMX monitoring instead of logging
Session ID: 21641
Session Title: Java EE 6: The Cool Parts:
Java EE should be renamed to Java Cool Edition. It comes with a small footprint,
powerful features, and very short turn-around cycles. In this session addressed to developers,
non-obvious Java EE 6 tricks and techniques, such as the following, will be presented in demo fashion:
- Flexible configuration
- Implementing plug-ins with Convention over Configuration
- Generic logger injection
- Integration of legacy POJOs
- Observer and Factory pattern killers
- Stateful components and always-attached JPA entities
- Implementing schedulers and asynchronous events
- Comet with Servlet 3, EJB 3.1, and CDI
- Easy monitoring with JMX and JAX-RS
- Using transactions for speed and consistency
- @Singleton, the perfect cache
- Automatically starting dependent services
Session ID: 23423
Session Title: The Road to Java EE 7: Is It All About the Cloud?
I'm really looking forward to this panel. The direction the discussion is going is hard to predict (like last year).
I'm really looking forward to JavaOne 2011 - see you in San Francisco!
It was the biggest JAX conference so far. Also the first time the organizer had to "close" my workshop: Java EE 6 Follow Me - You Can because of AttendeesOverflowException.The workshop was amazing. The developers were eager to develop along with me an EnterpriseRoyalWedding application. We had to discuss 2PC (only then you really understand the wedding-transaction) and built together an application with REST,transactions, events, multi-stage configuration, SOAP (was asked for that), unit tests, load tests and many attendees questions. I was asked to push the code on every break to http://kenai.com/projects/javaee-patterns and announced the URL via twitter @AdamBien. The most popular question in the whole workshop was: "Please show me the index.html again". It seems like the whole Java EE 6 stuff was trivial to understand :-)
In the session: Session: Java EE 6: ...and where is my over-engineering? I discussed most (1h is too short for all :-)) of the superfluous J2EE patterns and best practices. The popular Java EE track was hold in the keynote room. All the Java EE 6 sessions were overcrowded.
In the session Session: Some Java History: from JDK 1.0 to 1.7 I presented my view of the history of Java. In the "Sun Java Studio 1.0" demo I presented what was possible in 1997. The software ran on JDK 1.1.3 and was crazy fast on my machine :-)
Every "pro"-blogger should write a post "Java Programming Language is Dead" this time to be taken seriously by the community. In the Session: Java is dead? No #1., I presented my opposite point of view: "Given you are pragmatic in your Java projects - it really rocks".
In the One Slide Session: 60 Minutes With Java EE 6 I developed the small version of RoyalWedding. I got many attendees questions regarding CDI / ManagedBeans / EJB 3.1 so I sticked with the topics.
Even the late night Java EE Panel was crowded. We had a lot of fun discussing with the attendees Java EE 6 from multiple angles. Mark Struberg (CDI openWebBeans committer) even introduced one of his enterprise patterns. The name, however, cannot be translated into English (from Austrian :-)).
In all my talks and workshops I used nothing but plain NetBeans 7 Java EE Edition with Glassfish 3.1 (download size of both is 152 MB).
JAX is over - looking forward to Java EE Summit and probably W-JAX!.
During the OOP Conference, at 27. January 2011 in Munich I will give a free Java EE 6 hacking session and will try to explain as much of Java EE 6 as only possible - in the IDE. The registration is free but required. There are already 40 registrations so hurry up. There will be also a free Java EE 6 Hands-on lab after my session - see details.
See you in Munich - I will try to get some free t-shirts and give them to the attendees with the most heretical / best questions.
[Even better: there will be no t-shirts, but Duke Mugs - every four minutes one :-)]
I reused the three slides from JavaOne San Francisco and re-submitted them to JavaOne Beijing. The talk was accepted:
Session ID: 2767
Session Title: The Feel of Java EE 6: Interactive Onstage Hacking
Session Schedule: 12/15/10
Time: 15:30 - 16:15
I intend to implement a small Java EE 6 application using a vanilla NetBeans 6.9.1+ with Glassfish v3+ and explain as much of Java EE 6 as possible (REST, EJB 3.1, JPA, Bean Validation, CDI, JSF and some best practices).
See you in China! My three slides are already in the translation process. I'm already curious how "hacking" looks like in Chinese on slides :-)
Actually I only intended to show a short Java EE 6 demo and then discuss "lean" architectures on slides.
Before the "All Java Rock Stars" keynote, there was a huge twitter wall on the display. I used this opportunity to ask what should I implement in my session Creating Lightweight Applications With Nothing But Vanilla Java EE 6 right after the keynote.
Got several answers, but the most interesting one was the following tweet:
@adambien a pet shop with EJBs ? make sure @nealford is in the room! #devoxx
Neal Ford wasn't in the room (I asked), but I explained some Java EE 6 basics with a Pet Store sample. I asked whether I should hack something or show slides - only one guy wanted to see the slides (= very nice crowd :-)). The origin Pet Store is a bit boring and totally over-engineered, so I aligned it with Java EE 6.
I'm not a pet expert, so used Predators and Aliens as sample. For some reason I remembered a movie called The Wraith / Turbo Interceptor and implemented an Audit service with Java EE 6 Interceptors. In about 0.5h we implemented a ZooKeeper application with Servlet JSF 2, 3.0, EJB 3.1, CDI, Bean Validation, REST, Asynchronous invocations, Schedules, and (Turbo) Interceptors. In the last half hour I explained real world architectures (at least what I do in my projects) and tried to answer all questions.
I used plain NetBeans 6.9.1 (Java) with Glassfish v3.0.1.
What surprised me - the huge interests in Java EE 6. It was really nice conference. I continued nice conversations with attendees all the way back to the Bruessels Airport.