[Zope] Python object lifecycle? (was Re: [Zope] Where to put businesslogic?logic?

Robb Shecter shecter@darmstadt.gmd.de
Fri, 18 Feb 2000 19:45:51 +0100


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 )