Op een paar uitzonderingen na heeft de IT-industrie altijd de voorkeur gegeven aan ‘de facto’-standaarden in plaats van aan officiële standaarden. Vroeger zette IBM de toon, met ‘de facto’ standaarden als SNA. Tegenwoordig domineert Microsoft met OLE en Windows.
Zelfs programmeertalen als Cobol en Pascal kennen ‘de facto’-varianten (Microfocus Cobol, bijvoorbeeld, is IBM-compatible). Internet heeft meer succes met standaarden gehad; denk aan TCP/IP, Http en Html. E-mail standaarden zoals Smtp en Pop zijn nu zo algemeen geaccepteerd dat zelfs Microsoft en Lotus ‘gateways’ voor Exchange en Notes moeten leveren.
De toekomst ziet er hierdoor zonnig uit, al wijken Microsoft en Netscape alweer van de nieuwe webstandaarden af met hun Windows-specifieke uitbreidingen. Java is een andere goede kandidaat voor een praktische standaard. Microsoft probeert Java te vernietigen, maar de belangen zijn enorm. Sun, IBM, Oracle en de anderen hebben al meer geïnvesteerd dan Microsoft.
Java heeft last van hetzelfde probleem als Unix destijds: de diversiteit aan implementaties. Java voldoet op dit moment aan Sun-standaarden, vooral omdat de bedrijven die Java steunen belang hebben bij een krachtige concurrent voor Microsoft.
De andere standaard die een voortvarende start heeft gemaakt is Corba, de standaard voor gedistribueerde objecten. Corba wordt onderhouden door de Open Management Group (OMG). De OMG wordt door iedereen ondersteund, behalve door Microsoft. Het vormen van een concurrerend front is het belangrijkste doel. Corba is succesvol geweest, omdat de standaard was gespecificeerd voordat er al leveranciersspecifieke producten waren. Corba was in eerste instantie gericht op de integratie van kantoorfuncties, maar de laatste releases ondersteunen nu ook transactieapplicaties, zoals beveiliging, ‘rollback’, commitment en dergelijke. Corba is 100 procent objectgeoriënteerd; het interface wordt gedefinieerd met de Network Interface Definition Language (Nidl). Een broker houdt bij welke objecten waar gevonden kunnen worden. Objecten kunnen zich overal bevinden; dit maakt redundantie mogelijk en verhoogt de schaalbaarheid. Er zijn vergelijkbare systemen op de markt gebracht door Forté, Dynasty en dergelijke, maar dan met hun eigen, specifieke objectmodellen. Daarnaast was het moeilijk volgens de Nidl-standaard te programmeren.
Er is al een hoop geld gestoken in de ontwikkeling van transactiesystemen op basis van Corba. Iona, de Ierse leveranciers van ORB-technologie (Object Request Broker), heeft een omzet van 80 miljoen dollar – een heleboel locaties dus. De grote doorbraak is echter de combinatie van Java en Corba, allebei objectgeoriënteerde technieken. De Java Remote Method Invocation (RMI) wordt vertaald naar het Inter Internet ORB Protocol (Iiop) in de standaard Java Virtual Machines (JVM’s). Java zal naast RMI ook Nidl ondersteunen. De impact is enorm, omdat dit betekent dat er eenvoudige ontwikkeltools op de markt zullen komen. Alle Java-applets die IBM voor de server ontwikkelt, zijn gebaseerd op Corba.
De componenttechnologie van Microsoft is gebaseerd op OLE; dit is niet echt objectgeoriënteerd, maar kent wel herbruikbare componenten (OCX’en, Object Linking and Embedding Custom Controls). Met Dole heeft Microsoft een gedistribueerd componentmodel geïntroduceerd (Dcom). Dit lijkt op OLE, maar is niet helemaal een gespreide versie. Dole is gebaseerd op het connectiemodel van DCE: wel ‘remote procedure call’ (rpc), maar geen dynamisch objectmodel met brokers zoals in Corba. Eerlijk gezegd vind ik Dole nergens op slaan. Het is een idioot concept, maar IT’ers lijken tegenwoordig niet verder te kijken dan hun neus lang is. Corba is goed ontworpen en is geschikt voor heterogene omgevingen. Dole is een uitbreiding van OLE – prima voor desktops, maar meer ook niet. Dole is niet gebaseerd op enig ontwerp. Daarnaast wordt Dole alleen ondersteund voor Windows NT. Dit kan alleen maar tot ellende leiden. Microsoft heeft al verklaard dat ze Dole niet voor andere systemen zullen ontwikkelen. Waarom zouden ze ook? Ze moeten hun klanten immers aan zich vastklinken. Software AG heeft de Microsoft-technologie in licentie genomen voor Entirex, een implementatie van Dcom op andere besturingssystemen zoals MVS en Unix.
Omdat Dcom zo simpel is, zijn er veel andere producten die hetzelfde doen zonder dat ze Corba nodig hebben. Specialistische rpc-producten als Tuxedo en Cics-clients zijn veel simpeler; ontwikkelomgevingen als Dynasty zijn veel uitgebreider. De oplossing voor de lange termijn is Java. Een voordeel is echter dat de meeste programmeertalen Dcom ondersteunen, zodat Dcom kan worden gebruikt als ‘enabler’ voor de ontwikkeling van dunne-clientapplicaties, waarbij Entirex op de schaalbare server draait.
Het lijdt geen twijfel dat er flink met Dcom gestoeid zal worden, maar de professionele IT-afdeling zou deze valkuil moeten vermijden en naar iets geavanceerders moeten uitkijken, met name Corba. Wie Dcom gebruikt, sponsort de inferieure technologie van Microsoft ten koste van de gebruikersgemeenschap.