[PLUTO-help] CGI->JSP
Gian Uberto Lauri
GianUberto.Lauri a eng.it
Lun 17 Set 2007 20:22:43 CEST
>>>>> "CAF" == Carlo Alberto Filiberti <kain1985 a libero.it> writes:
CAF> Scusate raggazi so che la richiesta può sembrare strana ma avrei
CAF> bisogni di materiale riguardante un confronto fra la tecnologia
CAF> CGI e la JSP...vorrei documentare il perchè del progresivo
CAF> passaggio dalla prima alla seconda nella programmazione Web..
Non è documentazione, comunque...
* In CGI il protocollo di comunicazione non è immediato, ad esempio i
parametri ti arrivano grezzi, devi separarteli da solo. Questo
vuole dire un lavoro che non tutti i programmatori riescono a fare
senza morire dietro ai SIGBUS o SIGERROR (programmazione C e affini)
ed inoltre possono cascare facilissimamente in codice poco sicuro
(buffero overflow per C e affini, problemi di sostituzione in SHELL
e PERL).
* Con sistemi come ASP (bleah) o PHP risolvi questo problema.
* Con Java hai armi per affrontare problemi di grossa taglia. Con
paragoni marinari possiamo paragonare PHP ad una motosilurante (o al
massimo ad un caccia torpedinere), Java è una task force con
incrociatori, portaerei e corazzate dove JSP ha il ruolo del
naviglio leggero d'appoggio. Ovviamente NON usi una task force dove
un cacciatorpediniere o un mas sono adatti, e viceversa. D'altro
canto puoi non schierare la parte più pesante della flotta (gli EJB)
ed anzi la maggior parte delle applicazioni web fa uso del solo
servlet container (gli incrociatori).
Creare CGI risulta quindi costoso (perché o ci metti programmatori
*BRAVI* -merce rara e tendenzialmente esosa-) oppure la realizzazione
e la manutenzione saranno dei dolori.
Molto, molto meglio affidarsi a PHP o Java (ASP se si gode molto a
colpirsi i testicoli con un maglio da fabbro)
PHP e orridumi proprietari si sono diffusi per progetti leggeri,
spesso PHP si fa preferire per l'infrastruttura più economica.
Java richiede una infrastruttura più tosta. Ma offre tutta una serie
di servizi in più, non sempre realizzati in modo elegante. Ma permette
di sostituire un sistema transazionale basato su mainframe e di creare
applicazioni che scalano con le esigenze dell'utente.
O.K. questa la teoria.
Ora la pratica.
Nella visione teorica JSP dovrebbe essere puramente lato
presentazione, con pesante uso di custom tag per non frammischiare
logica e presentazione (e due sintassi diverse, che rendono i sorgenti
un bordello - questo è un problema comune anche a PHP(*)).
In pratica vien farcito di codice perché non viene impiegata gente
addestrata a sufficenza.
Java ha comunque una grande fortuna, ammettiamolo, perché è di moda,
ma ho visto spesso Java preparare per il Web dati macinati da
mainframe o da codice che gira sotto Oracle...
Nonostante tutto questo, Java ha dei suoi punti forti. Regge a tutta
una serie di attacchi (ma non a tutti, hijacking e SQL injection sono
sempre possibili se i programmatori sono baucchi :) ), è un linguaggio
elegante, coerente. Quindi non è stupido sceglierlo, se la taglia del
problema è di dimensione sufficiente.
Molti dei problemi che si hanno con Java non sono intrinseci a Java,
ma sono dovuti a chi programma. Java NON è facile.
E dove va Java va JSP, la diffusione di JSP è strettamente legata a
Java Enterprise (o Web (**)) edition.
Peraltro non è che con PHP si sia automaticamente al riparo, e
sinceramente fare dei web services con PHP 4 non è una cosa piacevole
e facile.
(*) Ci sono buoni programmatori PHP che non cascano in questo errore.
(**)Termine coniato dalla comunità che fa riferimento appunto all'uso
dei servlet container, tralasciando gli EJB.
Spero sia servito
--
/\ ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
//--\| | \| | Integralista GNUslamico
\/ e coltivatore diretto di Software
More information about the pluto-help
mailing list