Some time ago I started looking at Torque and I thought by myself: "Nice". Then I encountered Jakarta OJB: "Very nice, though a bit complex". And then there is CMP2.0: "Very nice, when using EJBs".
In the mailing lists of both JBoss and OJB I see that people are attempting to use OJB in JBoss, I suppose in a BMP fashion.
I can imagine a situation that one is using OJB for persistence and then migrates to use EJBs to obtain other nice quality attributes like concurrency, scalability etc. The migration allows for a modular architecture, adding architectural capabilities.
Can someone explain me the pros and cons of using OJB instead of the built-in CMP?
Or are people attempting to use OJB not entirely up-to-date, as Marc Fleury writes in his 'blue'paper on page 7:
'In fact I would argue that CMP2.0 is doing what JDO failed to do, providing a robust and frameworkworthy persistence engine for java (once generalized). While it was widely used in designs a year ago, JDO will probaly go down in history as the proverbial chicken that crossed the road when the CMP2.0 truck came along.'
'Today, almost no-one uses BMP anymore as the power of CMP[2.0] is proven and working.'
That are pretty bold statements, maybe even slightly premature. Sounds almost like marketing. Does this really reflect engineering practice?
Who can shed some light here?
Persistence in 4.0 will be available as an aspect to any java class. This makes persistence look alot like JDO, but without all the complexity created by not requireing an aspect framework.
Also the 4.0 design will allow easily pluggable physical persistence store, so OJB should be simple to plug in.