While walking home tonight, I was listening to Azure Ray on my iPod, right as I was passing Borders. Being very enamored with this beautiful band from Athens, I was wondering if they had a new album out, and if Borders would (by chance) have it. So, purely on a whim, I went in and happily enough, there it was.
While there, I decided to stop by the software design portion of the computer section because I like looking at pretty graphs, where I came across Component Software by Clemens Szyperski, with contributions by Dominik Gruntz and Stephan Murer. I only got a glance through it, but I was fairly impressed with what I saw. It looks to be a good higher level complement to the dense Component Based Software Engineering: Putting the Pieces Together. Of primary interest is Part II, a range of chapters covering the foundations of components, including "Aspects of scale and granularity", "Patterns, frameworks, architectures", and even a chapter on how to avoid inheritance.
While I haven't looked at the book in depth enough yet, I recommend it for Zope 2 developers interested in what the Zope 3 Component Architecture will end up meaning to them. Zope 2 has a lot of great things going for it, but it has a lot of issues as well. The Component Architecture makes for a more flexible system wherein configuration of components, views, relationships, event handlers, services, and whatnot give much much much more power for customization. This book looks like it gives broad coverage to all of the topics, as well as how popular implementations work and what they've managed to accomplish. It could give good insight on how to architect software for use with Zope 2 today that can fit into the Zope 3 mold of tomorrow.