Jerry Spicklemire wrote:
Not to start a "what IS client server?" discussion (I thought we got past that in the last millenium),
Yes.
but it looks to me like Zope IS the middle layer.
Hmmm... I don't know about that. I guess it can be...
In terms of layers, the browser "front end" handles presentation (client), the "back-end" (data server, host) is an RDB, or CD tower (of image files), or whatever, then the integration layer "middle" is Zope.
I disagree. (OK, I admit that this is somewhat silly, because there's really many layers here, and what we call them isn't all that important.) A browser is a weird thing. It's not really a full client on it's own, since DHTML / Javascript really sort of died. Now, a Java applet in a browser -is- a front-end to me. But, using just plain html in the browser means that the front end must be split between the client and server. So, what you get is this: { "Pure-HTML" in browser scenario } Name: Front End Responsibilities: Reacting to user input, rendering information Location: Split between a web browser and an HTML/HTTP server. (CGI, Zope, Servlet, etc.) Name: Middle Tier Responsibilities: Business Logic. Ie: user authentication, rule enforcement, brokering, trading, bus-like behavior. Location: On the same or different computer as the HTML/HTTP server. Name: Backend / Datastore ..... So, the issue here seems to be that Zope absolutely does the Front-End stuff. (Plain old content management, style-like HTML rendering, etc.) But, the real questions are does / should / can Zope do the middle tier stuff? Usually it's nice middle tier is a long running process. It can be programmed in an OO style, and in a *stateful* manner. It looks like Zope's answer here is to write Python classes that get used as external methods. What's not clear to me is how these Python objects live and die, and when. - Robbb
It really doesn't change whether you call it "middleware", "application server", "content manager", etc.
In other words, Zope is where you get to build in the business logic, as objects, and find relief from the narrow bounds of SQL. Of course, the Zope layer can be fairly complex and is subject to being defined as having multiple layers within itself, but that's another thread.
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )