Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 887

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Database-SQL-RDBMS HOW-TO document for Linux (PostgreSQL Object Relational Database System): Web-Application-Server per PostgreSQL</TITLE>
 <LINK HREF="PostgreSQL-HOWTO-19.html" REL=next>
 <LINK HREF="PostgreSQL-HOWTO-17.html" REL=previous>
 <LINK HREF="PostgreSQL-HOWTO.html#toc18" REL=contents>
</HEAD>
<BODY>
<A HREF="PostgreSQL-HOWTO-19.html">Avanti</A>
<A HREF="PostgreSQL-HOWTO-17.html">Indietro</A>
<A HREF="PostgreSQL-HOWTO.html#toc18">Indice</A>
<HR>
<H2><A NAME="s18">18. Web-Application-Server per PostgreSQL</A></H2>

<P>Svariati Web-Application-Server funzionano con PostgreSQL, sia nelle versioni open-source che
in quelle commerciali. I Web-Application-Server open-source diffusi, sono gli
Application Server basati su Perl come Mason, WIRM, Velocigen,
Enhydra(Java) e Zope(Python); gli Web-Application-Server commerciali sono IBM Websphere,
BEA Weblogic.
<P>&Egrave; consigliato l'uso di un web server sicuro come Apache + mod_ssl + OpenSSL.
Vedere il server sicuro Redhat StrongHold, presso 
<A HREF="http://www.c2.net/products/sh3">http://www.c2.net/products/sh3</A>.
<P>I Web Application Server possono essere classificati in base al
linguaggio di programmazione supportato.
Scegliete un Web Application server in base al
linguaggio di programmazione che <B>vi piace di pi&ugrave;</B>.
<P>Una classificazione dei Web Application server &egrave;:
<UL>
<LI> Basati sul linguaggio <B>PERL</B></LI>
<LI> Basati sul linguaggio <B>PHP</B> (che &egrave; simile al PERL, e un po' somigliante a Java)</LI>
<LI> Basati sul linguaggio <B>Python</B> (linguaggio di scripting orientato agli Oggetti)</LI>
<LI> Basati sul linguaggio <B>Java</B> (Java della Sun Microsystems)</LI>
<LI> Basati sul linguaggio <B>Tcl</B> (linguaggio di scripting Tcl/Tk, chiamato "Tickle")</LI>
<LI> Basati sul linguaggio <B>C++</B> (C++ e CORBA)</LI>
<LI> Basati sul linguaggio <B>Pike</B> (linguaggio di scripting simile al C++)</LI>
</UL>
<H2><A NAME="server perl"></A> <A NAME="ss18.1">18.1 Web Application Server in PERL </A>
</H2>

<P>Il linguaggio Perl, come il linguaggio "C", ha una storia molto lunga, e sar&agrave;
usato per <B>migliaia di anni</B> nel futuro! Perl gira <B>10 volte</B>
pi&ugrave; rapidamente di Java, e qualche volta &egrave; pi&ugrave; rapido anche del "C".
Java &egrave; un sistema molto complesso; la sua macchina virtuale e l'interprete lo rendono
estremamente lento, instabile ed inaffidabile. Perl &egrave; molto semplice, rapido, ed &egrave; orientato agli oggetti.
<P>Inoltre, i programmi in Perl possono essere anche facilmente compilati per migliorarne le prestazioni. Usate
Perl2Exe, una utility a riga di comando per convertire
script perl in file eseguibili 
<A HREF="http://www.indigostar.com/perl2exe.htm">http://www.indigostar.com/perl2exe.htm</A><P>Per PERL sono disponibili i seguenti Web Application server:
<UL>
<LI> Mason 
<A HREF="http://www.masonhq.com">http://www.masonhq.com</A> &egrave; un potente motore per sviluppo
e distribuzione di siti web, basato su Perl.
Con Mason potete incorporare il codice Perl nel vostro
HTML, e potete costruire pagine a partire da componenti riusabili e condivisibili.
<P>
</LI>
<LI> BingoX 
<A HREF="http://opensource.cnation.com/projects/BingoX">http://opensource.cnation.com/projects/BingoX</A>
&egrave; un Web Application Framework open source,
orientato agli oggetti; &egrave; stato scritto in
mod_perl, il che riduce drammaticamente
il tempo richiesto per costruire siti web
e applicazioni dinamici, funzionanti con database estesi.
<P>
</LI>
<LI> SmartWorker &egrave; una collezione di classi Perl, che
permette di costruire applicazioni web come
se fossero vere applicazioni, e non solo modelli in HTML con codice incorporato in modo casuale.
SmartWorker 
<A HREF="http://www.smartworker.org">http://www.smartworker.org</A>
<P>
</LI>
<LI> Progetti di integrazione Apache-Perl.
Con mod_perl &egrave; possibile scrivere moduli Apache interamente in Perl. In aggiunta a ci&ograve;,
l'interprete, persistente ed incorporato nel server, si sottrae all'overhead dovuto all'avvio di un
interprete esterno, e allo svantaggio dei tempi di avvio di Perl.
Fate visita a 
<A HREF="http://perl.apache.org">http://perl.apache.org</A>,
e date uno sguardo anche al progetto <B>mod_perl_garden</B>, presso 
<A HREF="http://modperl.sourcegarden.org">http://modperl.sourcegarden.org</A>
<P>
</LI>
<LI> Apache::ASP 
<A HREF="http://www.apache-asp.org">http://www.apache-asp.org</A>
, fornisce una versione delle Active Server Page per il Server Web
Apache, utilizzando Perl come linguaggio di scripting ospitato.
Apache::ASP consente ad uno sviluppatore di creare applicazioni web dinamiche,
con gestione delle sessioni e l'incorporazione del codice perl. Esistono
anche potentissime estensioni che comprendono librerie di tag XML, XSLT
rendering, e nuovi eventi non facenti parte delle API ASP originarie.
<P>
</LI>
<LI> WIRM (Web Interface Repository Manager) &egrave; un application server,
basato su Perl, che fornisce un
ambiente di programmazione d'alto livello per sviluppare sistemi
informativi via web. WIRM consiste di un database
relazionale ad oggetti, e di una suite di interfacce in Perl per
la visualizzazione, l'integrazione e l'analisi di dati
multimediali eterogenei. WIRM fornisce gli strumenti per creare
punti di vista sensibili al contesto, a partire da un database multimediale;
gli sviluppatori possono, quindi, costruire rapidamente siti web dinamici, che
adattino il loro contenuto, e la presentazione, a classi multiple di
utenti finali.
Visitate 
<A HREF="http://www.wirm.org">http://www.wirm.org</A>
<P>
</LI>
<LI> EmbPerl 
<A HREF="http://perl.apache.org/embperl">http://perl.apache.org/embperl</A>.
Embperl vi d&agrave; la capacit&agrave; di incorporare codice Perl nei vostri documenti HTML. Usare Perl
significa essere capaci di usare un linguaggio di programmazione molto elaborato, largamente
impiegato nell'ambito del WWW. Potete anche utilizzare le migliaia di moduli Perl che sono
gi&agrave; state scritte - compreso DBI - per l'accesso a database di un numero sempre maggiore di
sistemi di database.
<P>
</LI>
<LI> ePerl 
<A HREF="http://www.engelschall.com/sw/eperl">http://www.engelschall.com/sw/eperl</A>
, interpreta un file ASCII, riempito di istruzioni in Perl 5,
passando al vaglio il codice Perl 5 durante la scansione dei dati in
ASCII puro. Pu&ograve; operare in varie maniere: come filtro Unix a s&eacute; stante, 
come modulo Perl 5 integrato (per compiti di generazione di file di tutti i tipi), e come
potente linguaggio di scripting da Webserver per programmazione di
pagine HTML dinamiche.
<P>
</LI>
<LI> XPP 
<A HREF="http://opensource.cnation.com/projects/XPP">http://opensource.cnation.com/projects/XPP</A> 
sta per "XPP Parses Perl" (XPP analizzatore sintattico di Perl), o anche "XPML Page Parser" (analizzatore di Pagina XPML), ed &egrave; un
parser di HTML rapido/efficiente; XPP processa il codice perl incorporato, ma anche
tag come quelli di HTML, a partire da pagine html dinamiche chiamate "pagine XPML".
<P>
</LI>
<LI> Gamla - un RAD e application server basato su perl.
Il progetto gamla aspira alla creazione di uno strumento per sviluppo rapido di applicazioni (RAD),
e di un web application server basati su Perl.
Tutto il codice sorgente, prodotto in seno al progetto Gamla, sar&agrave; di pubblico dominio.

Gamla si trova presso 
<A HREF="http://gamla.iglu.org.il">http://gamla.iglu.org.il</A>
<P>
</LI>
<LI> AxKit 
<A HREF="http://www.axkit.org">http://www.axkit.org</A> &egrave; un Application Server XML per
Apache (e mod_perl). Esso permette di
convertire al volo XML in qualsiasi altro formato, come
HTML, WAP o testo puro; per far questo, si impiegano tecniche standard W3C, oppure
si usa codice flessibile realizzato allo scopo. AxKit utilizza anche un interprete Perl
incorporato per fornire alcune tecniche, sorprendentemente potenti, per trasformazioni di XML.

AxKit mette l'accento sulla separazione tra il contenuto e
la sua presentazione. La tecnica di filtraggio, impiegata da AxKit,
permette la conversione del contenuto in un formato presentabile a
stadi; in questo modo si permette, a certe piattaforme, di vedere i dati differentemente
da come vengono visti da altre. AxKit permette ai web designer di concentrarsi sulla progettazione
del sito web, per lavorare sul solo contenuto di base;
i webmaster, invece, potranno concentrarsi sulle loro competenze di fondo.</LI>
</UL>
<P>Web Application Server Commerciali per Perl:
<UL>
<LI>Zelerate AllCommerce  
<A HREF="http://www.zelerate.org/html/eng/home.shtml">http://www.zelerate.org/html/eng/home.shtml</A>
&egrave; un sistema di gestione delle relazioni commerciali, dei volumi, dei clienti.
Quest'applicazione per Internet, scalabile e dalle elevate prestazioni,
&egrave; scritta in Perl, ed impiega un database di backend.
<P>
</LI>
<LI> VelociGen serve contenuto dinamico archiviato in XML, o su
database, o a partire da dati liberi, e lo fa alla stessa velocit&agrave;
con cui vengono servite pagine HTML statiche: fino a 60 volte pi&ugrave; velocemente della CGI, e senza dover modificare le vostre applicazioni pre-esistenti.
VelociGen, inoltre, rende pi&ugrave; facile sviluppare nuovi programmi con l'uso di tag XML dal lato server, fornisce protezione dai crash,
ed equilibra il carico su macchine multiple.

VelociGen si inserisce in maniera identica all'interno di qualsiasi Web server di qualsiasi piattaforma; con esso vengono incrementate
le prestazioni del server, e velocizzati
i tempi di risposta del sito web, funzionante con contenuto dinamico. VelociGen pu&ograve; elaborare grandi volumi
di richieste simultanee, fino a 10 volte pi&ugrave; rapidamente dei Servlet Java,
e 4 volte pi&ugrave; rapidamente di Cold Fusion.

Velocigen 
<A HREF="http://www.binevolve.com/velocigen">http://www.binevolve.com/velocigen</A></LI>
</UL>
<H2><A NAME="midgard"></A> <A NAME="ss18.2">18.2 Web Application Server per PHP </A>
</H2>

<P>Per PHP sono disponibili i seguenti Web Application server
<UL>
<LI> Midgard PHP Web Application server &egrave; basato sul linguaggio di scripting PHP,
e PHP gira estremamente rapido: pi&ugrave; rapidamente di Java.
Il sito principale di Midgard si trova presso 
<A HREF="http://www.midgard-project.org">http://www.midgard-project.org</A>.
Gli script PHP possono essere compilati con
il compilatore ed ottimizzatore Zend 
<A HREF="http://www.zend.com">http://www.zend.com</A>. PHP gira
molto velocemente, ed &egrave; da 5 a 10 volte pi&ugrave; veloce di Java.

Vedere 
<A HREF="PostgreSQL-HOWTO-41.html#installamidgard">Installazione di Midgard</A>, e
anche il PHP HOWTO presso
<A HREF="http://www.linuxdoc.org/HOWTO/PHP-HOWTO.html">http://www.linuxdoc.org/HOWTO/PHP-HOWTO.html</A>
<P>
</LI>
<LI>Ariadne
<A HREF="http://www.muze.nl/software/ariadne">http://www.muze.nl/software/ariadne</A>
&egrave; un sistema per applicazioni web. Esso consiste di una
infrastruttura completa, volta a facilitare sviluppo e
gestione di applicazioni web, impiegando il PHP. Il sistema
usa un approccio modulare, utilizzando allo scopo interfacce astratte per tutte le
transazioni. Ne deriva la massima libert&agrave; di cambiare
alcune parti dei sistemi, modificandole o aggiungendo nuove funzionalit&agrave;,
senza dover riprogrammare le altre parti. </LI>
</UL>
<H2><A NAME="Enhydra"></A> <A NAME="ss18.3">18.3 Lutris Corp "Enhydra Enterprise" (Java) </A>
</H2>

<P>Enhydra supporta il database PostgreSQL.
Enhydra &egrave; un Web-Application-Server per Java/XML enormemente diffuso,
creato dalla 'Lutris Corporation'. &Egrave; il miglior server per Applicazioni Web in Java/XML.
Supporta EJB, Servlets, JSP, JNDI, JDBC, JTA, CORBA, XMLC/Rocks, DODS
e l'internazionalizzazione.
&Egrave; usato da molte delle 500 maggiori compagnie a grande capitalizzazione di USA ed Europa; queste compagnie (come "France
Telecom") stanno finanziando direttamente Enhydra.
&Egrave; stato scritto in Java puro al 100%, ed &egrave; prelevabile presso
<A HREF="http://www.enhydra.org">http://www.enhydra.org</A>. Enhydra &egrave; un progetto realizzato con codice open source, ma &egrave;
venduto e supportato commercialmente da Lutris Corp. Visitate il sito
<A HREF="http://www.lutris.com">http://www.lutris.com</A><P>Leggete il tutorial sulla configurazione di
<A HREF="http://www.enhydra.org/software/documentation/enhydra/NewApp-DODS-Tutorial-PGSQL.html">PostgreSQL con Enhydra</A>
, e leggete anche come effettuare la 
<A HREF="http://www.enhydra.org/software/documentation/enhydra/Enhydra-NewApp-DODS-Tutorial.htm">Configurazione del database con Enhydra</A>.
<P>Con Enhydra dovreste usare JBuilder della Borland Corp.. Jbuilder si trova presso
<A HREF="http://www.inprise.com">http://www.inprise.com</A><P>Leggete anche l'Enterprise-Java-HOWTO presso
<A HREF="http://www.linuxdoc.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html">http://www.linuxdoc.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html</A><H2><A NAME="Zope"></A> <A NAME="ss18.4">18.4 Zope (in linguaggio Python) </A>
</H2>

<P>Tra i linguaggi di scripting "puramente" orientati agli oggetti, Python sta diventando molto diffuso.
Zope &egrave; un server Web-Application, e fornisce un'interfaccia a PostgreSQL.
Zope &egrave; disponibile presso 
<A HREF="http://www.zope.org">http://www.zope.org</A>
Python si trova presso 
<A HREF="http://www.python.org">http://www.python.org</A><P>
<H2><A NAME="OpenACS"></A> <A NAME="ss18.5">18.5 OpenACS (in linguaggio Tcl) </A>
</H2>

<P>OpenACS (Open ArsDigita Community System)
<A HREF="http://openacs.org">http://openacs.org</A>
&egrave; un toolkit avanzato per
costruire applicazioni web scalabili, orientate alle community. Funziona su AOLserver,
un server per applicazioni web, e PostgreSQL, un RDBMS che rispetta le propriet&agrave; ACID.
Questi due prodotti sono di alta qualit&agrave;, e sono disponibili gratuitamente sotto licenze open-source.
<P>ACS &egrave; stato creato da ArsDigita,
<A HREF="http://www.arsdigita.com">http://www.arsdigita.com</A>, e questo loro ACS
(ArsDigita Community System) mira ad essere indipendente dal database per
quanto possibile, bench&eacute; sia basato su Oracle (ed &egrave; quindi chiaro che Open ACS deve prendersi
tutto il tempo necessario per effettuare il porting).
<P>Vedere anche 
<A HREF="http://www.appserver-zone.com">http://www.appserver-zone.com</A><H2><A NAME="corba"></A> <A NAME="ss18.6">18.6 Web Application Server CORBA in C++ </A>
</H2>

<P>
<UL>
<LI> il Web Application Server PortalSphere &egrave; realizzato in C++ , e gira
sotto Unix (e Linux) per l'estrema velocit&agrave; e stabilit&agrave;. Aderendo
strettamente allo standard CORBA, PortalSphere supporta sia HTTP (il
protocollo di comunicazione standard in Internet)
che il protocollo punto-a-punto IIOP, adatto
a comunicazioni client-server a velocit&agrave; ultra rapida.
Queste caratteristiche di PortalSphere, associate ad un accesso diretto (nativo) a tutti i database diffusi,
gli conferiscono prestazioni lampo, e l'eccezionale
capacit&agrave; intrinseca di gestire eventi in tempo reale su internet.
PortalSphere &egrave; oltre 100 volte pi&ugrave; veloce di HTTP/CGI,
Munito di accesso diretto (nativo) ai database pi&ugrave; diffusi,
Scalabile fino a pi&ugrave; di 10'000 sessioni-utente concorrenti.

Visitate PortalSphere presso il sito 
<A HREF="http://www.portalsphere.com/overview.html">http://www.portalsphere.com/overview.html</A>.
<P>
</LI>
<LI> FlashPoint &egrave; un progetto di Web Application Server in C++,C,PERL; 
&egrave; in grado di supportare servizi con applicazioni web ad alta velocit&agrave; in un
ambiente multi-thread, pu&ograve; supportare svariati linguaggi di sviluppo inclusi C &amp; C++; inoltre supporta buone
procedure di ingegneria del software, che in altri ambienti sarebbero terribilmente ardue da implementare. Flashpoint pu&ograve; essere usato a fianco di Apache, e
in qualche caso pu&ograve; sostituirlo, a seconda delle vostre necessit&agrave;.
Visitate 
<A HREF="http://www.bouldersoftware.com/products/flashpoint">http://www.bouldersoftware.com/products/flashpoint</A>, e scaricate il pacchetto
da 
<A HREF="http://www.bouldersoftware.com/products/flashpoint/download.html">FlashPoint Redhat RPM</A>.
<P>
</LI>
<LI> "C Server Pages" 
<A HREF="http://cserverpages.20m.com">http://cserverpages.20m.com</A> &egrave; un Application
Server, scritto in C/C++, efficiente e scalabile; permette di potenziare
le pagine web server, ed i Template scritti in C++,
con Elementi Dinamici incorporati. Potete usare l'approccio che
preferite.
Potete costruirvi i vostri oggetti di lavoro usando il C++.
Le vostre pagine possono essere i client CORBA per qualsiasi ORB sulla piazza.
&Egrave; presente connettivit&agrave; a tutti i database SQL.</LI>
</UL>
<H2><A NAME="pike"></A> <A NAME="ss18.7">18.7 Pike, Roxen Web Application Server</A>
</H2>

<P>Pike &egrave; un linguaggio di programmazione dinamico, con una
sintassi simile al quella del C++. &Egrave; semplice da apprendere, non
richiede lunghi passi di compilazione, e ha potenti tipi di dati
incorporati che ne permettono una gestione semplice e rapida.
Pike &egrave; stato rilasciato sotto la licenza GNU/GPL, o general public
license.
<P>Pike &egrave; un potentissimo linguaggio di scripting orientato agli oggetti;
poich&eacute; ha una sintassi identica a quella del C++, se ne prevede una
diffusione <B>esploder&agrave;</B>, nei prossimi anni.
<P>Pike si trova presso il sito 
<A HREF="http://pike.roxen.com">http://pike.roxen.com</A>,
e il web server Roxen &egrave; presso 
<A HREF="http://www.roxen.com">http://www.roxen.com</A>.
<P>Roxen &egrave; un web server modulare
con un'interfaccia DB completa, ed include supporto a Postgres.
Ha pieno supporto per SSL, ed &egrave; stato rilasciato sotto la GPL.
Roxen &egrave; stato scritto utilizzando il linguaggio di scripting Pike.
<H2><A NAME="webappdir"></A> <A NAME="ss18.8">18.8 Web Application Servers Directory </A>
</H2>

<P>Visitate 
<A HREF="http://198.85.71.76/html.html">Web Application Servers</A>.
Recatevi nella directory con "Yellow Pages".
<P>
<HR>
<A HREF="PostgreSQL-HOWTO-19.html">Avanti</A>
<A HREF="PostgreSQL-HOWTO-17.html">Indietro</A>
<A HREF="PostgreSQL-HOWTO.html#toc18">Indice</A>
</BODY>
</HTML>