Zelfs Microsoft heeft moeten toegeven dat de vraag naar het ontsluiten van applicaties door middel van browsers te sterk is om te kunnen negeren. En die vraag zal alleen maar toenemen naarmate Java-applets volwassener worden.
Een eenvoudige vorm van koppeling tussen browser en gegevens vindt plaats met behulp van het Common Gateway Interface (CGI). Hierbij gebruikt de browser Http om een webserver te benaderen en communiceren de server en de browser door middel van Html-pagina’s. Op de server biedt CGI een pad tussen Html-tekst en een conventioneel applicatieprogramma. Zulke programma’s nemen Html-tekst als invoer, verwerken het, laden gegevens uit een transactiedatabase en sturen een antwoord in Html-formaat terug naar de browser. Oorspronkelijk is CGI bedoeld om statische Html-pagina’s te actualiseren, bijvoorbeeld met nieuwe prijsinformatie. Door het gebruik van scripts in pagina’s is CGI uitgegroeid tot de eerste interactieve browser-toepassing. De geboorte van elektronische handel op het Web was hiermee een feit. Verwerking aan de client-kant is op dit moment sterk te verbeteren met behulp van dynamische Java-applets. Hieraan zijn functies toegevoegd voor beveiliging en samenwerking tussen gebruiker, handelaar en financier (zoals Set). In uitgebreide producten voor webservers, zoals Microsoft Merchant of IBM’s e-Commerce, is een basale vorm van transactie-logging opgenomen waarmee meerdere deeltransacties te volgen zijn, naar analogie van het winkelkarretje. De browser zelf kent geen ’toestanden’; voorgaande acties worden volledig genegeerd.
CGI is een standaard die wordt ondersteund door alle webservers; in de praktijk is het echter te traag. Elke individuele transactie activeert CGI; de servertransactie wordt elke keer opnieuw uitgevoerd. Omdat het Web juist bedoeld is om meerdere gebruikers tegelijkertijd te ondersteunen, is dit voor productietransacties niet aanvaardbaar. Om zulke transacties toch te kunnen uitvoeren is een parallelle benadering noodzakelijk. Dit betekent dat de programmacode op de webserver moet draaien; zulke uitbreidingen zijn vanzelfsprekend leveranciersspecifiek. Het is goed hierop te letten bij de aanschaf van ontwikkeltools voor interactieve web-applicaties. Zulke tools moeten niet alleen CGI ondersteunen, maar door hercompilatie ook de specifieke API’s van Microsoft, Netscape en IBM.
Microsoft heeft de interface tussen Html en bestaande programma’s verbeterd met een uitbreiding genaamd Active Server Pages (ASP) die de basisserver (IIS) aan Ole en dus ook aan Activex koppelt. (N.B.: ik ben een verklaard tegenstander van Activex op clientniveau omdat het NC’s uitsluit; op serverniveau zijn Activex-producten zoals ASP voor NT-gebruikers echter wel aanvaardbaar.) Hiermee ontstaat een ‘gateway’-server die honderden browsers tegelijk aan kan, PC of NC, met of zonder Java-applets, op basis van standaard Html/Http-protocollen. Voor het gebruikersinterface kunnen standaard Html-tools worden gebruikt, maar ASP’s verdienen bijzondere aandacht; deze zijn ontworpen voor gelijktijdig gebruik door meerdere gebruikers en moeten worden geïntegreerd met Ole op de server.
Met ASP in IIS zijn programma’s niet overdraagbaar naar andere webservers. In tegenstelling tot deze aanpak zijn Java-applets op een server wel degelijk overdraagbaar tussen verschillende webservers en besturingssystemen. We moeten nog zien welk mechanisme, Java-server of ASP, het beste presteert voor applicaties met een hoog transactievolume. Met ASP heeft de ontwikkelaar toegang tot Ole-applicaties en -componenten op de server. Eenvoudige applicaties kunnen de Ole-versie van Odbc gebruiken om SQL-databases aan te spreken.
Voor een bedrijfskritische transactieapplicatie is een robuuster mechanisme nodig. De verwerking op de Ole-server moet immers worden gesynchroniseerd met een productiesysteem. Dit is kritisch als er legacy-systemen in het spel zijn. Daarom heeft Microsoft zijn eerste TP-monitor (’transaction processing’) geïntroduceerd, Microsoft Transaction Server (MTS), codenaam Viper. Eerst was Viper alleen geïntegreerd met SQL Server, maar nu bevat het ook een standaard ’two-phase-commit protocol’ (XA) dat momenteel door de meeste gegevensbeheersystemen en TP-monitors wordt ondersteund.
MTS is niet de enige TP-monitor voor NT. De industriestandaard Tuxedo is reeds gepoort van Unix naar NT en heeft enorme voordelen: het is een volwassen systeem dat voor meerdere platformen leverbaar is. Daarnaast heeft IBM Cics/6000 naar NT gepoort, met diensten die voor mainframe-ontwikkelaars welbekend zijn, zoals Vsam. Cics is ook leverbaar voor meerdere platformen.
Ondanks de aanwezigheid van Tuxedo en Cics/6000 heeft de ’timesharing’-wereld van Unix en NT altijd een voorkeur gehad voor ‘stored procedures’ boven TP-monitors. Het is dan ook niet erg waarschijnlijk dat MTS in dit segment op een grote belangstelling kan rekenen. Door de integratie met Ole, IIS en APS heeft MTS echter een grote kans om populairder te worden dan Tuxedo. En terwijl de Unix-wereld de boot mist met betrekking tot TP-monitors, maakt Microsoft met NT en MTS een reuzensprong vooruit. Dit is te danken aan het gebruik van IIS als ‘multi-user transactie-gateway’.