Gebruikershandleiding

DB2 Connect en webtoepassingen

De webbrowser wordt steeds meer een standaardinterface voor allerlei zaken, van online catalogi tot intranettoepassingen. Voor eenvoudige webtoepassingen is een webserver waarschijnlijk voldoende. Voor toepassingen met een groot volume waarbij databasetoegang en transactieverwerking is vereist, biedt IBM oplossingen met DB2 Connect om grote hoeveelheden gelijktijdige transacties via het web te beheren.

In deze paragraaf worden zakelijke weboplossingen beschreven die profijt kunnen hebben van DB2 Connect.

Voordelen en beperkingen van traditionele CGI-programma's

Toepassingen voor e-business op het World Wide Web maken doorgaans gebruik van CGI (Common Gateway Interface) om query's op back-end databases mogelijk te maken. Veel bedrijven gebruiken ook intern webtoepassingen, waaraan op de achtergrond eveneens vaak een database is gekoppeld.

Gebruikers vullen formulieren op een webpagina in, die vervolgens via CGI worden verzonden naar toepassingen of scripts op de webserver. Het script gebruikt een ingebouwde database-API om de SQL-query's door te zenden naar een hostdatabase. Vervolgens wordt door hetzelfde script een webpagina (in de HTML-indeling) gemaakt met de resultaten van de query en wordt deze pagina teruggezonden en afgebeeld in de webbrowser van de gebruiker. Een voorbeeld hiervan is een online catalogus waarin een gebruiker de beschikbaarheid en huidige prijs van bepaalde goederen of diensten kan opvragen.

CGI-toepassingen zijn over het algemeen eenvoudig te ontwerpen en gemakkelijk te beheren. Omdat de CGI-standaard niet is gebonden aan een besturingssysteem of taal, is CGI op bijna alle computerplatforms beschikbaar. CGI-programma's kunnen worden geschreven in C++ of in een scripttaal zoals Perl.

Hoewel CGI een ideale oplossing voor webtoepassingen lijkt, zijn er ook een aantal nadelen aan CGI verbonden. De programmeeromgeving voor CGI is lang niet zo uitgebreid als andere API's. Daarnaast is er ook een beperking op het gebied van schaalbaarheid, die een rol speelt bij elk grootschalig project op het gebied van e-commerce. Telkens wanneer een CGI-toepassing wordt gestart, wordt namelijk een nieuw proces op de webserver gemaakt. Voor elk subsysteem moet een afzonderlijke verbinding met de database tot stand worden gebracht. Bovendien wordt door elk subsysteem een eigen query uitgevoerd. In verwerkingsomgevingen met grote volumes kan deze beperking de performance nadelig beïnvloeden.

U kunt DB2 Connect in combinatie met een webserver gebruiken om krachtige toepassingen met een groot volume voor e-commerce te ontwikkelen. DB2 Connect biedt een aantal oplossingen waarmee webtoepassingen een betere performance leveren. Met opgeslagen procedures (zie DB2 Connect op een webserver) kunnen gebruikers van DB2 Connect bijvoorbeeld het aantal query's verkleinen dat naar de database wordt verzonden.

Met pooling van verbindingen (zie Pooling van verbindingen) hoeft minder vaak een verbinding met de database te worden gemaakt of verbroken. Voor grote projecten waarbij de beperkingen van CGI een probleem vormen, bieden IBM Net.Data (zie Net.Data) en WebSphere (zie IBM WebSphere) niet-CGI-verbindingen voor grote bedrijfstoepassingen.

DB2 Connect op een webserver

IBM levert webservers (HTTP-servers) met alle DB2 Connect-producten voor OS/2, UNIX, Windows NT en Windows 2000. DB2 Connect Enterprise Edition biedt kant-en-klare ondersteuning voor Apache- en Lotus Domino Go-webservers en kan tevens worden gebruikt op andere webservers zoals Microsoft Internet Information Server en Netscape Enterprise Server.

