<!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): Applicazioni e Strumenti per PostgreSQL</TITLE> <LINK HREF="PostgreSQL-HOWTO-20.html" REL=next> <LINK HREF="PostgreSQL-HOWTO-18.html" REL=previous> <LINK HREF="PostgreSQL-HOWTO.html#toc19" REL=contents> </HEAD> <BODY> <A HREF="PostgreSQL-HOWTO-20.html">Avanti</A> <A HREF="PostgreSQL-HOWTO-18.html">Indietro</A> <A HREF="PostgreSQL-HOWTO.html#toc19">Indice</A> <HR> <H2><A NAME="s19">19. Applicazioni e Strumenti per PostgreSQL</A></H2> <P> <H2><A NAME="ss19.1">19.1 4GL per applicazioni web database con PostgreSQL - AppGEN Development System</A> </H2> <P>AppGEN può essere scaricato da <UL> <LI> <A HREF="http://www.man.ac.uk/~whaley/ag/appgen.html">http://www.man.ac.uk/~whaley/ag/appgen.html</A></LI> <LI> <A HREF="ftp://ftp.mcc.ac.uk/pub/linux/ALPHA/AppGEN">ftp://ftp.mcc.ac.uk/pub/linux/ALPHA/AppGEN</A>.</LI> </UL> AppGEN è un linguaggio ad alto livello di quarta generazione, ed un generatore di applicazioni per produrre applicazioni basate sul World Wide Web (WWW). Queste applicazioni sono tipicamente usate in internet o nelle intranet aziendali. Le applicazioni AppGEN sono implementate come script C conformi al Common Gateway Interface (CGI), che è uno standard supportato dalla maggior parte dei Web Server. <P>Per usare AppGEN vi servirà quanto segue: <P>PostgreSQL, sistema di gestione di database relazionali (RDMBS). <P>Un Web server compatibile con CGI, come l'HTTPD di NCSA. <P>Un compilatore ansi C come GCC. <P>AppGEN consiste dei seguenti eseguibili Unix (Linux): <P> <UL> <LI> defgen, che produce un modello di applicazione elementare a partire da una struttura di dati logica. Le applicazioni sono in grado di inserire, aggiornare, cancellare e ricercare su record del database, e allo stesso tempo di mantenere automaticamente l'integrità referenziale. </LI> <LI> appgen, il compilatore di AppGEN che compila il codice sorgente appgen in linguaggio C ed eseguibile in CGI, e documenti formattati HTML, pronti ad essere resi disponibili su un server web. </LI> <LI> dbf2sql, una utility per convertire i file .dbf (dBase III compatibili) in script eseguibili SQL. Questo permette ai dati, archiviati nella maggior parte dei pacchetti di gestori di database per DOS/Windows, di essere trasferiti ad un server SQL come PostgreSQL. </LI> <LI>In aggiunta, AppGEN include una collezione di documenti HTML, di file GIF e di applet Java, che vengono usati nella fase di esecuzione dal sistema. E, naturalmente, come tutto il buon software, viene incluso anche l'intero codice sorgente.</LI> </UL> <P>L'autore, Andrew Whaley, può essere contattato all'indirizzo <UL> <LI> <A HREF="mailto: andrew@arthur.smuht.nwest.nhs.uk">andrew@arthur.smuht.nwest.nhs.uk</A></LI> </UL> <H2><A NAME="ss19.2">19.2 Interfaccia Web WWW per PostgreSQL - DBENGINE</A> </H2> <P>Dbengine, un'interfaccia Web plug 'n play per PostgreSQL, è stata creata da Ingo Ciechowski. La trovate al sito <UL> <LI> <A HREF="http://www.cis-computer.com/software/dbengine">http://www.cis-computer.com/software/dbengine</A></LI> </UL> <B>Qualche informazione su DBENGINE: </B> dbengine è un'interfaccia tra il Web e Postgres95, che fornisce un semplice accesso a qualsiasi database esistente in pochissimi minuti. <P>PHP offre un linguaggio simile al Perl per i vostri documenti, ma non è un vero Perl; per contro AppGen e wdb-p95 richiedono la creazione di un qualche file di configurazione per ognuno dei vostri database; sembra quindi che, prima di poter iniziare a usare questi strumenti, si debba imparare una qualche specie di nuovo meta linguaggio. <P>Diversamente da altri strumenti, per iniziare ad usare dbengine non dovete imparare qualche speciale linguaggio di programmazione o di scripting. Inoltre non si deve realizzare un file di configurazione per ogni database, così non dovete familiarizzare con questa nuova struttura. Comunque, nel caso vogliate accedere a tutte le funzionalità di dbengine, dovreste conoscere il linguaggio Perl. <P>L'intero sistema può essere configurato mediante la semplice manipolazione di un database aggiuntivo, che contiene informazioni riservate riguardanti il vostro accesso al database. Potete anche specificare Campi virtuali che vengono calcolati al volo poco prima di essere visualizzati sullo schermo. <H2><A NAME="ss19.3">19.3 Modulo del Webserver Apache per PostgreSQL - NeoWebScript di NeoSoft</A> </H2> <P>Apache è un notissimo Server Web. Un modulo per interfacciare PostgreSQL ad Apache Webserver, è reperibile presso: <UL> <LI> <A HREF="http://www.neosoft.com/neowebscript/">http://www.neosoft.com/neowebscript/</A></LI> </UL> NeoWebScript è un linguaggio di programmazione che permette a programmi semplici o complessi di essere incorporati in file HTML. <P>Quando una pagina HTML con codice NeoWebScript incorporato viene richiesta, il server Web, abilitato all'esecuzione dei NeoWebScript, esegue il codice script incorporato, producendo una pagina web dal contenuto appositamente creato dal programma. <P>NeoWebScript è un modo rapido, sicuro, facile da apprendere, per realizzare programmi interattivi nel codice HTML delle pagine web, ed ospitati su server. Con NeoWebScript i contatori, i form per email, i graffiti wall, i guest book ed il tracciamento dei visitatori, sono facilissimi, anche per un programmatore alle prime armi. Potrete verificare che NeoWebScript non teme rivali, come PERL e JavaScript. <P>Se volete installare NeoWebScript sul vostro server web, il vostro Webmaster dovrebbe leggere, per cominciare, la nostra Sysop FAQ. In 'Theory of Operations' si renderà chiaro il funzionamento di NeoWebScript, mentre l'installazione procederà passo dopo passo. 'Management' tratta di questioni riguardanti la configurazione ed il funzionamento del server; i test vi permetteranno di verificare la correttezza delle operazioni di NeoWebScript, e 'troubleshooting' tratta dei problemi del server. <P>Usare NeoWebScript-2.2 non comporta alcuna spesa per voi, per il vostro ISP, la vostra intranet o extranet. Potrete leggere la licenza durante la registrazione per il download; notate che esiste un costo di 99 $ se volete incorporarlo nei vostri prodotti, od usarli in un server commerciale (come SSL) <P>NeoWebScript è un modulo per il server Web Apache che vi permette di includere il linguaggio di programmazione Tcl/Tk, nelle vostre pagine web, come tool di scripting. È stato inventato da Karl Lehenbauer, Chief Technical Officer della NeoSoft, ed è documentato, migliorato ed esteso dai programmatori della NeoSoft e da redattori di documenti tecnici. <P>Il server web Apache è il più diffuso server web del mondo, ed il suo uso è stimato al 68 % dei siti sondati. <P>Tcl/Tk è il potente e gratuito linguaggio di scripting multipiattaforma sviluppato dal Dr. John Ousterhout. Utilizzando le sue stesse parole <P>"Tcl/Tk permette agli sviluppatori di software di far girare i programmi dieci volte più rapidamente di quanto possano fare i toolkit basati su C o C++. Esso è anche un pregevole linguaggio di interconnessione, che permette di far funzionare insieme le applicazioni già esistenti, e di dotarle di migliore grafica e di interconnessione ad Internet". <P>Karl Lehenbauer, Fondatore e Chief Technical Officer di NeoSoft, è stato parte del team di sviluppo delle primissime versioni di Tcl/Tk. Insieme con Mark Diehkans, è l'autore di Extended Tcl, noto anche come TclX o NeoSoft Tcl, che è un potente insieme di estensioni al linguaggio. Molti degli attuali comandi Tcl sono stati creati in Extended Tcl, e sono stati inclusi del nucleo del linguaggio dal Dr. Ousterhout. <P>NeoSoft Inc., 1770 St. James Place, Suite 500, Houston, TX 77056 USA <H2><A NAME="ss19.4">19.4 HEITML: estensione lato server dell'HTML, e linguaggio 4GL per PostgreSQL</A> </H2> <P>Lo strumento heitml è un altro modo di interfacciare postgres con il world wide web. Per maggiori dettagli contattate <BLOCKQUOTE><CODE> <PRE> Helmut Emmelmann H.E.I. Informationssyteme GmbH Wimpfenerstrasse 23 Tel. 49-621-795141 68259 Mannheim Germany Fax. 49-621-795161 </PRE> </CODE></BLOCKQUOTE> <UL> <LI> E-mail di Mr.Helmut Emmelmann <A HREF="mailto: emmel@h-e-i.de">emmel@h-e-i.de</A></LI> <LI> Sito web principale di Heitml <A HREF="http://www.heitml.com">http://www.heitml.com</A></LI> <LI> Sito web secondario di Heitml <A HREF="http://www.h-e-i.deom">http://www.h-e-i.deom</A></LI> </UL> <P>heitml è un'estensione dal lato server dell'HTML e, nello stesso tempo, è un linguaggio 4GL. Ci si può scrivere applicazioni web utilizzando lo stile HTML, usando nuovi tag simili a quelli dell'HTML. <P>heitml (pronunciato h-ai-TML) è un'estensione dell'HTML, ed è un linguaggio di quarta generazione ricco di funzionalità; esso permette alle applicazioni, basate su Web, di interagire con i dati archiviati nei database SQL, evitando di far ricorso a complessi script CGI. <P>heitml estende HTML nel lato server, convertendo dinamicamente i file ".hei" nel formato HTML, e rimanendo così compatibile con qualsiasi browser web. Heitml accetta la comoda sintassi HTML e fornisce un vasto assortimento di Tag pre-sviluppati e Librerie, per gestire i compiti che in precedenza richiedevano il CGI. Come XML, heitml fornisce tag definiti dall'utente. Con heitml, i markup definiti dall'utente possono essere tradotti in HTML ed inviati ad un browser. <P>heitml può interessare sia i designer HTML che i programmatori professionali. I designer HTML possono usare i Tag heitml per costruire pagine web dinamiche, per accedere a database SQL, o per creare applicazioni web complete. Contatori, database di registrazione, form di ricerca, form di e-mail, o menu gerarchici, possono tutti essere creati semplicemente usando Tag pre-sviluppati, simili ai Tag HTML, reperibili nelle moltissime Librerie di Componenti. <P>I programmatori troveranno in heitml un linguaggio completo di quarta generazione incorporabile nel codice HTML <BLOCKQUOTE><CODE> <PRE> (ad es. con i Tag <if>, <while>, e <let>), </PRE> </CODE></BLOCKQUOTE> inoltre heitml ammette una potente valutazione delle espressioni con i tipi di dati interi, reali, booleani, stringhe, e n-uple. Le n-uple hanno riferimenti semantici come nei moderni linguaggi orientati agli oggetti e vengono memorizzate in una heap. Le variabili heitml, comprese tutte le strutture di dati complessi memorizzate sulla heap, conservano i loro valori tra le pagine utilizzando la Modalità di Sessione (Session Mode). È possibile definire tag personalizzati o tag di ambiente, e persino ri-definire i tag HTML. <P>heitml rende possibile <P>- - - sviluppare Siti Web in modo strutturato e modulare, riducendo drasticamente il superlavoro di manutenzione. <P>- - - sviluppare Siti Web intelligenti ed interattivi, con contenuto che si adatta dinamicamente alle necessità dell'utente. <P>- - - mostrare il contenuto dei database SQL con il solo utilizzo della nostra libreria di Tag "dba" predefiniti. <P>- - - sviluppare database complessi ed applicazioni per Cataloghi di Vendita utilizzando Variabili di Sessione (Session Variables) <P>heitml gira sotto Linux con qualsiasi Server Web che utilizzi l'interfaccia CGI, ed è particolarmente veloce (evitando gli overhead del CGI) all'interno del Server Web APACHE, utilizzando le API apache. Attualmente MSQL (Versione 1 e 2), PostgreSQL (Versione 6), mysql, e gli altri database d'uso comune sono supportati). heitml, inoltre gira su Linux, BSDi, Solaris e SunOS, come anche su Windows NT con CGI, ISAPI, ODBC, e Windows 95. <P>heitml (su linux) è gratuito per studio, per uso privato e non-commerciale. I Siti Web Commerciali devono pagare la licenza. La versione pienamente operativa di heitml, utilizzabile liberamente per un periodo di prova, è disponibile per il download. (Notate, comunque, che ogni Pagina Web ".hei" da voi sviluppata, visualizzerà un messaggio che identifica la vostra versione di heitml come quella per un uso non-commerciale. Dopo la registrazione, riceverete una chiave per disattivare il messaggio senza dover re-installare il programma.) <P>heitml (pronunciato "h-ai"-TML) estende e migliora significativamente la funzionalità del linguaggio HTML con la definibilità dei tag e con le sue reali qualità di linguaggio di programmazione. Ciò rende possibile realizzare applicazioni con contenuto dinamico ed applicazioni con accesso ai database, semplicemente all'interno del mondo HTML, senza dover ricorrere al CGI e a linguaggi di programmazione o di scripting esterni. Ciò significa che voi, in qualità di autori web, potete aggiungere applicazioni nelle vostre pagine, usando semplicemente alcuni tag nuovi senza ricorrere al CGI e senza programmare. Invece, in qualità di utente esperto o di programmatore, potete creare e programmare potenti librerie di tag. Questo approccio rende heitml adeguato sia ai principianti dell'HTML sia ai programmatori professionisti. heitml gira sul server web e genera codice HTML dinamicamente, così heitml è compatibile con gli standard di internet e con qualsiasi browser web. Inoltre heitml permette un accesso completo ai database e mette al riparo l'utente dalla complessità non necessaria del CGI. heitml è stato sviluppato secondo le più recenti ricerche riguardo la realizzazione di compilatori e dei sistemi di transazione. <P>Le pagine heitml vengono sviluppate proprio come le pagine HTML, con un editor di testi o con un editor HTML, e vengono posizionate su un server web come si fa solitamente. Tuttavia ora le pagine possono contenere tag heitml dinamici, e possono accedere a librerie di tag. Potete usare questi tag per accedere al database, per creare contenuto dinamico, per inviare email, ed anche per creare applicazioni potenti come database di registrazione e sistemi di commercio elettronico. <P>I principianti dell'HTML ed i programmatori professionisti, saranno stupiti di come sia rapido e facile progettare applicazioni eccitanti, come un Guestbook Interattivo, senza dover ricorrere all'apprendimento di complessi e difficili script CGI; sarà sufficiente usare gli strumenti forniti dalla vostra Libreria dba. <P>heitml è rifornito di un'ampia gamma di librerie di tag per creare guestbook, applicazioni per la manutenzione dei database, moduli per interrogazioni estendibili, potenti moduli per email, oppure per strutturare il vostro sito web utilizzando un menu gerarchico. Questi strumenti sono pronti all'uso, ed è sufficiente aggiungere i tag opportuni al vostro sito. <P>Se siete esperti programmatori potete fare pieno uso dell'architettura basata sulle n-uple dinamiche e persistenti: heitml non è soltanto un linguaggio di scripting con gestione dinamica dei tipi di dati, con una potente valutazione di espressioni, con procedure ricorsive, e con la funzionalità del passaggio dei parametri; esso fornisce anche la persistenza dinamica delle n-uple per mantenere automaticamente i dati della sessione, di qualsiasi dimensione essi siano. <H2><A NAME="ss19.5">19.5 Web Server AOL di America On-line per PostgreSQL</A> </H2> <P>AOLserver, il webserver commerciale gratuito, supporta connessioni ai database di PostgreSQL. Per maggiori informazioni vedere <UL> <LI> home page di AOL Web Server <A HREF="http://www.aolserver.com">http://www.aolserver.com</A></LI> <LI> Introduzione a AOLserver di Philip Greenspun <A HREF="http://photo.net/wtr/aolserver/introduction-1.html">http://photo.net/wtr/aolserver/introduction-1.html</A></LI> </UL> AOLserver è un webserver veloce, dotato di multithread, ed in grado di usare il Tcl. Non solo: esso è una piattaforma completa per sviluppo di back-end per database. Con AOLserver potete gestire connessioni multiple a PostgreSQL (e ad altri RBDMS) che possono essere divise tra diversi thread. AOLserver ha una API Tcl e C che vi permette di sviluppare potenti siti web dinamici. Tutto ciò avviene fin dal 1995. AOLserver è stato rilasciato sotto la licenza APL (AOLserver Public License) oppure sotto licenza GPL, e perciò è software del tutto libero. L'API Tcl è quella maggiormente utile per i siti web. AOLserver ha un set di potenti chiamate Tcl, come ns_sendmail (per inviare e-mail), ns_httpget (per ottenere un URL), ns_schedule (una funzionalità simile a cron per pianificare procedure da far girare in momenti specifici), ecc. Potete anche estendere molto facilmente le capacità di AOLserver con le API Tcl. Ogni server virtuale AOLserver può avere la sua propria "library" privata di script Tcl, i quali vengono sottoposti ad analisi (parsing) da AOLserver, e divengono accessibili da qualsiasi pagina interna a quel server virtuale. Potete sviluppare pagine per AOLserver in tre modi: - HTML semplice - pagine .tcl -- si tratta di programmi tcl che possono restituire codice HTML per mezzo della chiamata ns_write. - pagine .adp -- AOL Dynamic Pages. Potete sviluppare le vostre pagine in semplice HTML ma potete mandare in esecuzione codice Tcl usando <% %> o <%= %> alla maniera di PHP o di ASP. Se è già un grande server web con una superba architettura, AOLserver è addirittura splendido quando è usato per connettività a database. AOLserver ha il suo proprio strato (layer) di astrazione del database, che vi mette in grado di connettervi a diversi RDBMS senza dover modificare affatto il vostro codice. Le connessioni al RDBMS sono associate tra loro, sono persistenti, e sono divise tra diversi thread. Ciò permette connessioni molto rapide ed un efficiente uso delle risorse. AOLserver è munito di driver per tutti i più importanti RDBMS: PostgreSQL, Oracle, Sybase, Informix, Illustra, Solid, Interbase, MySQL. <H2><A NAME="ss19.6">19.6 Problem/Project Tracking System Application Tool per PostgreSQL</A> </H2> <P>Si trova presso <UL> <LI> <A HREF="http://www.homeport.org/~shevett/pts/">http://www.homeport.org/~shevett/pts/</A></LI> </UL> <H2><A NAME="ss19.7">19.7 Conversione di file dbase dbf a PostgreSQL</A> </H2> <P>Il programma dbf2msql funziona bene con mSQL e PostgreSQL. Potete trovarlo presso <UL> <LI> <A HREF="ftp://ftp.nerosworld.com/pub/SQL/dbf2sql/">ftp://ftp.nerosworld.com/pub/SQL/dbf2sql/</A></LI> <LI> <A HREF="ftp://ftp.postgresql.org/pub/contrib/dbf2pg-3.0.tar.gz">ftp://ftp.postgresql.org/pub/contrib/dbf2pg-3.0.tar.gz</A></LI> <LI> Pg2Xbase is a better package then dbf2pg <A HREF="http://w3.man.torun.pl/~makler/prog/pg2xbase">http://w3.man.torun.pl/~makler/prog/pg2xbase</A></LI> </UL> <P>Questo programma è stato scritto da Maarten Boekhold, della Facoltà di Ingegneria Elettronica, sezione di Architettura dei Computer e Tecniche Digitali a Delft, in Olanda. <UL> <LI> <A HREF="mailto: M.Boekhold@et.tudelft.nl">M.Boekhold@et.tudelft.nl</A></LI> </UL> <P>Potete anche usare un metodo di python per leggere i file dbf e caricarli (farne la load) in un database postgres. <UL> <LI> Vedere <A HREF="http://www.python.org">http://www.python.org</A></LI> </UL> <H2><A NAME="ss19.8">19.8 Conversione di file database MDB di Microsoft Access in PostgreSQL</A> </H2> <P>MDB Tools è un insieme di librerie e di programmi di servizio, progettati per facilitare l'esportazione di dati dai database MS Access (file mdb) nei database multiutente come Oracle, Sybase, DB2, Informix, MySQL, Postgresql, o simili. <UL> <LI>Prelevate il tool MDB dal sito <A HREF="http://mdbtools.sourceforge.net">http://mdbtools.sourceforge.net</A></LI> <LI> Mailing list <A HREF="http://lists.sourceforge.net/mailman/listinfo/mdbtools-dev">http://lists.sourceforge.net/mailman/listinfo/mdbtools-dev</A></LI> </UL> <H2><A NAME="ss19.9">19.9 Client Zeos</A> </H2> <P>"Zeos" è un programma prodotto per lo sviluppo e l'amministrazione delle applicazioni database, con uso di server SQL OpenSource: MySQL, PostgreSQL e InterBase <A HREF="http://www.zeos.dn.ua/eng/index.html">http://www.zeos.dn.ua/eng/index.html</A><H2><A NAME="ss19.10">19.10 Report Writer in Java</A> </H2> <P>Generic Report Writer è un software, guidato da menu, per effettuare report. Non è un'interfaccia di tipo drag-and-drop. Funziona con PostgreSQL, MySQL, e Access. Probabilmente funzionerà con qualsiasi altro database a patto che si abbia la versione 1 del driver JDBC Tipo 4. Si trova presso <A HREF="http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html">http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html</A><HR> <A HREF="PostgreSQL-HOWTO-20.html">Avanti</A> <A HREF="PostgreSQL-HOWTO-18.html">Indietro</A> <A HREF="PostgreSQL-HOWTO.html#toc19">Indice</A> </BODY> </HTML>