Zo lang ik me kan herinneren doen in it-kringen twee grappen de ronde. ‘Het mooie aan standaarden is dat je uit zoveel kunt kiezen’, en ‘Het werken met standaarden is goed voor de business, want morgen is er altijd weer een andere’. Het is een feit dat de it-industrie altijd lippendienst heeft bewezen aan standaarden, en wegen vond om ze te exploiteren. Dat gebeurde door de standaarden te gebruiken en er bedrijfseigen zaken aan toe te voegen: ‘industriestandaard, met de volgende uitbreidingen’. Zodra de uitbreidingen worden gebruikt, wordt het een bedrijfseigen systeem!
Dit kunstmatige aanhangen van standaarden is het ergst bij databaseproducten. Alle relationele databasemanegement-systemen gebruiken SQL als interface-taal. In vroege versies bestond geen echte SQL-standaard, en waren variaties dus onvermijdelijk, maar tegenwoordig ondersteunen alle commerciële producten de SQL-standaard. Ze hebben echter eigen uitbreidingen voor beheer- en database-administratie, waardoor ze niet compatibel zijn. Maar ze hebben allemaal hun eigen extra kenmerken, in het bijzonder de behandeling van opgeslagen procedures, pre-compilers, enzovoort. Het is niet praktisch om een grote applicatie te ontwikkelen en alleen gebruik te maken van de standaard SQL-programmeer-interface, hoewel Odbc en Jdbc ‘de facto’-standaarden bieden die geschikt zijn voor kleinere applicaties. Dit is een onderwerp voor een aparte discussie. Maar het is mogelijk dat moderne hardware goedkoop genoeg is om af te zien van prestatiebevorderende uitbreidingen, en om grote applicaties te bouwen met alleen Odbc of Jdbc. In de praktijk gebeurt dit niet, en wordt steeds meer functionaliteit ingebouwd in de rdbms-producten, waarmee de overdraagbaarheid nog moeilijker wordt.
Met de acceptatie van internet nam de strijd om standaarden een wending ten goede. Er was geen geruzie over de voors en tegens van SNA versus DECnet, enzovoort; het was TCP/IP: ‘slikken of stikken’. De zogenaamde standaard, OSI, maakte nooit een kans. Zelfs de grootste leveranciers, zoals Microsoft en IBM, moesten meedoen, anders zouden hun producten niet acceptabel zijn voor de internetgemeenschap. Elk argument aangaande superioriteit boven TCP/IP werd tenietgedaan vanwege de commerciële noodzaak om op de rijdende trein te springen. De vooraanstaande leveranciers van bedrijfseigen communicatie, IBM en Digital, moesten het afleggen. Sun en HP profiteerden daarentegen van de algehele acceptatie van TCP/IP, omdat ze de drijvende kracht waren achter de commerciële exploitatie van Unix. Unix en TCP/IP waren vanaf het begin met elkaar verstrengeld vanwege de invloed van de universiteiten.
Vóór internet was de enige standaard met enige impact die ik kan bedenken ‘electronic data interchange’ (edi), en die was beperkt tot bepaalde groepen. De sleutel voor de dominantie van de ‘de facto’ edi-standaarden was vergelijkbaar met die van internet, hoewel op kleinere schaal. Met edi en internetdiensten zoals e-mail, zijn de gebruikers verspreid over de hele wereld. Edi is een concept voor interactie tussen bedrijven. Traditionele dataverwerkende systemen werden gebouwd ten dienste van één organisatie zodat alleen intern ‘de facto’ standaarden enige relevantie hadden. Dan nog bestonden er grote incompatibiliteitsproblemen tussen afdelingen en zelfs tussen applicaties in dezelfde afdeling. Fusies en acquisities werden hierdoor veelal een nachtmerrie! Met e-handel ontstaat dezelfde behoefte aan samenwerking tussen verschillende bedrijven. In theorie gaat dit gepaard met de goede principes, die door edi waren gevestigd; ditmaal zijn ze voor iedereen!
Maar het is niet allemaal rozengeur en maneschijn. Er zijn al belangrijke groepen tegenstanders in het Microsoft-kamp (.NET) en het Sun-kamp (J2EE). Het laatste omvat bijna iedereen behalve Microsoft, maar ze zijn het niet helemaal met elkaar eens. Ogenschijnlijk hebben ze zich veel meer gecommitteerd aan standaarden dan ooit. Maar ik vrees dat dit vooral een anti-Microsoft-houding is, en het is erg vervelend dat Sun Microsystems nog de autoriteit is op het gebied van standaarden die aan Java zijn gerelateerd.
XML is een speciaal geval. Het is een echte standaard, ondersteund door de W3C. Iedereen onderstunt het, maar er is een probleempje. XML is niet meer dan een taal, en de wijze waarop die wordt gebruikt, beïnvloedt de compatibiliteit. Als XML wordt gebruikt in b2b-applicaties, bepaalt het schema de inhoud van het bericht; en er is niet een enkele geaccepteerde standaard voor schema’s. Dit klinkt allemaal zeer vertrouwd!
De conclusie is waarschijnlijk dat alle leveranciers een ‘unique selling point’ nodig hebben, zodat ze uitbreidingen moeten introduceren op de standaard van het moment. Het zal interessant zijn om te zien of dit ook in het voordeel blijkt van ‘open source software’.
Martin Healey, pionier ontwikkeling van op Intel gebaseerde computers en c/s-architectuur. Directeur van een aantal it-bedrijven en professor aan de Universiteit van Wales.