Grundlage des Datenbankzugriffes vom WWW aus, ist die Schnittstellen-Software. Sie wird gebildet aus einem Datenbank- und einem Web-Server, zwischen denen ein sogenanntes Web/Datenbank-Gateway vermittelt. Diese Aufgabenteilung ergibt sich aus den unterschiedlichen Fähigkeiten der beiden Servertypen: Datenbankmanagementsysteme (kurz DBMS) sind darauf spezialisiert, strukturierte Information zu verwalten und auf beliebige Anfragen dynamisch Treffermengen zu generieren. Web-Server (auch http-Server) hingegen verteilen in erster Linie statische HTML-Dokumente.
Die einzige Möglichkeit, von einem Web-Server aus einen anderen Dienst anzubieten, besteht darin, eine externe Anwendung damit zu beauftragen. Als Schnittstelle nach außen dient dem WWW-Server hierfür das sogenannte Common Gateway Interface, kurz CGI. Da dieses Interface aus den Frühzeiten des World Wide Web sehr ineffizient ist, haben verschiedene Hersteller ihre eigenen Programmierschnittstellen entwickelt. Die populärsten hierunter sind diejenigen von Netscape (NSAPI, Netscape Server Application Programming Interface) und ISAPI (Internet Server API), das mehrere Firmen, darunter Microsoft, unterstützen.
Die weitverbreitetsten Datenbankserver speichern ihre Daten in Tabellen (oder Relationen). Auch diese relationalen Datenbankmanagementsysteme besitzen eine gemeinsame Schnittstelle, die Structured Query Language, kurz SQL - zumindest in der Theorie. Denn obwohl die International Standards Organisation (ISO) die Sprache aus Kompatibilitätsgründen standardisierte, haben die einzelnen Hersteller ihre SQL-Dialekte individuell erweitert. Solche proprietären Zusätze dienen zwar auf den jeweiligen Systemen zur Performance-Steigerung, führen jedoch dazu, daß die Sprachen untereinander inkompatibel sind. Als gemeinsamen Standard unterstützen heutzutage die meisten Hersteller von Datenbanken die SQL-Teilmenge namens ODBC (Open Database Connectivity).
Neben den relationalen Datenmanagern kommen auch objektorientierte oder objektrelationale Datenbankmanagementsysteme zum Einsatz. Diese verwenden Fortentwicklungen von SQL oder eigene Programmierschnittstellen. Auch Desktop-Datenbanken auf dem PC oder dem Mac können als Backend für Web-Applikationen fungieren. So gibt es Gateways für Access, 4D sowie xBase-Datenbanken.
Zwischen WWW- und Datenbankserver vermitteln die Web/Datenbank-Gateways. Dieser Begriff faßt eine sehr heterogene Gruppe von Produkten zusammen, von der Erweiterung einer Programmiersprache bis zur Standardanwendung für das Online-Busineß. Grob lassen sie sich in die folgenden vier Kategorien einordnen:
1. Gateways, die eines oder mehrere RDBMS an das Web anbinden. Hierzu gehört beispielsweise IBMs DB2 WWW Connection, das über eine entsprechende Middleware, den DataJoiner, neben DB2 auch die Datenbanken anderer Hersteller bedient. Die neueste Version von Oracles Datenbank Oracle7 hat die Web-Fähigkeit bereits eingebaut: die Web-Server-Option macht einen Oracle7-Datenbank- zum Web-Server.
HTTP DB Server Server ------ ------ | | | | | | ------------ | | | | <-CGI-> | Gateway | <-DB Network Software-> | | | | | Software | | | | | ------------ | | | | | | ------ ------ |_________________________| |____| | | Machine 1 Machine 2
2. Web-Server, die Datenbankzugriffe unterstützen. Zu den Erweiterungen, die Hersteller von http-Servern den APIs ihrer Produkte spendieren, gehört mitunter ein Datenbank-Interface. So verfügt der GNNserver neben einer ODBC- über eine Schnittstelle zur objektrelationalen Datebank von Illustra.
HTTP HTTP DB Client Server Server ------ ------ ------ | | | | | | | | | | ------------ | | | | <- Network -> | | <-CGI-> | Gateway | <-> | | | | | | | Software | | | | | | | ------------ | | | | | | | | ------ ------ ------ |____| |____________________________________| | | Machine 1 Machine 2
3. Frontend-, Datenbank-, Client/Server-Entwicklungsumgebungen, die um Web-Features erweitert wurden. Im allgemeinen Internet-Hype bemühen sich die Hersteller von Programmierumgebungen, ihren Produkten die entsprechenden Fähigkeiten einzuimpfen. JAM/WEB erlaubt als Zusatz zum Client/Server-Werkzeug JAM, WWW-Browser als neue Frontend-Plattform einzusetzen.
HTTP Net1 Net2 DB Client Server Server Server ------ ------ ------ ------ | | | | | | | | | | ---------- | | | | | | | |<-CGI->|Gateway |<->| |<-Network->| |<->| | | | |Software| | | | | | | | | ---------- | | | | | | | | | | | | | | ------ ------ ------ ------ |______________________________| |_____________| | | Machine 1 Machine 2
4. 'Echte' WWW- beziehungsweise Internet-Entwicklungsumgebungen. Neben den aufgebohrten bestehenden Programmier-Tools gibt es auch echte Neuentwicklungen fürs Web. Hierzu zählen der Intershop, aber auch Entwicklungsumgebungen wie die NeXT WebObjects.
Hier ein tolles Beispiel, bei dem man Daten in eine DB hineinschreiben, herauslesen und auch wieder löschen kann : http://cscsun1.larc.nasa.gov/~beowulf/db_select.html
und hier ein kommerzielles Beispiel ( bitte nur ansehen!!! )
Hotelbuchungsservice (http://www.hrs.de)