EJB 3 in Action JBoss 4.2 Example Code Posted

I just finished porting the example code of EJB 3 in Action to JBoss 4.2. The code is posted on the Manning site for EJB 3 in Action. Here is a link to the code.

This means that readers can now get up and running with either GlassFish, Oracle AS or JBoss. In addition, Debu is almost done with the WebLogic 10 port. As soon as JBoss 5 is finally released (about time already!), I’ll update the code to work on the official Java EE 5 compliant release.

In the meanwhile, I’d love to hear from you guys as to what application server you would like to see supported. How about OpenEJB with Tomcat? WebSphere 7? WebSphere Community Edition? Shoot me an email and let me know.

JPA/Hibernate 3 Lab at the Connecticut JUG

On September 18th, I conducted a JPA/Hibernate 3 lab at the Connecticut JUG. I allowed people to use either NetBeans 5.5 or Eclipse Dali. This was the first ever lab they had ever done at the JUG and everything worked out quite nicely for a hands-on lab.

Personally, I would do a few things differently the next time I do this lab. Firstly, I think I have to allow just one IDE (probably Eclipse). Two IDEs are just too difficult to support in a single session. Secondly, I think I need to have all required software available for distribution on the spot. No matter how many times you say it, people never seem to come prepared. Lastly, I think this lab needs to be about two-and-a-half hours to cover JPA to a reasonable degree. By the time I am done setup and running, the allotted time is over!

As usual, it was a pleasure to talk with JUG leader Ryan. He is one of the most down-to-earth people in the Java field that I know. In a field full of ego-maniacs, this is definitely refreshing.

Embedded JBoss Container Talk at Philly JBUG

On September 18, Rob Di Marco spoke on the JBoss Embedded Container at the Philadelphia JBoss User Group. The Embeddable container allows you to use the full power of EJB 3 and JPA outside a container. Rob walked through examples of using EJB 3 in a standalone application, in a unit test as well as in Tomcat.

Embeddable containers are timely and useful innovations that allow the adoption of EJB 3 as a truly lightweight development framework. It is also an important mechanism for using EJB 3 inside existing Spring+Tomcat applications.

Besides JBoss the JOnAS and Geronimo communities have also created embeddable EJB 3 containers that can work with Tomcat. From all indications, these innovations are seeing quite a bit of success. With the advent of Java EE 6, I expect these type of innovations to receive “official” blessing.

I am trying to muster some time to write a few articles on embeddable containers as well as deploy the EJB 3 in Action example code to a few of them. After I am done, I’ll make the deployment scripts available through the book’s page on Manning.com.

EJB 3/Spring/Hibernate Comparison at Philly JUG

On September 26 I presented my EJB 3, Spring, Hibernate comparison talk at the Philly JUG. The Philly JUG is among the most successful JUGs in the world. It is consistently ranked in the top 25 in the U.S. and the top 50 in the world. I received great feedback on the talk and a lot of folks were very interested in what I had to say. In fact, this is the first time in it’s lifetime the Philly JUG reached its capacity attendance of a hundred-and-fifty people!

I finished off the talk with a preview of EJB 3.1 and Java EE 6. I sold a few copies of EJB 3 in Action and received feedback on the book from people who already have copies. I look forward to speaking at the Philly JUG in the future.

EJB 3/Spring/Hibernate Comparison at NoVAJUG

On the 15th of this month, I presented my popular EJB 3/Spring/Hibernate comparison talk at the Northern Virginia Java User Group (NoVAJUG). This bunch was by far the most lively I have ever seen. I always thought of the DC area to be filled with sedate government employee types. Nothing could be farther from the truth!

There were a number of people in the crowd who have used both EJB 2.x and Spring+Hibernate in a production environment and have explored EJB 3 (the room was filled to capacity). To be truthful, it felt a little bit like preaching to the choir, and I picked up a number of pretty good ideas from the crowd.

Folks pointed out the EJB 3 deployment, performance tuning, clustering and administration support for Java EE application servers like WebLogic 10. Someone suggested a performance benchmark for both the stacks. I thought that was an excellent idea. I’ll talk it over with Debu and see what he thinks…I know Oracle produced a benchmark comparing EJB 3 and EJB 2.x. I wonder if they could produce one for Spring+Hibernate and the Oracle AS EJB 3 container + TopLink JPA provider? It would be a very intriguing experiment indeed…

Real World Java Seminar at NYC Roosevelt Hotel

