[Seaside] rack/wsgi/ring for smalltalk

Philippe Marschall philippe.marschall at gmail.com
Mon Mar 28 15:32:25 UTC 2011


2011/3/27 Sean Allen <sean at monkeysnatchbanana.com>:
> On Sun, Mar 27, 2011 at 2:42 PM, Sven Van Caekenberghe <sven at beta9.be> wrote:
>>
>> On 27 Mar 2011, at 19:13, Sean Allen wrote:
>>
>>> Is there a smalltalk equivalent for rack/wsgi/ring etc out there?
>>>
>>> I have an idea I'm going to play with that would be best served by
>>> building on something like rack.
>>> If there isn't one already, I'll implement one first and then move on
>>> to the idea that builds on it.
>>> If there is one, I'd rather see if it meets my needs and use it.
>>>
>>> Any pointers to anything appreciated.
>>>
>>> For  anyone not familiar with rack et al:
>>>
>>> They are basically' middleware' layers providing a standard interface
>>> between webservers and applications.
>>> Middleware is a little deceptive... a better description might be that
>>> it is an interface that allows you to
>>> hook into between a webserver and other end points by either hooking
>>> up an application or middleware
>>> ( authentication, file serving ) that can be composed together as part
>>> of a specific application.
>>>
>>> http://rack.rubyforge.org/
>>> https://github.com/mmcgrana/ring
>>> http://www.wsgi.org/wsgi/
>>
>> Might be cool and useful.
>> I guess that Seaside's WAServerAdaptor concept comes very close.
>> It has the advantage that it's proven in the field, supporting many servers in different Smalltalk implementations.
>> But maybe you already knew this.
>>
>
> WAServerAdaptor isn't really much like ring, rack et al.

Yes and no. It has the same responsibility in the "Seaside stack" but
is "object oriented" and not "string/byte array oriented" and more
high level.

> But it does put the thought into my mind that it would be interesting
> down the road to
> try and take the Seaside infrastructure and work something like rack into it.


Well the "problem" is that "traditional" servers (Comanche, Swazoo,
OpenTalk) used to "object oriented" and fully featured web servers.
Since building something like that takes a lot of work more recent
servers (FastCGI, SCGI, AJP) are "string/byte array oriented". The
later ones are obviously easier to adapt to a ring/rack/wsgi style
interface.

Cheers
Philippe


More information about the seaside mailing list