[Python] mod_python ed il giusto handler
Andrea Giammarchi
andrea a 3site.it
Ven 18 Ago 2006 19:26:17 CEST
Vorrei solodire che mi si era impallato l'host e mi sono perso
probabilmente altri messaggi quindi mi scuso se non ho risposto anche
agli altri.
Aggiungo che ACE utilizza una versione light del methodTable, sistema
sfruttato dal progetto AMFPHP nonchè da quello analogo per Perl e Python.
Trattasi di Flash remoting, utilizzo di oggetti server sul client ed
invio di oggetti client al server, disponibile ufficialmente anche per
J2EE ed ASP.NET.
Quindi visto che tutti i linguaggi più note hanno da anni utilizzato il
trasporto di oggetti da e verso il client, se esiste un filtro
(methodTable) ed in questi anni nessuno s'è mai accanito sulla
pericolosità dello scambio di oggetti attraverso questo filtro, presumo
che ACE non debba preoccupare nessuno, salvo bugs miei sul codice, ma il
sorgente è Open.
Unica accortezza che forse inserirò nelle F.A.Q. è la questione degli
oggetti, che non è detto debbano essere disponibili (sul client sono
creati runtime se non presenti, anche sul server in generale per
permetterne la restituzione) perchè possono anche viaggiare
tranquillamente per permettere di modificare solo qualche proprietà (una
lista di informazioni assegnata a noti parametri) ed essere restituito
senza richiamare alcun metodo ma con informazioni aggiornate.
A quel punto il client avrà l'oggetto aggiornato restituito dal server,
poco consigliabile fare questa operazione al contrario.
In ultimo, se in Pippo(): def register(self, ClientObject): mi aspetto
che ClientObject sia un'istanza esatta di un'altra classe già definita
in Python sapete meglio di me come controllarlo e solo se tale allora
userò il metodo che mi server, ma sono casi molto particolari, che
starebbero meglio in un'area admin post autenticazione... ma non per
questo non devono poter esistere (imho) visto che farlo è possibile.
ACE per python (PyACE ??? :P) crea la classe runtime solo se esistente,
altrimenti restituisce un dict perche PyRex non supporta exec e non sono
riuscito a trovare il modo nella serializer per PyRex di crere una
classe runtime :-(
Maggiori informazioni sulla lista
Python