hide random home http://eos.kub.nl:2080/infolab/seminar/www/ourcgi.html (Einblicke ins Internet, 10/1995)

Common Gateway Interface


De Common Gateway Interface (CGI) is een standaard die vastlegt hoe externe'gateway'-programma's gegevens met een HTTP server moeten uitwisselen.
Op deze manier kan via WWW gebruik worden gemaakt van bestaande voorzieningen en kunnen gegevens die in bestaande databases opgeslagen zijn, via WWW beschikbaar worden gemaakt.

Deze gateway-programma's, die worden geschreven in C, of in een script-taal, zoals PERL of AWK, converteren de data die de gebruiker, aan de HTTP server aanbiedt, naar een vorm die bruikbaar is voor het 'achterliggende' programma.

Hieronder staan een aantal gateways tussen WWW en een aantal voorzieningen, die voldoen aan de CGI-standaard.



Interface met relationele databases


Op het gebied van relationele databases zijn er een aantal interfaces. Voor Oracle en Sybase bestaan al interfaces, en er is ook een algemene SQL gateway, GSQL, die een zoekopdracht vertaalt naar SQL en op deze manier gegevens uit elk RDBMS kan putten. Voor deze algemene gateway is een aparte standaard opgesteld, het RDA protocol (ISO 9579)

Oracle


Voor Oracle databases er een speciale script-taal, HTOracle, waarin men eenvoudig een gateway tussen oracle-databases en WWW kan maken. Voor voorbeelden van gateways die gemaakt zijn, kijk bij CERN.

Sybase


Voor Sybase databases is er Web/Genera Genera maakt het mogelijk in Sybase databases te zoeken of zelfs nieuwe databases aan te maken zonder zelf code te hoeven schrijven. Het enige dat men hoeft te doen is met behulp van een schema-techniek in Genera beschrijven hoe de data aan de gebruiker gepresenteerd moet worden, en Genera draagt vervolgens zorg voor het opvragen van de data en het omzetten in HTML.
Een voorbeeld van een interface die met Genera werkt is de EC Enzyme Database. Genera ondersteunt query forms, waar de gebruiker de gewenste zoektermen in kan vullen, zonder SQL te kennen. Verder kan het worden gebruikt om te zoeken in Sybase databases via Web-WAIS en Gopher-WAIS interfaces.

02 OODBASE


O2 Technology (maker van het object-georienteerde DBMS) heeft een gateway tussen WWW en O2 gemaakt. De O2-W3 is gebaseerd op een OQL (querie-taal, gedefinieerd in de ODMG-93 standaard) server, maakt voor queries gebruik van een standaard WWW-server en levert resultaten van de queries via een HTML document.
Deze gateway draagt zorg voor twee dingen:

- het zoeken in een database.
- het maken van een database-applicatie

Het maken van een database applicatie wordt mogelijk door in elke objectklasse een methode 'web-display' toe te voegen. Deze methode zet de objecten, die het resultaat zijn van de gemaakte query, om in HTML.



Interface met Lotus Notes


WebGate is een gateway tussen WWW en Lotus Notes, die het mogelijk maakt interactive browsing, view navigating, en document rendering te doen in Notes databases. Webgate versie 0.1B is beschikbaar via ftp.



Interface met UseNet-news indexer

Dit is een in PERL geschreven interface met de usenet news indexer 'ni'.Hiermee kan worden gezocht in newsgroups naar bepaalde teksten.




Interface met WAIS


Bij CERN is een gateway naar WAIS op www.w3.org:8001, maar deze is zwaar belast, en het is ook mogelijk een eigen gateway te bouwen. De CERN httpd daemon, de CERN Line Mode Browser en applicaties die gebouwd zijn met de Library of Common Code (gecompileerd met optie DIRECT_WAIS) kunnen direct met een WAIS server communiceren. Hiervoor zijn ook de freeWAIS libraries van CNIDR nodig.
Er zijn gecompileerde versies voor enkele platforms beschikbaar, en voor andere platforms is een kleine wijziging nodig.



Interface met TelNet


Voor telnet is er de Hytelnet gateway. Deze gateway maakt gebruik van een database met adressen. Meer hierover is bij ons niet bekend.