Hardware en software moeten samenwerken, dat spreekt voor zich. Vroeger werd de meeste software ontwikkeld door de leverancier van de hardware. Aan deze kostbare en verkrampte situatie kwam een eind door twee ontwikkelingen.
Allereerst werd Unix (in theorie) geschreven in een machine-onafhankelijke taal (C), zodat dit systeem snel en eenvoudig naar verschillende hardware-platformen overgedragen kon worden. Ten tweede zorgde de microprocessor ervoor dat het aantal verschillende processor-architecturen sterk in aantal afnam. Vandaag de dag zijn er nog maar zeven of acht belangrijke instructiesets in omloop, en dat aantal zal verder afnemen.
Tegenwoordig concurreren de Unix-varianten en de Microsoft Windows-besturingssystemen, die vooral op Intel-processoren draaien, met de IBM-systemen OS/390 (MVS), OS/400 en OS/2. Historische besturingssystemen van bijvoorbeeld Digital, Unisys, ICL en Siemens worden steeds vaker vervangen door Unix en NT. Tandems Guardian is interessant, omdat het één van de belangrijkste fouttolerante systemen is, maar onder de hoede van Compaq is ook Tandem steeds actiever op het gebied van Unix en NT.
Hardware-leveranciers hebben hun klanten altijd aan zich gebonden door gebruik te maken van het specifieke karakter van hun software. Unix stimuleerde de ontwikkeling van open systemen, maar die ontwikkeling werd ondersteund door dezelfde leveranciers van beschermde systemen. Pyramid en Sequent waren zo’n beetje de enige nieuwe leveranciers die onder invloed van Unix konden opbloeien; daarnaast gebruikten PC-leveranciers de SCO-producten om invloed buiten de Microsoft-wereld te krijgen. Dankzij Netware had Novell zich een behoorlijke plaats in de PC-wereld weten te verwerven.
PC-leveranciers wilden een gemeenschappelijk besturingssysteem, maar de leveranciers van open systemen wilden, onder het mom van openheid, de controle behouden. Met Unix was dat makkelijk. Het lijkt met NT op de server dezelfde kant uit te gaan. Alle servers en multi-user systemen moeten beschikken over beheertools en ondersteuning voor specialistische uitbreidingen, zoals clustering, redundantie, monitoring en tuning. Dankzij deze speciale functies konden de hardware-leveranciers daarom een standaard besturingssysteem leveren en toch enige controle over de productkeuze van de klant behouden.
Applicaties gebruiken echter zelden basisfuncties van het besturingssysteem, zoals file- en printbeheer. In de meeste gevallen zoeken ze het op een hoger niveau, zoals databases, Web-toegang, workflow, beveiliging, communicatie en dergelijke. Dus ook al zijn SQL Server, DB2, Oracle en dergelijke beschikbaar op, zeg, een NT-platform met een Intel-processor, toch zullen applicaties nooit naadloos samenwerken met meer dan één database, behalve voor triviale Odbc-applicaties die uitsluitend gegevens opvragen. Niet het besturingssysteem, maar het database-managementsysteem voert een controlerende taak uit.
Dit effect spreidt zich uit naar andere softwareniveaus, met name programmeeromgevingen en applicaties. In theorie is een Oracle-applicatie voor een NT-platform met Intel-processor hetzelfde als een Oracle-applicatie voor een AIX-platform met PowerPC (na hercompilatie voor de specifieke instructieset). Er zijn echter subtiele verschillen, die samenhangen met het besturingssysteem, zoals ’threading’, I/O en natuurlijk het operationeel beheer. Deze factoren worden ook beïnvloed door de run-time eisen van de programmeeromgeving; dit is de reden dat Oracle graag wil dat wij Oracle-tools gebruiken. En daardoor wordt de keuze nog verder beperkt en wordt de binding aan één specifieke leverancier bijna verstikkend.
Dus ondanks het kleinere aantal verschillende processoren, besturingssystemen, databases en programmeeromgevingen zijn er nog een heleboel combinaties over en hebben we de droom die ‘open systemen’ heet nog lang niet bereikt!
Dankzij de overheersing van IBM zijn mainframes een stuk consistenter, en de AS/400 helemaal. Er is iets te zeggen voor de bewering dat MVS meer hout snijdt dan open systemen, als het gaat om compatibiliteit en consistentie! De AS/400 is in feite veel opener dan Unix en NT, omdat OS/400-applicaties op alle AS/400-systemen draaien, terwijl Oracle-applicaties voor een specifieke Unix-machine niet draaien op een andere Unix-machine met Sybase.
Het bezwaar tegen de AS/400 als open systeem is duidelijk: er is geen andere leverancier dan IBM. Maar datzelfde bezwaar geldt voor Microsoft, dat hetzelfde kunstje uithaalt en iedereen aan BackOffice probeert vast te knopen – op één besturingssysteem (NT), maar op verschillende hardware-platformen. Oracle doet hetzelfde, maar dan op verschillende platformen. Nu is de cirkel voor IBM weer rond; IBM levert een server-suite voor alle normale platformen, inclusief NT en OS/400. De conclusie is duidelijk: de server-suites bepalen de markt, besturingssystemen zijn niet langer belangrijk.
De industrie is dus 180 graden gedraaid. Hardware-leveranciers schrijven de software-leveranciers niet langer de wet voor, maar de software-leveranciers bepalen wat er gebeurt. Jarenlang hebben Amdahl, Hitachi en Comparex systemen moeten bouwen die geschikt waren voor IBM-software. En onlangs heeft Oracle goedkeuring gegeven aan Tandem, Compaq en Siemens om de Oracle-database op een geclusterde NT-omgeving te draaien. Nu Windows de nieuwe PC-98 hardware-specificatie definieert zijn de dagen van unieke hardware-producten geteld. Dat is een goede zaak. We zouden zelfs met nóg minder alternatieven toe kunnen.