[squeak-dev] [ANN] WebClient and WebServer 1.0 for Squeak

Andreas Raab andreas.raab at gmx.de
Wed May 5 05:14:22 UTC 2010


Folks -

I'm happy to announce the release of WebClient and WebServer 1.0 for 
Squeak 4.1. I started this little side project about half a year ago 
when I realized that I had just written the third almost-but-not-quite 
complete HTTP server implementation internally. The thing is, HTTP 
servers and clients are tremendously useful. Having a small and compact 
implementation offers all sorts of interesting uses. For example, we use 
HTTP as command and control interface for various backend server 
aspects; be that generating status XML for processing by a front-end php 
app, or profiling of the live application, or RTSP handling, or 
server-to-server communication. Given all these interesting simple 
applications I figured it was about time to write a *simple* general 
purpose HTTP server (yes, I'm looking at you Kom).

While writing it I quickly noticed that I need an accompanying client 
since HTTPSocket was just too awful for testing. It's incomplete, 
inconsistent and broken in lots of interesting ways. The good thing is 
that since both client and server share much of the representation, the 
overhead is very small.

As a result, we now have what I think is a pretty decent HTTP server and 
client implementation for Squeak 4.1 and hopefully we can nuke 
HTTPSocket sometime soon. WebClient is superior in *every* respect.

Oh, one word about the name: HTTPxxx is taken, HttpXxxx is taken, so I 
was left with the choice of either going for HtTpClient / HtTpServer, or 
WebClient / WebServer. The name's a little broad, granted, but better 
than mixed caps :-)

 From the project page (http://www.squeaksource.com/WebClient):

-------------------------------------------------------------------

Project Description
WebClient and WebServer are simple, compact, and easy to use HTTP client 
and server implementations.

Installation
To install WebClient and WebServer, execute the following from a 
Workspace in Squeak:

(Installer ss project: 'WebClient')
	install: 'WebClient-Core';
	install: 'WebClient-Tests';
	install: 'WebClient-Help'.

In addition to the core functionality, a set of patches is provided by 
the 'WebClient-HTTP' package replacing HTTPSocket by WebClient (which 
means WebClient will be used for Monticello, updates etc):

(Installer ss project: 'WebClient')
	install: 'WebClient-HTTP';

An experimental Seaside 3.0 adapter for WebServer is available in the 
'WebClient-Seaside' package:

(Installer ss project: 'WebClient')
	install: 'WebClient-Seaside';

Help is provided via HelpSystem but make sure you also look at the 
example in class WebClient and WebServer itself.

-------------------------------------------------------------------

Cheers,
   - Andreas



More information about the Squeak-dev mailing list