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.

Zope3-dev mailing list

Reply via email to