I spoke at the Real World Java Seminar at the Roosevelt Hotel in NYC on the 13th of this month. I gave my popular EJB 3/Spring/Hibernate comparison talk to a full-house audience. I think SYS-CON (the publishers of the widely read Java Developers Journal) had the right idea hosting this seminar. The one-day seminar was well-attended, even in the slow month of August. Given the number of Java developers on the East Coast there really is a lot of room for a large JavaOne style event. I know the travel expenses are a big deterrent for many people to go to JavaOne.

To some degree, the regional No Fluff Just Stuff (NFJS) symposiums kind of bridge that gap, but something like Real World Java can be a great success. I hope SYS-CON repeats the event in the coming years. I would certainly be delighted to speak there again.

Besides giving the talk, I got to speak with a number of Java folks like Jeremy Geelan (VP of SYS-CON), Reema Patel (Sun Evangelist), Mark Pollack (one of the Interface21 guys involved in Spring.NET) and Mark Richards (senior architect at IBM). I got positive feedback from a bunch of EJB 3 in Action readers too!

JPA+Hibernate 3 Tutorial at NYC JUG

On the 2nd of this month I gave a very hands on tutorial to JPA using Hibernate 3 at the NYC JUG. It went surprisingly smooth and actually turned out to be very interactive for a lab format talk. I can’t wait to see how things turn out when I repeat the talk in Connecticut next month.

I have to say this was one of the most charming groups I’ve talked at. The room in the New Yorker hotel was cramped as is everything in NYC, packed full of very young, very bright people from all over the World. It really felt like an intense environment where only “hardboiled” coders roam…

I was delighted to find out the JUG leader Dario is conducting a well-attended training course on EJB 3. I look forward to talking there again and maybe collaborating with Dario on a joint project sometime in the near future.

Java EE 6 Coming Soon!

I am very excited to hear that the JCP process for Java EE 6 is starting! Here is a link to the JSR! It is slated as JSR 316. Instead of being on the side-lines, I joined the JSR committee this time on. I joined as an “independent expert” and will contribute my views on how to improve on the spec (the EJB3/JPA spec in particular).

Most encouragingly, Rod Johnson is apparently looking forward to joining the committee too. This is definitely a welcome development that has many good implications for the Java EE standard!

Feel free to email me your ideas on how to improve the next Java EE version! I’ll try my best to represent the ideas in the JCP…

EJB 3 Introduction at Harrisburg JUG

On the 17th of last month I gave an introductory talk on EJB 3 at the Harrisburg JUG. It was really nice to be back on my old turf, it is a reminder that life is not as hectic in the Northeast’s hinterlands. The turnout for the talk was great. The audience was one was extremely active and savvy. By and large, I think the demographic was significantly younger too.

The talk was a lot of fun and gave me a chance to present some of the introductory material in the book. The talk was not as hands-on as I would have liked. This probably wouldn’t have been practical given the time allocation and the amount of material to cover. However, I’m hoping to give a JPA/Hibernate 3 talk at the NYC JUG soon. I’m aiming to make that extremely hands-on. I’m even toying with the idea of a code-along. I may also repeat that talk at the Connecticut JUG if all goes well.

EJB 3, Spring, Hibernate Comparison Talk at Connecticut JUG

On the 8th I had my EJB 3, Spring, Hibernate comparison talk at the Connecticut JUG. I didn’t realize exactly how big this JUG was. There was a very large turnout and good audience participation. The JUG leader Ryan Cuprak posted a very nice review for the presentation on the JUG site. It is always good to hear when people receive one’s efforts well.

I think the crowd was heavy on the EJB 2.x side because of all the larger insurance companies in and around Hartford. There were actually a number of people using Entity Beans who were particularly happy about the new features introduced in JPA. Ryan asked me to return in a few months for a JPA/Hibernate 3 specific talk. In the meanwhile, I’m trying to get Ryan in touch with a few of the Spring/Interface21 folks. Apparently, they have not had a intro Spring talk yet, although some JUG members are using Spring in production environments.

The same concern over WebSphere EJB 3 support came up again. I really hope IBM has gotten it’s efforts in gear. Someone also asked about the better annotation support for DI in Spring 2.1. I couldn’t really tell them much. I’ve read some vague things here and there and am anxious to see the concrete road map for 2.1. The gradual gravitation towards annotations is definitely encouraging. I still suspect Spring will remain a highly configurable DI/AOP container at heart instead of an EJB-like platform with a lot of high-level constructs. In either case, I’ve always found mucking around in verbose, messy XML a pain, so Spring annotation support has to come as a pleasant development for a lot of folks.