[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
--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si
More information about the Squeak-dev
mailing list
|