Overcoming the Dilemmas
The various dilemmas described in this article are really just a smattering of issues that you might encounter when actually attempting to design, develop, deploy, and maintain enterprise applications that must go into a production mode. My co-workers at Assured Technologies, Inc., and I encounter such dilemmas increasingly when using EJB and other J2EE technologies. What is the solution, you ask? Well, the short answer is this: "Deal with it."
From my experience, no enterprise system solution (and I've looked at a lot of them) is perfect, despite what that slick marketing person tries to tell you. Hey, maybe he just forgot to mention that there is a list of known defects and shortcomings with the product. Or perhaps the engineers just forgot to mention such issuesor maybe they didn't even know about them.
So what do you do? The folks at Assured Technologies and I ended up developing a host of frameworks and components that we use to compensate for such dilemmas. We also always maintain an eye on the evolving specifications that begin to address such problems, and we make ourselves aware of which vendors have implemented such specifications and which ones haven't or are dealing other shortcomings. When possible, we also implement frameworks/components that will be upwardly compatible with the new specifications. In fact, we have developed a whole framework around entity EJB limitations and have implemented an object-relational mapping mechanism that is essentially an implementation of the EJB v2.0 specification for CMP entity beans. In short, as much as possible, you should be aware of the dilemmas and design your applications appropriately to deal with them.