[Linuxtrent] Re: Sun & Google per AJAX Office: un articolo da non perdere

  • From: Guido <gdo@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sun, 16 Oct 2005 09:18:07 +0200

Daniele Nicolodi ha scritto:

On Sun, Oct 09, 2005 at 12:14:47PM +0200, Guido wrote:

Scusa Guido per il lungo delay ma sono stato impegnaato su altri fronti.


Su questi argomenti mai mettersi fretta; dopotutto son più di due anni che se ne discute ;-)

Recenetemnte c'e' un ovvio aumento dell'interesse nel fornire qualche
funzionalita' AJAX precotta nel framework di base ma non ho visto ancora
nessuna proposta concreta o qualche pezzo di codice.


Ok, grazie; volevo esser certo di non reinvenare la ruota; una sbirciatina alle architetture altrui è sempre molto interessante.

- la possibilità di aggiornare i dati senza ricaricare le pagine di presentazione



Questa e' una funzionalita' da implementare lato client e come dicevo
prima Zope3 al momento si cura solo della parte server. Ci sono comunque
N librerie javascript che fanno questo.


Ok; si stavo chiedendo se appunto c'erano ambienti di sviluppo integrati che utilizzassero tecniche AJAX; nek '93 avevo fatto la stessa domanda ed ottenuto la stessa risposta.
Effettivamente gli "application server" attuali si preoccupano di codificare un ambiente solo lato server che è adatto ad applicazioni WEB tradizionali.
Se si vuole utilizzare il modello ad eventi non sono specifici e sei costretto a fare i salti mortali.


Quel che ho in mente ha l'ambizione di sopperire a questo mettendo a disposizione un ambiente di sviluppo orientato agli eventi. Ho individuato una serie di tecnologie disponibili sia per il server che per il client per dare risposta alle esigenze sotto riportate, ed ora si tratta di "incollarle" tra loro e fornire un RAD per ridurre draticamente i tempi di sviluppo e il debugging.
- JSON (http://www.crockford.com/JSON/) per la serializzazione degli oggetti tra ambiente server ed ambiente browser web
- POE: (http://poe.perl.org/) per la gestione ad eventi lato server (anche attraverso la mediazione di APACHE o autonomamente)
- MASON (http://www.masonhq.com) quale strumento di "templating"
- SPOPS (http://spops.sourceforge.net/) per gestire gli oggetti dell'ambiente su database ed LDAP


A parte la scelta dei "mattoni", che immagino siano disponibili anche in altri linguaggi e framework, vorrei definire una architettura ed una relativa implementazione che mi permetta di descrivere una applicazione distribuita tra un insieme di più server e più client, dove l'interazione tra i nodi sia affidata a gestori di eventi (eventi provenienti da qualunque nodo) che alimentino delle macchine a stati.

Questa è ovviamente una vecchia idea; ad esempio è alla base del funzionamento praticamente di tutte le GUI, dove la macchina a stati è sostanzialmente la logica dell'applicazione.

Una delle maggiori difficoltà nel programmare DOM + Javascript è controllare il comportamento dinamico del browser. Vorrei per questo riuscire ad utilizzare un modello ad eventi per l'ambiente DOM (tra quelli gia realizzati; vedi il recente esplodere di librerie AJAX), ma tale da poter avere un unico ambiente di gestione degli stessi, così da codificare i vari comportamenti (avete in mente il vecchio modello dei RAD tipo Visual Basic o Delphi?), sia lato client che lato server (una volta codificato l'evento e stabilito chi si occupa della risposta è teoricamente facile "svegliare" l'handler stabilito, sia esso lato client che lato server tramettendo il codice al client ovvero eseguendo la componente server sul server ... o su altro server).
Anche a livello di ambiente RAD è teoricamente più facile codificare la presentazione e relativo comportamento dinamico ...................... se avessi le idee chiare andrei avanti ancora, ma tra il dire ed il fare c'è di mezzo il ... TEMPO e per ora più in la non sono andato.


Ciao
Guido

P.S. A chi viene lunedì alla biblioteca mostrerò una tesi di laurea di quest'anno di uno studente trentino che svolgendo la tesi presso la mia azienda, ha messo nero su bianco questi concetti; un primo timido tentativo di definire una architettura, come sopra sommariamente descritto.

Ciao



-- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: