Een tijdje geleden vroeg iemand mijn mening over het plan om van een AS/400 over te stappen op een client/server-omgeving. Dit is een onzinnige vraag, die maar weer eens al te duidelijk maakt dat er nog een hoop geleerd moet worden. De AS/400 is een computer, client/server is een architectuur. Het antwoord was dan ook simpel: kijk naar client/server, maar gebruik de AS/400 als server. Door de hele hype rond NT en Unix wordt wel eens uit het oog verloren dat de AS/400 een veel betere server is en dat MVS de beste server is voor grote omgevingen.
Het probleem zit hem in de nadruk die het dikke client-model krijgt. Daarbij bevindt de database zich op de server en draait de applicatie op de PC-client, één kopie per PC. Dit model kan iets worden verbeterd door de SQL-procedures te compileren en op de server op te slaan, maar ook hierbij is de client van een onacceptabele dikte. Bij het dunne client-model worden eerst de algemene bedrijfsfuncties in kaart gebracht. Vervolgens worden deze als herbruikbare modules op de server geïnstalleerd, zodat de client niets anders hoeft te bieden dan de gebruikersinterface en wat verfijningen, zoals invoervalidatie. Met NT- en Unix-servers is hierbij run-time ondersteuning nodig voor de bedrijfsfuncties, maar dan buiten het relationele dbms. Deze ondersteuning wordt doorgaans geleverd door een TP-monitor zoals Tuxedo of Cics/6000. Mainframe-ontwikkelaars kennen deze concepten van haver tot gort; de Unix- en NT-wereld moet er echter niet zoveel van hebben. Vooral de rdbms-leveranciers vinden het niet zo leuk dat ze de controle over het totale systeem verliezen. Hoe dan ook, een TP-monitor maakt het mogelijk om Cobol te gebruiken voor de bedrijfsfuncties. Bij deze verstandige benadering mist men natuurlijk wel de spannende dingen die het programmeren in 4GL, C of een ramp als Visual Basic met zich meebrengt, zoals slechte onderhoudbaarheid en hoge kosten. Op zijn best is Unix multi-user en ondersteunt Unix goedkope, makkelijke terminals, terwijl NT alleen in een PC-netwerk te gebruiken is, waarbij de dure PC-optie de enige is.
Als we bereid zouden zijn een stapje terug te doen, zouden we het volgende eisenpakket voor de ideale server kunnen opstellen: opslag- en afdrukdiensten; communicatie-gateways; databaseserver; transactieserver; beveiliging en betrouwbaarheid (recovery); operationele systemen (zoals archivering en backup); tools voor monitoring en ‘performance’; ontwikkeltools, inclusief repository, versiebeheer, broncodebeheer en dergelijke.
Dit lijkt niet erg op Unix of NT, maar wel op OS/400! Door een aantal software-pakketten aan Unix en NT toe te voegen, is een systeem samen te stellen dat wel iets weg heeft van OS/400. Het feit dat dit een samengesteld systeem is, schept echter secundaire problemen ten aanzien van compatibiliteit en prestaties. Deze worden vermeden door de interne consistentie van OS/400. Het vergelijken van NT of Unix met OS/400 is daarom net zoiets als het vergelijken van een dieselmotor met een complete auto.
De reden dat OS/400, de ideale server, niet werd uitverkoren, is toe te schrijven aan twee factoren: de veel betere marketing van Oracle, Sybase en de andere leveranciers enerzijds, en anderzijds aan IBM’s zielige poging om ongeschikte, op SNA en TRN gebaseerde communicatie te gebruiken om PC’s aan de AS/400 te koppelen.
Tegenwoordig ondersteunt de AS/400 Ethernet en de TCP/IP-protocollen (SNA en Appn zijn niet slecht, maar zijn minder geschikt dan TCP/IP om veel PC’s aan een server te koppelen). Het belangrijkste obstakel is hiermee weggeruimd, zij het enigszins laat. Het eerste probleem verdwijnt hiermee waarschijnlijk ook. De mislukking van dikke client-applicaties komt nu schrijnend aan het licht door afgrijselijke onderhoudsproblemen. 1997 is het begin van het eind van de PC en het begin van dunne client-systemen.
De huidige dunne client-systemen gebruiken PC’s als grafische front-ends die remote procedure calls aanroepen om bedrijfsfuncties op de server te starten. Er zijn TP-monitors nodig voor Unix/NT. Deze zijn beschikbaar voor OS/400 (Cics/400), maar dat is strikt genomen helemaal niet nodig omdat de AS/400 reeds beschikt over recovery– en beveiligingsfuncties. 1997 is ook het begin van een nieuwe dunne client, een dynamische nog wel: de netwerkcomputer (NC). Het netwerk-centrische model maakt gebruik van browser-technologie, die wordt verbeterd door het dynamisch laden van Java-applets. De eigendomskosten van dit concept zijn ongeveer twee keer zo laag als die van een PC-oplossing. De NC zal de PC vervangen zodra er Java-applicaties beschikbaar zijn. Het zal enige tijd duren vóór deze aanpak ook in de hype-gestuurde Unix/NT-wereld doorbreekt, maar niet in de AS/400-wereld. IBM heeft reeds een NC-product voor deze gebruikers, waarbij de continuïteit met 5250- en PC-applicaties gewaarborgd is.
Ik kan AS/400-gebruikers dus van harte aanbevelen om opgelucht adem te halen, nog wat meer van hetzelfde te kopen en Unix en NT te vergeten!