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/ |
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. Sven |
On Sun, Mar 27, 2011 at 2:42 PM, Sven Van Caekenberghe <[hidden email]> 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. 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. |
Hi Sean,
What exactly would you like to achieve with Rack-like middleware? As I understood Rack is mostly a HTTP message composing/parsing framework, so in short the HTTPRequest and HTTPResponse classes with all accompanying infrastructure. We have that already in all our HTTP projects, from Swazoo to WebClient and Zync, etc. What would be nice would be an unified HTTP messaging for all web projects... Best regards Janko On 28. 03. 2011 01:55, Sean Allen wrote: > On Sun, Mar 27, 2011 at 2:42 PM, Sven Van Caekenberghe <[hidden email]> 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. > 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. > > -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si |
Unified handling of how http messaging is done.
Working on two different things that both need to do http messaging and it would be nice to have a single interface for them, additionally, it would be great to be able to register different steps along the way like... this is a handler routing... send everything under X path to this registered app/middleware bit. and be able to compose discreet parts together. ie, this handles file serving, this handles authentication and put them together into a single 'application'. basically i'm trying to do small simple parts, that are put together for more rest/resource oriented stuff. i did a rough run using ruby & rack + clojure & ring over the weekend to try and tease out the different parts and found that rack/ring were great to build on top of. also looking for the ability to add routing to application parts based on things like accept header and have built in automatic handling for different http codes that can then be hooked into and overridden but that is above a rack/ring/wsgi type interface. Sorry if this is kind of vague, I'm still working through what I want to do with some exploratory programming. 2011/3/28 Janko Mivšek <[hidden email]>: > Hi Sean, > > What exactly would you like to achieve with Rack-like middleware? > > As I understood Rack is mostly a HTTP message composing/parsing > framework, so in short the HTTPRequest and HTTPResponse classes with all > accompanying infrastructure. We have that already in all our HTTP > projects, from Swazoo to WebClient and Zync, etc. > > What would be nice would be an unified HTTP messaging for all web > projects... > > Best regards > Janko > > On 28. 03. 2011 01:55, Sean Allen wrote: >> On Sun, Mar 27, 2011 at 2:42 PM, Sven Van Caekenberghe <[hidden email]> 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. >> 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. >> >> > > -- > Janko Mivšek > Aida/Web > Smalltalk Web Application Server > http://www.aidaweb.si > > |
In reply to this post by SeanTAllen
>>
>> 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. a bit of background from me could help here. i'm going to end up having redline smalltalk using either netty or jetty be the final target for my own personal use of this when i'm done so the 'string/byte oriented' is going to be important to me. i'm playing around with how restful resources using stored blocks would look and the final end result i would build on top of it is going to be a combination of some stuff i wrote earlier this year in smalltalk using pharo ( ported to redline ) and a later part that i had a much easier time expressing using clojure. thus the jvm is a big + for me, but in general as i'm one of the redline guys, it is probably going to be my primary platform sometime in the future ( although i still love pharo and gemstone which i've used for a few years now and plan to keep contributing to in whatever fashion i can. ) |
Free forum by Nabble | Edit this page |