Økningen i antall klient/tjener-applikasjoner gjorde det mulig for applikasjonsutformere å forbedre anvendeligheten og redusere opplæringskostnadene ved å gi applikasjoner grafiske brukergrensesnitt på plattformer som Windows og OS/2. Samtidig ble det mulig å distribuere funksjoner for databasestyring på en rekke operativsystemer og maskinvareplattformer.
Klient/tjener-modellen, der applikasjonslogikken blir distribuert til klientstasjoner, blir ofte kalt en 2-lags klient/tjener. I modellen med to lag blir applikasjonen distribuert på klientlaget og databasetjeneren implementerer tjeneren eller sluttprosesslaget. Som du ser i Direkte databasetilgang, har DB2 Connect full støtte for 2-lags klient/tjener-applikasjoner, når databasetjeneren er DB2 for OS/390, DB2 for MVS/ESA, DB2/400 eller DB2 for VM og VSE.
Da størrelsen på klient/tjener-applikasjonene begynte å øke, viste det seg at klient/tjener-modellen med to lag hadde store begrensninger. Distribusjon av store mengder forretningslogikk til hundrevis eller tusenvis av klientstasjoner gjorde administrasjon av endringer til en komplisert og dyr oppgave. Ved enhver endring i forretningsreglene måtte klientdelen av applikasjonen byttes ut. Ofte måtte disse applikasjonsutrullingene utføres på alle klientstasjonene i bedriften samtidig for å sikre at forretningsreglene ble brukt konsekvent.
En annen begrensning ved klient/tjener-modellen med 2 lag som ble synlig med skaleringen, er ressursmengden som disse applikasjonene bruker. Ved distribusjon av hundrevis eller tusenvis av fat-klienter, som klienter med to lag ofte kalles, økte behovet for databehandling og kapasitet på hver enkelt klientstasjon. I tillegg ble kravene til databasetjeneren mye større siden hver enkelt klient måtte ha en reservert databasetilkobling og ressursene som er nødvendige for vedlikehold av en slik tilkobling. Selv om utstrakt bruk av lagrede prosedyrer kan gjøre klient/tjener-modellen med 2 lag noe mindre avhengig av å distribuere forretningslogikk, er det ikke så lett å løse de andre problemene uten å endre modellen.
Etterhvert som klient/tjener-applikasjonene med 2 lag ble dyrere og mer kompliserte, ble de fleste større applikasjonene omgjort til klient/tjener-applikasjoner med flere lag. I modellen med flere lag er rollen til databasen uendret. Klientlaget blir imidlertid supplert med ett eller flere lag i midten, vanligvis ett, derav navnet 3-lags.
I modellen med 3 lag er klienten henvist til å håndtere brukerinteraksjoner, og den inneholder ikke noen forretningslogikk. Det midterste laget består av en eller flere applikasjonstjenere. Målet til applikasjonstjeneren er å gi en robust, kostnadseffektiv implementering av logikken bak forretningsprosessene og forretningsreglene. På samme måte som med 2-lagsmodellen blir implementeringen av forretningsreglene ofte supplert med bruk av lagrede prosedyrer for å forbedre ytelsen.
Siden klientstasjonene ikke lenger implementerer størstedelen av applikasjonslogikken og bare håndterer brukerinteraksjoner, bruker klientlaget mye mindre ressurser enn tidligere. Klientlaget i 3-lagsmodellen blir faktisk ofte kalt tynn klient. Siden en sentral applikasjonstjener håndterer forespørsler fra alle klientene, kan den i tillegg dele ressurser, for eksempel databasetilkoblinger mellom alle klientene. Følgelig behøver ikke databasetjeneren å vedlikeholde reserverte tilkoblinger for hver enkelt applikasjonsbruker lenger.
Det finnes mange eksempler på applikasjonstjenere med 3 lag i bransjen i dag. Nesten alle leverandørene av ERP (Enterprise Resource Planning) implementerer applikasjonene ved hjelp av 3-lagsmodellen, for eksempel SAP R/3- og PeopleSoft V7-applikasjoner. Andre eksempler er ledende leverandører av ERM (Enterprise Relationship Management), for eksempel Siebel og Vantive.
DB2 Connect Enterprise Edition-tjenere har omfattende støtte for applikasjoner som distribueres over flere lag. DB2 Connect har blant annet støtte for en rekke APIer som kan brukes til å utvikle applikasjonslogikk (ODBC, ADO, DB2 CLI, Embedded SQL, JDBC og SQLJ), samt en fullstendig kommunikasjonsinfrastruktur, slik at det kan virke sammen med databasetjenere i DB2-familien.
DB2 Connect støtter også implementeringer der et databaselag består av flere databasetjenere i DB2-familien. På denne måten kan applikasjonstjenere implementere transaksjoner som oppdaterer data på flere databasetjenere i en enkelt transaksjon.
DB2 Connect-støtten for tofaseiverksettingsprotokollen sikrer integriteten til slike distribuerte transaksjoner. En applikasjon kan for eksempel oppdatere data i en DB2 for OS/390-database og i DB2 UDB på Windows NT i samme transaksjon. Hvis støtten for distribuerte forespørsler blir installert og aktivert, kan applikasjonen lese en Oracle-database og oppdatere en DB2-familiedatabase i en enkelt transaksjon.
I diagrammet nedenfor kommer APIene samt mekanismen for tilkobling mellom applikasjonstjeneren og sluttprosessdatabasetjenerne fra DB2 Connect Enterprise Edition.
De avanserte funksjonene til DB2 Connect, for eksempel tilkoblingsgrupper (les Tilkoblingsgrupper) og tilkoblingskonsentratoren (les DB2 Connect-tilkoblingskonsentrator), reduserer behovet for applikasjonsressurser betraktelig og forenkler implementeringen av applikasjonstjeneren.
Du må ha produktet DB2 Connect Enterprise Edition (tilgjengelig separat eller som en del av produktpakken DB2 Connect Unlimited Edition) hvis du skal bruke applikasjonstjenere. DB2 Connect Personal Edition er ikke støttet eller lisensiert for bruk sammen med applikasjonstjenere. I tillegg må kunder som implementerer applikasjonstjenere, lese betingelsene som følger med kopien av DB2 Connect for å finne ut hvor mange brukerlisenser de trenger.
Det finnes to distribusjonsmetoder for DB2 Connect i applikasjonstjenermiljøet. DB2 Connect Enterprise Edition installert på
I de fleste tilfeller er det best å installere en kopi av DB2 Connect på den samme tjeneren som applikasjonstjeneren. Hvis du installerer DB2 Connect på applikasjonstjeneren, kan det brukes i eventuelle oppsett som applikasjonstjeneren implementerer for å løse feil og balansere belastningen. Denne konfigurasjonen kan gi bedre ytelse siden den fjerner behovet for et ekstra nettverkshopp som er nødvendig når DB2 Connect er installert på en egen tjener. I tillegg blir det enklere å utføre administrasjon siden det ikke er behov for å installere og vedlikeholde en ekstra tjener.
Det er et bra alternativ å installere DB2 Connect på en egen tjener hvis DB2 Connect Enterprise Edition ikke er tilgjengelig for operativsystemet eller maskinvareplattformen som applikasjonstjeneren kjører på. Hvis applikasjonstjeneren for eksempel blir distribuert på en Silicone Graphics- eller SCO UnixWare-tjener, er du nødt til å distribuere DB2 Connect på en egen tjener siden DB2 Connect Enterprise Edition ikke er tilgjengelig på disse plattformene.