[ANN] AIDA/Web app server 5.4 beta released on Squeak

Janko Mivšek janko.mivsek at eranova.si
Thu Jun 14 20:46:31 UTC 2007

Hi Giovanni,

Giovanni Corriga wrote:
> Il giorno gio, 14/06/2007 alle 13.27 +0200, Lukas Renggli ha scritto:
>>> - Url's not RESTlike
>> The question about REST is more a religion than a technical question.
>> Fact is,  Seaside supports RESTful URLs with little additional effort
>> from the developer.
> While I agree with Lukas that Seaside supports RESTful URLs, I'd like to
> remind everyone that REST is much more than having meaningful URLs.

That's true and another truth is that everyone has a different opinion 
about what REST actually means. Probably because of its name 
(REST=Representational State Transfer, what the heck that means?).

What it is very important to understand and what is also a central 
principle of REST architecture (1) is the meaning of that R in URL: 
Uniform RESOURCE Locator.

So what is then the resource which the URL uniformly locates?

For static pages it is obviously a web page, but what about dynamic web 
apps, where pages are generated on the fly?

Here Aida claims that the resource is an object in domain model of your 
  application. An URL therefore uniformly locates that domain object. 
And each domain object which is worth to be shown as web page has its 
own URL.

As a consequence the object references got translated to a web of URLs 
pointing to that "web" of objects. We have therefore a 1:1 translation 
of "web" of object model to a web of web pages whose represents that 
objects. That way Aida tries to preserve a web philosophy in Object 
Oriented world.

Those web pages are created on the fly but URL stays the same a whole 
lifecycle of domain object. That way such URL is bookmarkable, usable in 
e-mails, etc.

Aida understand REST as "REST refers to a collection of network 
architecture principles that outline how resources are defined and 
addressed" but not as "any simple interface that transmits 
domain-specific data over HTTP without an additional messaging layer 
such as SOAP or session tracking via HTTP cookies"(1). On the other 
words, Aida is a statefull web app server while strict REST promotes 
stateless ones.

To conclude, Aida follows the central principle of REST: a web of 
resources, and that allows the bookmarkable urls directly to objects in 
application's domain model. But it does not follow a stateless principle 
of resource state changing, but rather use a statefull approach with 
help of cookies.

(1) http://en.wikipedia.org/wiki/REST

Best regards

Janko Mivšek
Smalltalk Web Application Server

More information about the Squeak-dev mailing list