DB2 Connect Benutzerhandbuch

DB2 Connect und Web-Anwendungen

Der Web-Browser entwickelt sich schnell zu einer Standardschnittstelle für alles mögliche, angefangen von Online-Katalogen bis hin zu Intranet-Anwendungen. Für einfache Web-Anwendungen reicht möglicherweise ein Web-Server aus. Für Anwendungen mit hohem Volumen, die unter Umständen Zugriff auf Datenbanken und Transaktionsverarbeitung erfordern, bietet IBM Lösungen, die mit Hilfe von DB2 Connect eine sehr große Anzahl an gleichzeitig ablaufenden Transaktionen über das Web verwalten.

Dieser Abschnitt beschreibt Web-gestützte unternehmensweite Lösungen, bei denen die Verwendung von DB2 Connect von Vorteil ist.

Vorteile und Einschränkungen der herkömmlichen CGI-Programmierung

e-business-Anwendungen im World Wide Web verwenden normalerweise Common Gateway Interface (CGI, allgemeine Gateway-Schnittstelle), um es Benutzern zu ermöglichen, Back-End-Datenbanken abzufragen. Viele Unternehmen verwenden Web-Anwendungen auch intern, und diese Anwendungen haben ebenfalls eine Datenbank im Hintergrund.

Benutzer füllen Formulare auf einer Web-Seite aus, und diese Formulare werden über CGI an Anwendungen oder Prozeduren auf dem Web-Server übergeben. Die Prozedur wiederum verwendet eine verfügbare Datenbank-API, um SQL-Abfragen an eine Host-Datenbank zu übergeben. Dieselbe Prozedur kann dann eine Web-Seite (HTML) mit den Ergebnissen der Abfrage erstellen und an den Web-Browser des Benutzers zurücksenden, wo sie angezeigt wird. Ein Beispiels hierfür ist ein Online-Katalog, in dem der Benutzer die Verfügbarkeit und den aktuellen Preis bestimmter Waren oder Dienstleistungen abfragen kann.

CGI-Anwendungen können leicht aufgebaut und verwaltet werden. Da der CGI-Standard sowohl von Betriebssystemen als auch Sprachen unabhängig ist, steht er auf fast allen Datenverarbeitungsplattformen zur Verfügung. CGI-Programme können in der Programmiersprache C++ oder in einer prozedurbasierten Sprache wie Perl geschrieben werden.

Doch obwohl CGI als eine ideale Lösung für Web-basierte Anwendungen erscheinen mag, weist diese Schnittstelle doch deutliche Unzulänglichkeiten auf. Die Programmierungsumgebung für CGI ist nicht so leistungsstark wie die anderer APIs. Außerdem besteht ein Problem mit der Systemgrößenflexibilität, das alle umfangreicheren e-commerce-Operationen betreffen wird. Jedesmal, wenn eine CGI-Anwendung aufgerufen wird, wird auf dem Web-Server ein neuer Prozeß erstellt. Jedes Exemplar muß eine eigene Verbindung zur Datenbank herstellen, und jedes Exemplar übergibt seine eigene Abfrage. In Transaktionsumgebungen mit hohem Volumen kann diese Einschränkung zu erheblichen Leistungsproblemen führen.

Sie können DB2 Connect mit einem Web-Server verwenden, um zuverlässige e-commerce-Anwendungen mit hohem Volumen zu erstellen. DB2 Connect bietet mehrere Lösungen zur Verbesserung der Leistung von Web-basierten Anwendungen. Gespeicherte Prozeduren (siehe DB2 Connect auf dem Web-Server) ermöglichen es Benutzern von DB2 Connect, die Anzahl der an die Datenbank gesendeten Abfragen zu reduzieren.

Der Verbindungszusammenschluß ( siehe Verbindungszusammenschluß) reduziert die Häufigkeit, mit der Verbindungen zu einer Datenbank hergestellt oder unterbrochen werden. Für umfangreiche Operationen, bei denen die Einschränkungen von CGI zum Tragen kommen, bieten IBM Net.Date (siehe Net.Data) und WebSphere (siehe IBM WebSphere) Verbindungen zu großen Unternehmensanwendungen, die nicht über CGI hergestellt werden.

DB2 Connect auf dem Web-Server

IBM stellt HTTP-Server (Web-Server) mit allen DB2 Connect-Produkten für OS/2, UNIX, Windows NT und Windows 2000 zur Verfügung. DB2 Connect Enterprise Edition bietet einsatzbereite Unterstützung für Apache- oder Lotus Domino Go-Web-Server und kann auch mit allen anderen Web-Servern wie beispielsweise Microsoft Internet Information Server oder Netscape Enterprise Server zusammenarbeiten.

Wenn Sie mit Datenbanken aus der DB2-Produktfamilie arbeiten, die auf OS/390-, AS/400-, VM- und VSE-Systemen ausgeführt werden, ist DB2 Connect Enterprise Edition auf dem Web-Server erforderlich. DB2 Connect Enterprise Edition stellt die erforderlichen Bibliotheken und Kommunikationsschnittstellen zur Verfügung, damit Web-Server auf diese Host- und AS/400-Plattformen zugreifen können. Für die Kommunikation zwischen dem Web-Server und einer Datenbank unter OS/390, AS/400, VM oder VSE kann entweder TCP/IP oder SNA verwendet werden.
Anmerkung:IBM Web-Lösungen bieten die Möglichkeit, innerhalb derselben CGI-Prozedur oder innerhalb derselben Transaktion in einer CGI-Prozedur mit mehreren Datenbanken zu arbeiten.

Die nächsten beiden Abschnitte erläutern die Leistungserweiterungen, die für CGI-Anwendungen zur Verfügung stehen, die auf DB2-Datenbanken zugreifen. In späteren Abschnitten werden Alternativen zu CGI erörtert, wie beispielsweise Java.

Gespeicherte Prozeduren

Eine wichtige Überlegung im Hinblick auf Web-Anwendungen wie auch Client/Server-Umgebungen besteht darin, den Datenverkehr zwischen dem HTTP-Server und den Back-End-Datenbanken zu minimieren. Diese Überlegung gewinnt insbesondere bei der Transaktionsverarbeitung mit hohem Volumen an Bedeutung, die in den meisten e-business-Anwendungen eine zentrale Rolle spielt.

Der empfohlene Ansatz sieht eine Kombination aus der CGI-Anwendungsprogrammierung sowie der in gespeicherten Prozeduren integrierten Programmierung und Geschäftslogik vor. DB2 Universal Database unter OS/2, UNIX und Windows sowie DB2 unter OS/390, AS/400 und VSE verwenden alle dieselben Parameterkonventionen zum Aufrufen gespeicherter Prozeduren.

Wie auch die herkömmliche CGI übergibt auch der Web-Browser das Formular an den Web-Server, auf dem die CGI-Prozedur ausgeführt wird. Es wird jedoch nicht jede einzelne SQL-Anweisung an die DB2-Datenbank gesendet, sondern eine Anforderung zur Ausführung einer gespeicherten Prozedur. Diese gespeicherte Prozedur umfaßt eine Reihe von SQL-Anweisungen, die ansonsten einzeln hätten ausgeführt werden müssen. Gespeicherte Prozeduren reduzieren die Anzahl der Nachrichten, die zwischen der CGI-Prozedur und der Back-End-Datenbank hin- und hergesendet werden.

Der wichtigste Vorteil der gespeicherten Prozeduren liegt in der Reduzierung des Datenaustauschs auf dem Netz zwischen dem HTTP-Server und der DB2-Datenbank im Hintergrund (Back-End). Das Handbuch Application Development Guide oder die Online-Hilfefunktion zu DB2 Stored Procedure Builder enthält weitere Informationen zu gespeicherten Prozeduren.

Verbindungszusammenschluß

Das Herstellen einer Verbindung von einem DB2 Connect-Server zu einem Host erfordert sowohl Datenverarbeitungsressourcen als auch Zeit. In einer Umgebung, in der Tausende von Clients häufig über den DB2 Connect-Server eine Verbindung zum Host herstellen und trennen, wird ein hoher Prozentsatz der Verarbeitungszeit auf dieses Herstellen und Trennen von Verbindungen verwendet.

Die von DB2 Connect zur Verfügung gestellte Funktion des Verbindungszusammenschlusses führt zu einer deutlichen Leistungsverbesserung in solchen Umgebungen. DB2 Connect verwaltet offene Verbindungen zur Datenbank in einem verfügbaren Pool. Wenn ein Client eine Verbindung anfordert, kann diese aus dem Pool der bereiten Verbindungen zur Verfügung gestellt werden. Der Verbindungszusammenschluß führt zu einer beträchtlichen Reduzierung des Systemaufwands, der normalerweise für das Öffnen und Schließen dieser Verbindungen erforderlich ist.

Verbindungszusammenschluß enthält weitere Informationen zur Funktionsweise des Verbindungszusammenschlusses.

DB2 Connect als Java-Anwendungs-Server

