Nettleseren er i ferd med å bli standardgrensesnittet for alt fra kataloger på systemet til intranett-applikasjoner. For enkle web-applikasjoner kan det være nok med en enkelt web-tjener. Hvis du har høyvolumsapplikasjoner som kan kreve databasetilgang og transaksjonsbehandling, tilbyr IBM løsninger som bruker DB2 Connect til å administrere mange samtidige transaksjoner over nettet.
Dette avsnittet beskriver web-baserte forretningsløsninger som kan dra nytte av å bruke DB2 Connect.
Brukere av e-business-applikasjoner på World Wide Web bruker vanligvis CGI (Common Gateway Interface) til å sende spørringer til databaser. Mange firmaer bruker også web-applikasjoner internt, og disse har vanligvis en database i bakgrunnen også.
Brukerne fyller ut skjemaer på en web-side og disse skjemaene blir sendt via CGI til applikasjoner eller skript på web-tjeneren. Skriptet bruker i sin tur en oppgitt database-API til å sende SQL-spørringer til en vertsdatabase. Det samme skriptet kan deretter bygge en web-side (HTML) av resultatene av spørringen og sende den tilbake, slik at brukeren kan se på den i nettleseren sin. Et eksempel er i en katalog på systemet der brukeren kan sende spørringer om tilgjengeligheten av og den gjeldende prisen for bestemte varer eller tjenester.
CGI-applikasjoner kan være enkle å utforme og enkle å vedlikeholde. Siden CGI-standarden er både operativsystem- og språkuavhengig, er den tilgjengelig på nesten alle plattformer. CGI-programmene kan skrives i C++ eller i et skriptspråk som Perl.
Selv om CGI kan virke som en ideell løsning for web-baserte applikasjoner, har det flere ulemper. Programmeringsmiljøet for CGI er ikke like avansert som andre APIer. I tillegg har CGI begrenset fleksibilitet, noe som påvirker store e-handeloperasjoner. Hver gang en CGI-applikasjon blir startet, blir det opprettet en ny prosess på web-tjeneren. Hver forekomst må opprette en egen tilkobling til databasen, og hver forekomst sender inn en egen spørring. I miljøer med store transaksjonsmengder, kan denne begrensningen forårsake betydelige ytelsesproblemer.
Du kan bruke DB2 Connect sammen med en web-tjener for å opprette robuste e-handelsapplikasjoner som kan håndtere store volumer. DB2 Connect har flere løsninger som forbedrer ytelsen for web-baserte applikasjoner. Lagrede prosedyrer (les DB2 Connect på web-tjeneren) gjør det mulig for DB2 Connect-brukere å redusere antall spørringer som blir sendt til databasen.
Tilkoblingsgrupper (les Tilkoblingsgrupper) reduserer hyppigheten av tilkoblinger og frakoblinger til og fra en database. Hvis du har store operasjoner der begrensningene til CGI skaper problemer, og du ønsker å opprette ikke-CGI-tilkoblinger til store forretningsapplikasjoner, leser du om IBM Net.Data (les Net.Data) og om WebSphere (les IBM WebSphere).
IBM har HTTP-tjenere (web-tjenere) med alle DB2 Connect-produktene for OS/2, UNIX, Windows NT og Windows 2000. DB2 Connect Enterprise Edition har automatisk støtte for Apache- eller Lotus Domino Go web-tjenere, og kan også fungere sammen med andre web-tjenere, for eksempel Microsoft Internet Information Server eller Netscape Enterprise Server.
Hvis du arbeider med DB2-databasefamilien kjørende på OS/390-, AS/400-, VM- og VSE-systemer, må du ha DB2 Connect Enterprise Edition på web-tjeneren. DB2 Connect Enterprise Edition har bibliotekene og grensesnittene for kommunikasjon som web-tjenere behøver for å få tilgang til disse verts- og AS/400-plattformene. Du kan enten bruke TCP/IP eller SNA til å kommunisere mellom web-tjeneren og en database som kjører på OS/390, AS/400, VM eller VSE.
Merk: | IBMs web-løsninger gjør det mulig å arbeide med flere databaser i det samme CGI-skriptet eller i den samme transaksjonen i et CGI-skript. |
De neste to avsnittene beskriver hvilke ytelsesforbedringer som er tilgjengelige for CGI-applikasjoner som bruker DB2-databaser. De påfølgende avsnittene beskriver alternativer til standard CGI, for eksempel Java.
På samme måte som i klient/tjener-miljøer er det viktig for web-applikasjoner å minimere trafikken som oppstår mellom HTTP-tjeneren og sluttprosessdatabasen. Dette hensynet er spesielt viktig ved behandling av store transaksjoner, som er kjernen for de fleste e-business-applikasjoner.
Vi anbefaler at du kombinerer CGI-applikasjonsprogrammering med programmeringen og forretningslogikken som er innkapslet i lagrede prosedyrer. DB2 Universal Database på OS/2, UNIX og Windows, og DB2 på OS/390, AS/400 og VSE bruker den samme parameterkonvensjonen for å starte lagrede prosedyrer.
På samme måte som med vanlig CGI sender nettleseren skjemaet til web-tjeneren som CGI-skriptet blir utført på. Men i stedet for at hver enkelt SQL-setning blir sendt til DB2-databasen, blir det sendt en forespørsel om å utføre en lagret prosedyre. Denne lagrede prosedyren innkapsler en gruppe SQL-setninger som ellers ville ha blitt utført enkeltvis. Lagrede prosedyrer reduserer antall meldinger som flyter frem og tilbake mellom CGI-skriptet og sluttprosessdatabasen.
Den største fordelen ved lagrede prosedyrer er at de reduserer nettverkstrafikken mellom HTTP-tjeneren og DB2-databasesluttprosessen. Du finner flere opplysninger om lagrede prosedyrer i Application Development Guide og i hjelpen på systemet for DB2 Stored Procedure Builder.
Det krever både dataressurser og tid å opprette en tilkobling fra en DB2 Connect-tjener til vertsmaskinen. Hvis du har et miljø der tusenvis av klienter ofte kobler seg til og fra vertsmaskinen gjennom DB2 Connect-tjeneren, brukes en stor del av behandlingstiden på å opprette og avslutte tilkoblinger.
Tilkoblingsgruppene til DB2 Connect forbedrer ytelsen betraktelig i slike miljøer. DB2 Connect vedlikeholder åpne tilkoblinger til databasen i en tilgjengelig gruppe. Når en klient ber om en tilkobling, kan den hente den fra denne gruppen med ferdige tilkoblinger. Tilkoblingsgrupper reduserer behandlingen som blir brukt på å åpne og lukke disse tilkoblingene, betraktelig.
Hvis du ønsker flere opplysninger om hvordan tilkoblingsgruppene fungerer, leser du Tilkoblingsgrupper.
Du kan unngå mange av ulempene ved CGI ved å bruke Java i stedet. IBM har både appletter og applikasjoner som gjør det mulig å bytte ut CGI med Java på de enkelte trinnene i en web-transaksjon. IBMs løsninger tillater at du blander ulike teknikker, slik at du kan bruke skriptløsninger som Net.Data og Microsoft Active Server Pages sammen med DB2, eller bruke en mer robust implementering med en Java-applikasjonstjener, for eksempel IBM WebSphere.
Det finnes to programmeringsgrensesnitt (API) for Java-programmerere. Det første, JDBC, har støtte for å bruke Java til å utvikle datagjenkjennende Java-appletter, Java-applikasjoner samt Java-servletter, JSP (Java Server Pages) og EJB (Enterprise Java Beans). JDBC er en anropsnivå- eller metodeanrops-API. Den andre Java-APIen er SQLJ. Med SQLJ kan du oppgi innebygd SQL i et Java-program. DB2 kan bruke begge APIene, enten på klient- eller tjenersiden av en web-transaksjon.
På klientsiden er det støtte for appletter, datagjenkjennende appletter og applikasjoner. På databasesiden består Java-aktiveringen av databaseobjekter, for eksempel brukerdefinerte funksjoner og lagrede prosedyrer.
Hvis du bruker DB2 for OS/390, DB2 for VSE og VM, eller DB2 for OS/400 kan du distribuere en Java-applikasjon på to måter. Du kan bruke den direkte tilkoblingsmuligheten til DB2 Connect Personal Edition med TCP/IP eller SNA, eller du kan gå gjennom en DB2 Connect Enterprise Edition-tjener som gir deg tilkoblingsmuligheter til sluttprosessen på stormaskinen eller AS/400.
I begge tilfellene behøver ikke web-brukeren noen spesialprogramvare for å få tilgang til databasen, bare en standard nettleser. Det eneste som må installeres, er en DB2 Connect-tjener og en standard nettleser. Hvis web-tjeneren og DB2 Connect ikke ligger på den samme fysiske maskinen, må det installeres en DB2-klient på web-tjeneren.
Hovedkomponenten for DB2 for OS/390 er DB2 Connect Enterprise Edition, som kjører på en tjener på det midterste laget. Denne komponenten aktiverer JDBC-tjeneren, i tillegg til at den oppretter en tilkobling til tjeneren med DB2 for OS/390, VSE og VM eller AS/400. Heller ikke nå er det nødvendig med noen spesialprogramvare for klientens nettleser.
IBM har et omfattende sett med verktøy for å utvikle Java-applikasjoner og -appletter. DB2 Developer's Edition inneholder et fullstendig sett for databasetilkobling som omfatter VisualAge for Java Professional Edition, WebSphere Application Server og Net.Data, samt DB2 Universal Database og DB2 Connect for testing. IBM VisualAge for Java Enterprise Edition inneholder også utviklingsverktøy for store forretningsapplikasjoner. Du kan også bruke verktøy fra andre leverandører, for eksempel Borland JBuilder eller Symantec Visual Cafe, sammen med IBMs databaseløsninger.
Net.Data, som er en del av DB2 Universal Database og DB2 Connect-familien, er et sett med verktøy for applikasjonsutvikling som er utviklet for å hjelpe deg med å opprette og vedlikeholde web-baserte transaksjonsapplikasjoner. Du kan bruke Net.Data for å få tilgang til og endre data som er lagret i DB2 UDB for OS/2, Windows NT, Windows 2000, UNIX, OS/390, VM, VSE og OS/400. Applikasjonene du oppretter ved hjelp av Net.Data, blir lagret på en web-tjener, og kan aktiveres ved hjelp av en nettleser.
Net.Data bruker makroer, eller maler, som gjør det mulig for brukere med en grunnleggende forståelse av HTML og SQL å bygge svært avanserte web-applikasjoner. En makro er en tekstfil som kan bestå av Java, Java-skript, HTML-koder og innebygde funksjoner. Disse makroene kan deretter brukes til å generere dynamiske web-sider med forhåndsdefinert layout og forhåndsdefinerte variabler og funksjoner.
En grunnleggende Net.Data-makro består av sju forskjellige seksjoner:
Hovedpoenget med Net.Data, særlig for DB2, er at det ikke er nødvendig med noen distribuering av klientprogramvare. Klienten i denne implementeringen er ganske enkelt en nettleser.
Net.Data-prosessoren blir installert sammen med DB2 Universal Database på en arbeidsstasjon med Windows NT, Windows 2000, OS/2 eller UNIX sammen med web-tjeneren. Når du kobler deg til DB2 OS/390, DB2 for VSE og VM, og 400, blir hele Net.Data-infrastrukturen distribuert på en DB2 Connect-tjener sammen med en web-tjener.
IBM WebSphere har en mer fullstendig e-business-løsning enn den tradisjonelle CGI-programmeringen kan gi. WebSphere-applikasjonstjenere utfører ikke bare skriptfunksjonene til CGI, de gjør det også mulig å utføre kompliserte tjenester og høynivåtjenester via weben ved hjelp av servletter, ASP (Active Server Pages) og Enterprise JavaBeans. Med WebSphere kan du
WebSphere er ikke ett produkt, men en familie av tre produkter som er rettet mot tre ulike målmarkeder. Kjernen i WebSphere-løsningen er WebSphere-applikasjonstjeneren.
WebSphere-applikasjonstjeneren har miljøet som er nødvendig for tre typer objekter. En av komponentene er Java Server Pages, som tilsvarer Active Server Pages. Den andre komponenten består av Java-servletter, og den tredje komponenten er Enterprise JavaBeans. Enterprise JavaBeans er i ferd med å bli standarden for distribusjon av svært store, robuste forretningsapplikasjoner.
I tillegg har Data Access JavaBeans svært avanserte databasefunksjoner som er tilpasset spesielt for DB2. Du kan også få direkte tilgang til DB2 via JDBC og SQLJ. Det er også støtte for både COM+ og CORBA.
WebSphere-applikasjoner kan bli distribuert på den samme plattformen som web-tjeneren og DB2 Universal Database. Hvis du bruker DB2 for OS/390, VM, VSE og AS/400, blir WebSphere distribuert på den samme plattformen som DB2 Connect Enterprise Edition.
Det finnes flere WebSphere-løsninger i tillegg til Web Studio- og WebSphere Performance-pakken. De tre WebSphere-versjonene er: