Paul Everitt <paul@digicool.com> wrote:
Martijn Pieters wrote:
If the Zope data stored in a RDMS can be accessed by other apps, this would be benificial to promoting Zope to people that think in RDMS's as an end to all Web Applications, even though I personally don't see a direct use for such access.
On a technical level, since the data in the RDBMS record is a pickled Python instance, it would be basically unusable to other applications. You'd gain a "standard" for record management, but not one for data management.
On an abstract level, the statement "if Zope data can be accessed by other applications" seems to be a pretty clear violation of encapsulation, but that's just the object zealot party line. :^)
Allowing the IT guys to write ad-hoc reports against the data in the ZODB may be a showstopping requirement in some projects; integration with existing reporting tools would necessitate access via SQL. We could view such requirements as a clarion call for another layer of (refactored) design: perhaps providing hooks to allow the Zope developer to tackle the OO<-->RDBMS mapping problem head on would be useful? I see these hooks as similar to SQL adapters, but in the service of persistence, rather than method invocation. Breaking the dependency on pickling, using instead, say, XML stored as a blob, might be helpful in some circumstances, as well. -- ========================================================= Tres Seaver tseaver@palladion.com 713-523-6582 Palladion Software http://www.palladion.com