Viele der Unzulänglichkeiten von CGI können behoben werden, wenn CGI durch Java ersetzt wird. IBM stellt sowohl Applets als auch Anwendungen zur Verfügung, mit denen Sie in jeder Stufe einer Web-Transaktion CGI durch Java ersetzen können. Die Lösungen von IBM ermöglichen die Verwendung einer Mischung aus verschiedenen Technologien. Dadurch haben Sie die Möglichkeit, prozedurbasierte Lösungen wie beispielsweise Net.Data und Microsoft Active Server Pages mit DB2 zu verwenden oder sich auf eine noch zuverlässigere Implementierung zu verlegen, wie sie durch einen Java-Anwendungs-Server wie beispielsweise IBM WebSphere zur Verfügung gestellt wird.

Für Java-Programmierer gibt es zwei Anwendungsprogrammierschnittstellen (APIs). Die erste, JDBC, unterstützt die Verwendung von Java zur Entwicklung von datensensitiven Applets, Java-Anwendungen sowie Java-Servlets, Java-Server-Seiten (JSP) und Enterprise Java Beans (EJB). JDBC ist eine API auf Aufrufebene, d. h. zum Aufrufen von Methoden. Die andere Java-API heißt SQLJ. SQLJ ermöglicht die Angabe von SQL innerhalb eines Java-Programms. DB2 kann beide APIs verwenden, und zwar entweder auf der Client- oder der Server-Seite einer Web-Transaktion.

Auf der Client-Seite werden Applets, datensensitive Applets und Anwendungen unterstützt. Auf der Datenbankseite bezieht sich die Aktivierung von Java auf Datenbankobjekte wie beispielsweise benutzerdefinierte Funktionen und gespeicherte Prozeduren.

Bei DB2 für OS/390, DB2 für VSE und VM sowie DB2 für OS/400 gibt es zwei unterschiedliche Methoden zur Implementierung einer Java-Anwendung. Sie können die direkte Konnektivität verwenden, die von DB2 Connect Personal Edition mit TCP/IP oder SNA zur Verfügung gestellt wird, oder Sie verwenden einen DB2 Connect Enterprise Edition-Server, der Konnektivität zum Großrechner oder zum AS/400-Back-End bereitstellt.

In beiden Fällen benötigt der Benutzer im Web keine besondere Software für den Zugriff auf die Datenbank, sondern lediglich einen Standard-Web-Browser. Außer einem DB2 Connect-Server und einem Web-Server gemäß Industriestandard braucht nichts weiter installiert zu sein. Wenn der Web-Server und DB2 Connect sich nicht auf derselben physischen Maschine befinden, muß ein DB2-Client auf dem Web-Server installiert werden.

Die Schlüsselkomponente bei DB2 für OS/390 ist DB2 Connect Enterprise Edition auf einem mittelschichtigen Server. Diese Komponente stellt die JDBC-Server-Aktivierung bereit und stellt die Verbindung zum Server unter DB2 für OS/390, VSE und VM oder AS/400 her. Wiederum ist keine besondere Software für den Web-Browser des Clients erforderlich.

IBM stellt eine umfangreiche Sammlung von Tools für die Entwicklung von Java-Anwendungen und -Applets zur Verfügung. Für die Datenbank-Konnektivität bietet DB2 Developer's Edition eine vollständige Sammlung, die VisualAge for Java Professional Edition, WebSphere Application Server, Net.Data sowie DB2 Universal Database und DB2 Connect zum Testen enthält. IBM VisualAge für Java Enterprise Edition enthält darüber hinaus Entwicklungs-Tools für umfangreiche unternehmensweite Anwendungen. Tools anderer Hersteller wie beispielsweise Borland JBuilder oder Symantec Visual Cafe arbeiten ebenfalls mit den Datenbanklösungen von IBM zusammen.

Net.Data

Net.Data, ein Teil der Produktfamilie von DB2 Universal Database und DB2 Connect, ist eine Sammlung von Anwendungsentwicklungs-Tools, die Ihnen dabei helfen sollen, Web-gestützte Transaktionsanwendungen zu erstellen und zu verwalten. Mit Net.Data können Sie auf Daten zugreifen und Daten ändern, die unter DB2 UDB für OS/2, Windows NT, Windows 2000, UNIX, OS/390, VM, VSE und OS/400 gespeichert sind. Die von Ihnen mit Net.Data erstellten Anwendungen werden auf einem Web-Server gespeichert und können über einen Web-Browser aktiviert werden.

Net.Data verwendet Makros oder Schablonen, um es Benutzern mit Grundwissen von HTML und SQL zu ermöglichen, anspruchsvolle Web-Anwendungen zu erstellen. Ein Makro ist eine Textdatei, die aus Java-, Java Scripts-, HTML-Befehlen und integrierten Funktionen bestehen kann. Mit diesen Makros können anschließend dynamische Web-Seite mit vordefiniertem Layout sowie vordefinierten Variablen und Funktionen generiert werden.

