rack/wsgi/ring for smalltalk

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

rack/wsgi/ring for smalltalk

SeanTAllen
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/

Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] rack/wsgi/ring for smalltalk

Sven Van Caekenberghe

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



Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] rack/wsgi/ring for smalltalk

SeanTAllen
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.

Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] rack/wsgi/ring for smalltalk

Janko Mivšek
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

Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] rack/wsgi/ring for smalltalk

SeanTAllen
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
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [Seaside] rack/wsgi/ring for smalltalk

SeanTAllen
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. )