Please forgive my severe snipping, but I wanted to respond to your responses to my earlier statements. Gregory Peres wrote: > > The flexibility Tom didn't want to lose was not the ability to change > > application servers, but rather the ability to change > > datasources without > > impacting his entity bean code. I think a good CMP > > implementation, even if > > proprietary, could offer this kind of flexibility, arguably > > making it superior > > to BMP with regard to this one feature. > > >From my understanding of CMP... It is to provide an object oriented > environment to develop an application that does not burdened me with the > pain of having to write SQL. When I think of working in a CMP environment > I dream of the ability to persist Entity Beans not just the "data". The > easiest way I know to make this dream a reality is with an OODBMS. Java is > about objects, NOT rows and columns. My clients and I are not ready to throw away the relational data model. Data is inherently relational, and is most efficiently stored this way. I understand the difference between data and objects. > Most people from the Smalltalk world (Oh no! Not one of them! > :P) developing large scale server-side applications (Chrysler, OOCL, FP&L, > ...) would probably gasp at the thought of using EJB. (I have to deal with > a Smalltalker every day. I also get the Java sucks because... speech ever > day too.) EJB provides a solid starting ground for people. This may surprise you, but I am a former Smalltalker (VAST, VW, and even Digitalk!). I am very familiar with Herr Beck's work. I am currently experimenting with XP on my current J2EE project. I used ST for years, and I wouldn't give up type-safety now for anything. I watched a ST system operating live in a manufacturing environment, with a programmer sitting in the data center waiting for the debugger to pop up. I also appreciate Java's solution to the type-versus-class debate. > > On the other hand, it doesn't seem hard to implement a BMP > > framework that would > > allow you to change datasources without affecting the entity > > beans, so I could > > make the case that a good BMP implementation could offer this > > flexibility as > > well. > > Is there any open source groups working on this currently? I have tried to > map a pure object model to RDBMS and it is not easy. (I wasn't even close.) > Persistence has spent most of their companies history perfecting this. I > don't think it is "easy" by any shot. Well, I've done it several times, and I think easy is relative. I've been on a project that used one of the most popular off-the-shelf O/R mapping tools available (for both ST and Java), and it required an experienced person full time for several months to keep the mappings working correctly for the project. I have seen decent mapping frameworks developed by senior OO programmers in 80-120 man hours (similar time for both ST and Java), which required less maintenance throughout the lifecycle of the project than the off-the-shelf O/R solution. Current CMP solutions are not usable, in my opinion, so I do not include them in the discussion. The O/R mapping problem is fairly well thought out and designed at this point. It's just a matter of doing the same things we've been doing. There are several open-source solutions out there, though I cannot recommend one, mostly due to a lack of experience with them. There are many more cheap solutions that include source, and still others that are more expensive and don't include source. Go figure. If you have someone who understands the problem, I suggest rolling your own. Otherwise, buy or adopt something that you understand, that meets most or all of your requirements, and that includes source. DO NOT go with an O/R mapper that does not include source. > > In an exchange I had with Tom off the list, we discussed this > > further and I > > encouraged him, as I do everyone, to implement entity beans > > using BMP until > > better implementations of CMP are available. If an app > > server provided all of > > the complex mappings necessary to map a domain model to a > > relational database, I > > would not rule out CMP merely because it was proprietary and > > non-portable to > > other app servers. > > Why use an RDBMS then? Myriad reasons. I know this is a cop-out, but I consider this debate settled. OODBs are only feasible in a small number of projects, and usually only for a portion of the persistent data. > There isn't a single O/R mapper out there that does > not hide my object model (which can have M:M relationships) from the method > of persistence entirely. I think you can get close enough, and I HATE modifying my domain objects in order to satisfy persistence requirements. > > I would think that the most we could hope for from future > > specs would be a > > portable way of specifying the meta data for mapping the > > domain objects to a > > given dB schema. > > I just hope that one day we all realize that we are dealing with objects, > not just data. I realize that objects consist of state and behavior. State is equivalent to data. Data is most efficiently stored in a relational database, and behavior is most efficiently stored as compiled code. Neither method of storage can efficiently store the other type of information, and there is no storage mechanism that can efficiently store both. Where is a terabyte scale OODBMS being used? How are they dealing with configuration management? How many transactions per second do they push through and what kind of hardware is required to do it? > When I think EJB I think objects. -> Then I think of persisting them. -> > Then I think about a RDBMS. Not the other way around. That is the way I think about it too. > Greg - Everyone should read more Kent Beck. And many others as well. I'd like to be able to converse intelligently with my co-workers about W. V. Quine, for instance. Personally, I think Kent's metaphors are a bunch of hooey.
begin:vcard n:Wilson;Chip tel;fax:(214) 358-0353 tel;work:(214) 642-4559 x-mozilla-html:TRUE url:http://www.axyssolutions.com/ org:Axys Solutions adr:;;;Dallas;TX;; version:2.1 email;internet:[EMAIL PROTECTED] title:Application Architect note:Sun Certified Java Architect x-mozilla-cpt:;-25088 fn:Chip Wilson end:vcard