Als u met een DB2-databaseproduct op een OS/390-, AS/400-, VM- of VSE-systeem werkt, moet u DB2 Connect Enterprise Edition installeren op de webserver. DB2 Connect Enterprise Edition voorziet in de bibliotheken en communicatie-interfaces waarmee webservers toegang kunnen krijgen tot deze host- en AS/400-platforms. Voor de communicatie tussen de webserver en een database onder OS/390, AS/400, VM of VSE kan TCP/IP of SNA worden gebruikt.
Opmerking:De weboplossingen van IBM bieden de mogelijkheid om meerdere databases te gebruiken binnen hetzelfde CGI-script of binnen dezelfde transactie in een CGI-script.

In de volgende twee paragrafen wordt uitgelegd hoe u de performance kunt verbeteren van CGI-toepassingen die gebruikmaken van DB2-databases. Verderop komen alternatieven voor standaard-CGI aan de orde, zoals Java.

Opgeslagen procedures

Een belangrijke overweging bij webtoepassingen, net als bij client/server-communicatie, is het verkeer tussen de HTTP-server en de back-end database zoveel mogelijk te beperken. Dit is met name van belang bij verwerkingsomgevingen met hoge volumes, zoals de meeste toepassingen voor e-business.

De beste aanpak hierbij is een combinatie van CGI-toepassingsprogramma's en opgeslagen procedures met programma- en bedrijfslogica. DB2 Universal Database op OS/2, UNIX en Windows, en DB2 op OS/390, AS/400 en VSE hanteren allemaal dezelfde parameterconventie voor het oproepen van opgeslagen procedures.

Net als bij standaard-CGI wordt het formulier door de webbrowser naar de webserver verzonden, waar het CGI-script wordt uitgevoerd. In plaats van dat elke afzonderlijke SQL-instructie naar de DB2-database wordt verzonden, wordt nu echter een opdracht verzonden om een opgeslagen procedure uit te voeren. Deze opgeslagen procedure bevat een aantal SQL-instructies die anders dus afzonderlijk moeten worden uitgevoerd. Met opgeslagen procedures hoeven minder berichten heen en weer te worden gestuurd tussen het CGI-script en de back-end database.

Het grootste voordeel van opgeslagen procedures is een kleinere hoeveelheid netwerkverkeer tussen de HTTP-server en de back-end DB2-database. Raadpleeg de Application Development Guide of de online Help bij DB2 Stored Procedure Builder voor meer informatie over opgeslagen procedures.

Pooling van verbindingen

De totstandbrenging van een verbinding tussen een DB2 Connect-server en de host vergt computerresources en -tijd. In een omgeving waar duizenden clients via de DB2 Connect-server regelmatig verbinding maken met de host en de verbinding weer verbreken, wordt een aanzienlijk deel van de verwerkingstijd in beslag genomen door de totstandbrenging en verbreking van verbindingen.

De mogelijkheid van DB2 Connect voor pooling van verbindingen levert in dergelijke omgevingen een aanzienlijke verbetering in performance op. Met DB2 Connect worden open verbindingen met de database onderhouden in een beschikbare pool. Wanneer een client een verbinding aanvraagt, kan de verbinding tot stand worden gebracht via de pool met beschikbare verbindingen. Pooling van verbindingen zorgt voor een aanzienlijke vermindering van de systeembelasting die normaal gesproken wordt besteed aan de totstandbrenging en verbreking van deze verbindingen.

Zie Pooling van verbindingen voor meer informatie over de werking van pooling van verbindingen.

DB2 Connect als Java-toepassingenserver

Veel van de tekortkomingen van CGI kunnen worden opgelost door in plaats hiervan Java te gebruiken. IBM levert zowel applets als toepassingen waarmee u CGI door Java kunt vervangen in elk stadium van een webtransactie. De oplossingen van IBM kunnen in combinatie met diverse methoden worden toegepast, zodat u bij DB2 scriptoplossingen zoals Net.Data en Microsoft Active Server Pages kunt gebruiken of voor een krachtige implementatie in de vorm van een Java-toepassingenserver zoals IBM WebSphere kunt kiezen.