Ein Net.Data-Basismakro verfügt über sieben einzelne Abschnitte:

Das Schlüsselmerkmal von Net.Data (insbesondere für DB2) besteht darin, daß keine Client-Implementierung erforderlich ist. Der Client ist in dieser Implementierung einfach ein Web-Browser.

Der Net.Data-Prozessor wird zusammen mit DB2 Universal Database auf einer Windows NT-, Windows 2000-, OS/2- oder UNIX-Workstation gemeinsam mit dem Web-Server installiert. Wird eine Verbindung zu DB2 für OS/390, DB2 für VSE und VM sowie DB2 für AS/400 hergestellt, wird die gesamte Net.Data-Infrastruktur auf einem DB2 Connect-Server installiert, zusammen mit einem Web-Server.

IBM WebSphere

IBM WebSphere stellt eine vollständigere e-business-Lösung zur Verfügung als es mit der herkömmlichen CGI-Programmierung möglich wäre. WebSphere-Anwendungs-Server führen nicht nur die Prozedurfunktionen von CGI aus, sondern ermöglichen Ihnen darüber hinaus, mit Hilfe von Servlets, Active Server Pages und Enterprise JavaBeans komplexe und hochleistungsfähige Services über das Web zur Verfügung zu stellen. Mit WebSphere haben Sie folgende Möglichkeiten:

WebSphere ist kein einzelnes Produkt, sondern eine Familie aus drei Produkten, die drei verschiedene Zielmärkte ansprechen. Das Kernstück der WebSphere-Lösung ist der WebSphere-Anwendungs-Server.

Der WebSphere-Anwendungs-Server bietet die Umgebung für drei Objekttypen. Beim ersten handelt es sich um die Java-Server-Seiten, die Active Server Pages entsprechen. Die zweite Komponente besteht aus Java-Servlets, und bei der dritten handelt es sich um Enterprise JavaBeans. Enterprise JavaBeans sind der aufstrebende Standard für die Implementierung sehr umfangreicher, zuverlässiger Unternehmensanwendungen.

Darüber hinaus stellen Data Access JavaBeans sehr anspruchsvolle Datenbankfunktionen zur Verfügung, die insbesondere auf DB2 zugeschnitten sind. Auf DB2 kann auch direkt über JDBC und SQLJ zugegriffen werden. Sowohl COM+ als auch CORBA werden ebenfalls unterstützt.

WebSphere-Anwendungen können auf derselben Plattform implementiert werden wie der Web-Server und DB2 Universal Database. Im Falle von DB2 für OS/390, VM, VSE und AS/400 wird WebSphere auf derselben Plattform wie DB2 Connect Enterprise Edition implementiert.

Es stehen mehrere WebSphere-Lösungen sowie Web Studio Pack und WebSphere Performance Pack zur Verfügung. Es gibt folgende drei WebSphere-Versionen:

Standard Edition (Standardauflage)
Den Erstellern von Web-Sites ermöglicht dieser Server die Verwendung von Java-Servlets und der JSP-Technologie, um Web-Sites und -Portale schnell und ohne Schwierigkeiten von statischen Seiten in elementare Quellen angepaßter dynamischer Web-Inhalte zu verwandeln. Des weiteren umfaßt der Server sowohl branchenführende XML-Unterstützung für die reibungslose gemeinsame Benutzung von Informationen und Daten in Gruppen oder zwischen Unternehmen als auch eine integrierte Technologie zur Site-Analyse, die für bessere Leistung sorgt und Nutzungsinformationen bereitstellt, um dabei zu helfen, die Rendite der Web-Site-Investitionen Ihres Unternehmens zu maximieren.

Advanced Edition (erweiterte Auflage)
Anwendungsprogrammierern ermöglicht dieser hochleistungsfähige EJB-Server das Implementieren von Unternehmenslogik mit Hilfe von EJB-Komponenten. Er bietet skalierbare, sichere Konnektivität und Java-Unterstützung und umfaßt das gesamte Leistungsspektrum der Standard Edition.

Enterprise Edition (Unternehmensauflage)
Unternehmensarchitekten ermöglicht dieser Server das Integrieren ungleicher Geschäftssysteme im gesamten Unternehmen, um zuverlässige e-business-Anwendungen zu erstellen und die erneute Verwendung von Ressourcen zu maximieren. Enterprise Edition umfaßt das Leistungsspektrum der preisgekrönten Technologien IBM TXSeries und Component Broker sowie die gesamte Funktionalität von Advanced Edition und Standard Edition.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]