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

Reply via email to