Er zijn twee API's (Application Programming Interfaces) voor Java-programmeurs. De eerste, JDBC, ondersteunt het gebruik van Java voor de ontwikkeling van Java-applets die gegevens kunnen herkennen, Java-toepassingen en ook Java-servlets, Java Server Pages en Enterprise JavaBeans. JDBC is een Call Level API (waarbij methoden worden opgeroepen). De andere Java-API is SQLJ. SQLJ biedt de mogelijkheid om SQL inline op te geven binnen een Java-programma. DB2 kan met beide API's werken, zowel op de client als op de server die bij een webtransactie zijn betrokken.

Aan de kant van de client worden applets, applets die gegevens kunnen herkennen en toepassingen ondersteund. Aan de kant van de database wordt ondersteuning voor Java geboden met behulp van databaseobjecten, zoals door de gebruiker gedefinieerde functies en opgeslagen procedures.

Bij DB2 for OS/390, DB2 for VSE en VM en DB2 for OS/400 kunt u op twee manieren een Java-toepassing gebruiken. U kunt via TCP/IP of SNA een directe verbinding tot stand brengen met behulp van DB2 Connect Personal Edition of u kunt via een DB2 Connect Enterprise Edition-server een verbinding tot stand brengen met het mainframe of de AS/400 back-end.

In beide gevallen heeft de webgebruiker slechts een standaardwebbrowser en verder geen speciale software nodig om toegang tot de database te krijgen. U hoeft dan alleen een DB2 Connect-server en een standaardwebserver te installeren. Als de webserver en DB2 Connect niet op dezelfde fysieke computer staan, moet u ook een DB2-client op de webserver installeren.

Het belangrijkste onderdeel voor DB2 for OS/390 is DB2 Connect Enterprise Edition dat op een server op de middenlaag wordt uitgevoerd. Dit is het onderdeel dat het gebruik van een JDBC-server en verbindingen met de DB2 for OS/390-, VSE- en VM- of AS/400-server mogelijk maakt. Ook hierbij is behalve een webbrowser geen speciale software op de client nodig.

IBM levert een uitgebreide set hulpprogramma's voor de ontwikkeling van Java-toepassingen en -applets. Voor verbindingen met de database biedt de DB2 Developer's Edition een allesomvattende Kit met VisualAge for Java Professional Edition, WebSphere Application Server, Net.Data, en daarnaast DB2 Universal Database en DB2 Connect voor testdoeleinden. IBM VisualAge for Java Enterprise Edition bevat ook ontwikkelprogramma's voor grootschalige bedrijfstoepassingen. Bij de databaseoplossingen van IBM kunnen ook hulpprogramma's van derden, zoals Borland JBuilder of Symantec Visual Cafe, worden gebruikt.

Net.Data

Net.Data, dat deel uitmaakt van de producten DB2 Universal Database en DB2 Connect, bestaat uit een set hulpprogramma's voor de ontwikkeling van toepassingen waarmee u toepassingen die gebruikmaken van webtransacties kunt maken en beheren. Met Net.Data kunt u gegevens op een DB2 UDB for OS/2, Windows NT, Windows 2000, UNIX, OS/390, VM, VSE en OS/400 openen en wijzigen. De toepassingen die u met behulp van Net.Data maakt, worden opgeslagen op een webserver en kunnen in een webbrowser worden geactiveerd.

Met de macro's (sjablonen) van Net.Data kunnen gebruikers met een basiskennis van HTML en SQL uiterst geavanceerde webtoepassingen ontwikkelen. Een macro is een tekstbestand dat Java, Java-scripts, HTML-codes en ingebouwde functies kan bevatten. U gebruikt deze macro's vervolgens om dynamische webpagina's met vooraf gedefinieerde opmaak, variabelen en functies te genereren.

Een standaardmacro van Net.Data bestaat uit de volgende zeven secties:

Het grootste voordeel van Net.Data, vooral voor DB2, is dat er geen clientsoftware is vereist. Bij deze implementatie is de client eenvoudigweg een webbrowser.

De processor van Net.Data wordt samen met DB2 Universal Database en de webserver geïnstalleerd op een Windows NT-, Windows 2000-, OS/2- of UNIX-werkstation. Bij verbindingen met DB2 OS/390, DB2 for VSE en VM en AS/400 wordt de volledige infrastructuur van Net.Data infrastructuur geïmplementeerd op een DB2 Connect-server, samen met een webserver.

IBM WebSphere

IBM WebSphere biedt een uitgebreidere oplossing voor e-business dan met traditionele CGI-programma's mogelijk is. WebSphere-toepassingenservers bieden niet alleen de scriptvoorzieningen van CGI, maar leveren ook complexe en high-end webservices met behulp van servlets, Active Server Pages en Enterprise JavaBeans. Met WebSphere kunt u:

WebSphere is niet slechts één product, maar een reeks van drie producten die zijn bedoeld voor drie verschillende doelgroepen. De spil van de WebSphere-oplossing wordt gevormd door de WebSphere-toepassingenserver.

De WebSphere-toepassingenserver is een verwerkingsomgeving voor drie typen objecten. Een van deze objecttypen is Java Server Pages (JSP), die overeenkomen met Active Server Pages. Een tweede objecttype is Java-servlets en het derde type is Enterprise JavaBeans (EJB). Enterprise JavaBeans vormen de nieuwe standaard voor het gebruik van zeer grootschalige en krachtige toepassingen op ondernemingsniveau.

Daarnaast leveren Data Access JavaBeans geavanceerde databasefuncties die specifiek op DB2 zijn gericht. DB2 is tevens rechtstreeks toegankelijk via JDBC and SQLJ. Bovendien worden ook COM+ en CORBA ondersteund.

WebSphere-toepassingen kunnen op hetzelfde platform worden ingezet als de webserver en DB2 Universal Database. Bij DB2 for OS/390, VM, VSE en AS/400 wordt WebSphere op hetzelfde platform als DB2 Connect Enterprise Edition gebruikt.

Er zijn diverse WebSphere-oplossingen verkrijgbaar, naast de Web Studio en WebSphere Performance Packs. De drie beschikbare WebSphere-versies zijn:

Standard Edition
Deze versie is bedoeld voor websiteontwikkelaars, die met de Java-servlets en JSP-technologie van deze server snel en gemakkelijk websites en -poorten van statische pagina's kunnen omvormen tot aangepaste en dynamische webinhoud. Tevens ondersteunt de server de toonaangevende XML-standaard voor gemeenschappelijk gebruik van informatie en gegevens door verschillende groepen of ondernemingen. Bovendien is de server uitgerust met een ingebouwde technologie voor het analyseren van sites, waarmee u gegevens over de performance en het gebruik van sites kunt bijhouden en zo een maximale winst op investeringen in websites kunt behalen.

Advanced Edition
Deze versie is bedoeld voor toepassingsprogrammeurs, die met deze krachtige EJB-server bedrijfslogica kunnen toepassen met behulp van EJB-componenten. Naast de functionaliteit van de Standard Edition biedt de server verbindingen met een schaalbare beveiliging en Java-ondersteuning.

Enterprise Edition
Deze versie is bedoeld voor ondernemingsarchitecten, die met deze server de verschillende bedrijfssystemen kunnen integreren en zo krachtige toepassingen voor e-business kunnen ontwikkelen en resources optimaal kunnen benutten. In de Enterprise Edition zijn de mogelijkheden van de bekroonde IBM TXSeries- en Component Broker-technologieën opgenomen. Daarnaast biedt de server ook de functionaliteit van de Advanced Edition en de Standard Edition.


[ Begin van pagina | Vorige pagina | Volgende pagina | Inhoud | Trefwoordenregister ]