Registered: Apr 2001
Location: New York
EJB 2.1 is fairly recent, having been released in August, 2002. Tools for EJB 2.1 are just appearing now and their adoption takes time. So there is a time lag until the full impact of CMP 2.0 will be felt. Project managers will be hard pressed to NOT adopt this technology once it takes off since hand-coding database calls will seem like writing assembler code.
Your observation ('2. Most people...') is based on the older EJB 1.1 specification which everybody agrees was insufficient to see the benefits of CMP.
Yes, there are hurdles to EJB 2.1 but the momentum is there. Just look at the number of downloads and popularity of JBoss. Marc Fleury, CEO of JBoss, has an excellent whitepaper entitled Why I Love EJB's which has some great quotes about CMP:
Well, today there is very little need to use your own database access code. This is another nail in the coffin of the retrograde servlet to jdbc designs.
The first version of the persistence, the 1.1 version, was seriously lacking in various critical aspects. The 2.0 version is however a blockbuster.
One of the interesting things we are seeing with CMP 2.0 is that everyone is dropping BMP for CMP... Today, almost no-one uses BMP anymore as the power of CMP is proven and working.
I do agree that database skills are important but, who knows, it may no longer be a relational database!
For some more excellent material on object-relational mapping, see chapters 12 and 13 of Martin Fowler's new book, Patterns of Enterprise Application Architecture. He has over 100 pages of detailed patterns on this topic.
See also Paul Reed's excellent book Developing Applications with Java and UML where he advocates strongly for the new CMP model in EJB 2.x, but also takes the time to compare and contrast with BMP using data-access objects. Chapter 9 of this book discusses mapping classes to relational tables and demonstrates how to use a UML tool to generate DDL for relational tables.
Report this post to a moderator | IP: Logged