[aida] Amber + Aida?
janko.mivsek at eranova.si
Sun Mar 11 13:18:03 CET 2012
I think your question can be divided in two questions:
1. REST API support in Aida
2. Amber and Aida integration
1. REST API support
Aida is REST-like framework respecting the Central principle of REST :
"An important concept in REST is the existence of resources (sources of
specific information), each of which is referenced with a global
identifier (e.g., a URI in HTTP). In order to manipulate these
resources, components of the network (user agents and origin servers)
communicate via a standardized interface (e.g., HTTP) and exchange
representations of these resources (the actual documents conveying the
In Aida a Resource is a domain object, representation is by default an
HTML page done by object's App as presenter. And each domain object can
have its own URL.
Forthcoming Aida 6.5 is introducing presenters for JSON and XML and
adding support for building full RESTful web services to communicate
with Aida from REST clients using additional PUT and DELETE methods and
respecting current REST best practices.
As you said this is quite natural extension for Aida because of its
original REST-like architecture, so you'll be able to build full REST
APIs with Aida soon. A bit rethinking is needed to adopt REST practices
while preserving Aida philosophy by merging both as naturally as
possible. But recent work encouraged by Robert Calco was quite a step
2. Amber and Aida
REST is one way Amber can communicate with server. It has advantage that
it is loosely coupled and that server's REST API can be used to other
REST clients as well. Disadvantage is that building REST API and
appropriate messages is quite some task.
Therefore I'm rather thinking to integrate Amber in Aida more tightly
and use Ajax and WebSocket communication between them. Idea is to build
web apps the usual Aida way then just emit this code to Amber to execute
it on the client. To put more execution to the client as Aida apps have
now. Even more: to decide in runtime, where actually execute your app:
fully on the client (if you are offline), fully on the server, or
partition it for a part on client part on server.
introducing to the web apps what Smalltalk has in 80s already: full MVC
with dependencies, that is, when domain object changes, all dependent
views update automatically. Including web views of course and that's
also the main idea behind so called realtime web.
All this is still in very early stage of thinking, so any help with
brainstorming towards Amber integration is welcome!
> ---------- Forwarded message ----------
> From: Sebastian Sastre <sebastianconc... na gmail.com>
> Date: Mar 4, 5:11 pm
> Hi guys,
> if I understand things right Aida is REST and Amber <http://amber-
> lang.net/> is hungry of a REST server-side counterpart.
> There is also this Seaside REST<http://code.google.com/p/seaside/wiki/
> SeasideRest>thing  and even
> developing-w...> for developing Amber and persist code in the
> server side.
> This all makes sense.
> So, here my question is:
> given that Aida is *a natural born REST server*, do we have an Aida
> to work with Amber?
> any experiences to share? ideas on how to do it? advantages found in
> vs. SeasideRest for this goal?
> Aida mailing list
> Aida na aidaweb.si
Svetovalec za informatiko
tel: 01 514 22 55
faks: 01 514 22 56
gsm: 031 674 565
More information about the Aida