[Pharo-project] ZnServer - Swazoo - Comanche

Sven Van Caekenberghe sven at beta9.be
Sun Jun 19 15:42:36 EDT 2011

Hello Germán,

On 19 Jun 2011, at 16:14, Germán Arduino wrote:

> Hi Sven, People:
> I want to ask about ZnServer, is focused in have at some point all the
> features of Swazoo or Comanche and being itself a complete web server?
> Or the goal is only to be a default implementation, as the comment says?
> Thanks.
> Germán.

From my point of view, the goal of Zn is to be a framework implementing the HTTP protocol and a library on top of that offering client and server functionality based mainly on RFC 2616.

The server part is kept relatively simple: the server does multithreading, connection handling, request parsing and response writing and then asks its delegate to do the work, using #handleRequest: which is given a ZnRequest as argument and is expected to return a ZnResponse. 

The code doing the #handleRequest can be simple, like in the examples that are included, but could become arbitrarily complex, like Apache.

Anyone is free to build on top of Zn whatever they think makes sense, most of this will probably be more application specific and hence out of the scope of Zn.

The Seaside adaptor is a good example: it is an add-on. Seaside expects very little from its servers and Zn is offering slightly more than needed. Still, the Seaside experience is quite rich to say the least.

I don't consider Swazoo or Comanche competition, they offer more features but also specific API's.

Another goal of Zn is understandability: I would like the Zn code to be readable by anyone interested in HTTP.


More information about the Pharo-dev mailing list