There are some things people overlook when trying to create tools to make EJB development easier.
The tools tend to support tutorial to initial stage development. In other words, they often address issues discovered in the early stages of EJB development. This is good in many ways, and many of these solutions are very transportable to complex designs.
However, the concern you need to watch out for is assuming simple object-oriented design of applications. Over time, using CMP and other parts of EJB development tends to create design patterns involving inheritance and highly reusable methods. For CMP, for instance, the CMP beans I create contain absolutely no code to implement audit properties. This is handled entirely by super classes and a framework integrated with application security.
In evaluating a tool for CMP, I'd have to ask if the tool was able to handle CMP attributes and methods being collected through several inheritance classes. If the tool was created purely to address initial problems in EJB development, then it will likely prove limited in complex object-oriented designs.
For example, there are design patterns to producing Data Value Objects (DVO) from CMP beans involving super classes. The framework I use even uses CMR to create a depth component for populating complex DVO objects.
For reasons such as this I prefer IDE productivity tools that include features for each step in the development process which you can individually choose to use or ignore at any time, rather than a pure third-party GUI interface.
Hopefully, this will give you new ideas to creating new tools you can integrate in our IDEs.
Erik Slimanhttp://as.joshuabranch.com Application Security Today