Met de introductie van client/server-toepassingen konden ontwerpers de bruikbaarheid van toepassingen verbeteren en de trainingskosten voor toepassingen verlagen door toepassingen allemaal dezelfde grafische gebruikersinterface te geven op platforms zoals Windows and OS/2. Tegelijkertijd kon de databasebeheerfunctie worden verlegd naar krachtige databaseservers op diverse besturingssystemen en computerplatforms.
Het client/server-model, waarbij de toepassingslogica wordt gedistribueerd naar clientwerkstations, wordt doorgaans het tweelaagsmodel genoemd. In dit tweelaagsmodel wordt de toepassing gebruikt op de clientlaag en wordt de databaseserver geïmplementeerd op de serverlaag (back-end laag). Zoals wordt beschreven in Directe databasetoegang biedt DB2 Connect volledige ondersteuning van tweelagige client/server-toepassingen voor uiteenlopende databaseservers, waaronder DB2 for OS/390, DB2 for MVS/ESA, DB2/400 of DB2 for VM en VSE.
Naarmate client/server-toepassingen steeds grootschaliger werden, bleek al snel dat het tweelagige client/server-model in veel opzichten beperkingen vertoonde. De distributie van grote hoeveelheden bedrijfslogica naar honderden of zelfs duizenden clientwerkstations maakte wijzigingsbeheer tot een complexe en dure onderneming. Elke verandering van de bedrijfsregels vereiste aanpassing van het clientdeel van de toepassing. Vaak moesten deze gewijzigde versies van een toepassing tegelijkertijd op alle clientwerkstations in de onderneming worden geïmplementeerd om ervoor te zorgen dat de bedrijfsregels consistent konden worden toegepast.
Een andere beperking van het tweelaagsmodel die bij de schaalvergroting naar voren kwam, is de hoeveelheid resources die wordt gebruikt door grootschalige toepassingen. Het gebruik van honderden of duizenden fat clients, zoals tweelaagsclients vaak worden genoemd, vergt steeds meer van de verwerkingscapaciteit van elk clientwerkstation. Bovendien neemt ook de belasting van de databaseserver enorm toe, omdat voor elke client een vaste databaseverbinding en resources om deze verbinding in stand te houden nodig zijn. Hoewel het gebruik van opgeslagen procedures ervoor kan zorgen dat het tweelagige client/server-model in mindere mate afhankelijk wordt van de distributie van bedrijfslogica, kunnen de andere tekortkomingen eigenlijk alleen worden opgelost door het model te wijzigen.
Aangezien de kosten en complexiteit van tweelagige client/server-toepassingen bleven stijgen, werd voor de meeste grote toepassingen een andere oplossing gezocht in de vorm van een meerlagig client/server-model. In het meerlaagsmodel blijft de taak van de databaselaag ongewijzigd. De clientlaag wordt echter uitgebreid met een of meer middenlagen. Het meerlaagsmodel wordt daarom vaak aangeduid als drielaagsmodel.
In het drielaagsmodel wordt de client gebruikt voor de afhandeling van interacties met de gebruiker en niet meer voor de verwerking van bedrijfslogica. De middenlaag bestaat uit een of meer toepassingenservers. Het doel van de toepassingenserver is een krachtige, rendabele implementatie van de logica achter bedrijfsprocessen en bedrijfsregels mogelijk te maken. Net als bij het tweelaagsmodel wordt de implementatie van bedrijfsregels vaak aangevuld met het gebruik van opgeslagen procedures om een betere performance te verkrijgen.
Omdat op clientwerkstations niet langer een grote hoeveelheid toepassingslogica wordt geïmplementeerd en eigenlijk alleen interacties met de gebruiker worden afgehandeld, zijn er veel minder resources voor de clientlaag vereist. De clientlaag in het drielaagsmodel wordt daarom ook wel thin client genoemd. Daarnaast biedt een centrale toepassingenserver waarop aanvragen van alle clients worden afgehandeld de mogelijkheid om gemeenschappelijk gebruik van resources te maken, bijvoorbeeld gezamenlijk gebruik van databaseverbindingen door alle clients. De databaseserver hoeft dan niet langer een vaste verbinding voor iedere gebruiker van de toepassing in stand te houden.
In het huidige bedrijfsleven zijn veel voorbeelden van drielagige toepassingenservers te vinden. Bijna alle ERP-leveranciers (Enterprise Resource Planning) implementeren hun toepassingen met behulp van het drielaagsmodel, bijvoorbeeld de toepassingen SAP R/3 en PeopleSoft V7. Andere voorbeelden zijn de leveranciers van toepassingen voor Enterprise Relationship Management, zoals Siebel en Vantive.
DB2 Connect Enterprise Edition-servers bieden uitgebreide ondersteuning voor het gebruik van meerlaagstoepassingen. DB2 Connect ondersteunt meerlaagstoepassingen met behulp van verschillende API's waarmee toepassingslogica (ODBC, ADO, DB2 CLI, ingesloten SQL, JDBC en SQLJ) of een volledige communicatie-infrastructuur voor de interactie met DB2-databaseservers kan worden ontwikkeld.
DB2 Connect ondersteunt tevens implementaties waarbij de databaselaag bestaat uit meerdere DB2-databaseservers. Op deze manier kunt u op toepassingenservers transacties implementeren waarmee gegevens op meerdere databaseservers in één transactie worden bijgewerkt.
De integriteit van deze gedistribueerde transacties wordt gewaarborgd door de ondersteuning van het protocol voor COMMIT in twee fasen van DB2 Connect. U kunt met een toepassing bijvoorbeeld in één transactie gegevens in een DB2 for OS/390-database en DB2 UDB op Windows NT bijwerken. Als ondersteuning voor gedistribueerde aanvragen is geïnstalleerd en ingeschakeld, kunt u met de toepassing in één transactie gegevens in een Oracle-database lezen en hiermee een DB2-database bijwerken.
In de volgende afbeelding levert DB2 Connect Enterprise Edition zowel de API's als de verbindingen tussen de toepassingenserver en de back-end databaseservers.
Figuur 5. Ondersteuning in DB2 Connect voor toepassingenservers
|
Met de geavanceerde voorzieningen van DB2 Connect, zoals pooling van verbindingen (zie Pooling van verbindingen) en de verbindingsconcentrator (zie DB2 Connect-verbindingsconcentrator), worden de resourcevereisten van toepassingen aanzienlijk minder en wordt de implementatie van toepassingenservers een stuk eenvoudiger.
Als u gebruikmaakt van toepassingenservers, hebt u DB2 Connect Enterprise Edition nodig (dat als afzonderlijk product beschikbaar is, maar ook deel uitmaakt van het pakket DB2 Connect Unlimited Edition). DB2 Connect Personal Edition wordt niet ondersteund en gelicentieerd voor gebruik bij toepassingenservers. Gebruikers die toepassingenservers implementeren, moeten ook de voorwaarden die bij hun exemplaar van DB2 Connect worden meegeleverd grondig bestuderen om na te gaan hoeveel gebruikerslicenties ze nodig hebben.
U kunt DB2 Connect op twee manieren gebruiken in een omgeving met toepassingenservers. U kunt DB2 Connect Enterprise Edition installeren op:
Meestal kunt u een exemplaar van DB2 Connect het beste op dezelfde server als de toepassingenserver installeren. Als u DB2 Connect installeert op de toepassingenserver, kunt u eventuele procedures voor failover-detectie en belastingsverdeling die op de toepassingenserver zijn geïmplementeerd ook op DB2 Connect toepassen. Deze configuratie biedt een betere performance, omdat hiermee de aanvullende netwerkhop wordt vermeden die nodig is als DB2 Connect op een afzonderlijke server wordt geïnstalleerd. Bovendien wordt het beheer eenvoudiger, omdat u nu geen extra server hoeft te installeren en onderhouden.
De installatie van DB2 Connect op een afzonderlijke server is een goede oplossing als DB2 Connect Enterprise Edition niet verkrijgbaar is voor het besturingssysteem of hardwareplatform waarop de toepassingenserver wordt uitgevoerd. Als de toepassingenserver bijvoorbeeld is geïnstalleerd op een SGI-server (Silicone Graphics) of SCO UnixWare-server, kunt u DB2 Connect uitsluitend op een afzonderlijke server implementeren, omdat DB2 Connect Enterprise Edition niet beschikbaar is voor deze platforms.