[Zope3-dev] Florent's O-R blog entry

Shane Hathaway shane at hathawaymix.org
Tue Aug 23 12:56:26 EDT 2005


Gary Poster wrote:
> In conclusion, the nebulous concept of "enterprise" applications on  
> Zope does not have a clear cut decision for or against an O/R mapper  
> such as Ape.  The cost of O/R mappings is not inconsequential, and  the 
> advantages are not conclusive.  I hope that large projects that  the 
> Zope community works on together can support both, and do not  depend on 
> or exclude their use.  Florent makes some excellent  observations, and 
> solutions to the problems he identifies could be  done at a number of 
> layers in the code base.  Meanwhile, switching  entirely to an O/R back 
> end over FileStorage or DirectoryStorage  feels like a significant case 
> of "throwing the baby out with the bath  water".

I would use this argument to support the idea of transparent ZODB-based 
O/R mapping, which is what Ape does.  With a transparent mapper, users 
can choose their own storage backend.  The baby is the application code 
and the bath water is FileStorage/DirectoryStorage.  Ape keeps the baby 
100% intact. ;-)

Consider two scenarios:

1) A large open source Zope project decides they need the features of an 
RDBMS throughout, so they dump ZODB and write to the RDBMS instead.

2) The same large Zope project decides their application should store 
data primarily in ZODB, but that users should have the option of storing 
data in an RDBMS instead.  The developers rely on a transparent 
ZODB-based O/R mapper to provide that option.

In the first scenario, by dumping ZODB, the developers are building a 
thick wall around their project.  I suspect it will be hard to share 
code with the rest of the community because each camp will have to 
maintain its own version of each module.  Zope mindshare will divide, 
making everyone a little weaker.

In the second scenario, there may be technical disadvantages, but the 
majority of code written for Zope continues to be fairly interoperable 
because most of it is based on ZODB.  The social advantage of sharing 
code is worth the price of a few technical disadvantages.

Shane


More information about the Zope3-dev mailing list