We hebben er een modekreet bij: application courier services. Dit is gewoon een nieuwerwetse term voor berichtendiensten, van e-mail tot transactiesystemen. Op berichten georiënteerde store-and-forward verwerking is niet nieuw. In elke nichemarkt zijn echter stapsgewijs diverse applicaties opgebouwd, zonder dat is nagedacht over toekomstige integratie.
De meeste bestaande op berichten gebaseerde transactiesystemen gebruiken code in de applicatie en werken met communicatie-api’s op een laag niveau, hoofdzakelijk SNA en de LU6.2-api, Appc. Sinds kort probeert men de basis-systeemsoftware naar een hoger api-niveau te tillen; ziedaar het ontstaan van message-oriented middleware (mom). Zoals gewoonlijk zijn er weinig standaarden en proberen diverse commerciële partijen hun produkt als de facto standaard te positioneren.
Mom-produkten gebruiken een asynchrone api, ofwel een onmiddellijke return. De applicatie roept de middleware aan en gaat dan lokaal iets anders doen. De mom communiceert voor de applicatie met zijn partners-op-afstand. Er is geen end-to-end pad tussen applicaties, zoals bij conventionele synchrone api’s, bijvoorbeeld een remote procedure call. Overigens zijn synchrone (online) diensten voor tijdkritische applicaties te implementeren als twee ruggelings aangelegde asynchrone paden.
Mom-produkten moeten voorzien in gegarandeerde en eenmalige bezorging van berichten voor transactiesystemen. Voor e-mail is deze eigenschap wenselijk, maar niet noodzakelijk. Automatisch herstel na het opnieuw opzetten van een afgebroken communicatiesessie is essentieel. Transactie-mom moet dus een zekere ‘persistentie’ bieden. Doorgaans worden berichten op een niet-vluchtig medium geschreven en pas weggegooid als de ontvangst bevestigd is.
Mom-produkten moeten berichten kunnen opslaan in wachtrijen met prioriteiten. Mom moet berichten volgens een prioriteitsmechanisme afhandelen, in plaats van first come, first serve. Verder moet de middleware lange berichten, zoals bestandsoverdracht, automatisch onderbreken en opnieuw starten, om de verbinding niet te lang te blokkeren voor andere gebruikers. Een kernfunctie van een berichtensysteem is parallelle communicatie, waarbij een stapel berichten verzonden kan worden zonder te wachten op bevestigingen. Ook moet één bericht naar meerdere ontvangers te zenden zijn. Een zending naar alle ontvangers is het makkelijkst, maar multi-cast naar een geselecteerde groep is nuttiger. Alle beoogde ontvangers moeten bij aankomst het bericht bevestigen, in verband met de gewenste robuustheid. Tot slot moet mom geïnstalleerd en onderhouden worden; configuratie- en beheertools zijn dus cruciaal. Moeten dat algemene tools zijn, geschikt voor diverse mom-produkten, of specifieke hulpmiddelen voor elk mom-produkt?
Om waardevol te zijn, moeten mom-produkten kunnen draaien op meerdere hardware-platformen, met diverse besturingssystemen en netwerken. Het zijn dus geen triviale produkten, wat betekent dat op den duur een relatief kleine, selecte groep leveranciers overblijft.
Belangrijke mom-kandidaten zijn uitbreidingen van e-mail en edi, met standaard-api’s en extra robuustheid. Dat kunnen e-mail-produkten voor de PC zijn, zoals MS-Mail en CC-Mail. De echte kanshebbers zijn echter geavanceerde e-mail-systemen, zoals Exchange, Notes en Groupwise. Let ook op X.400-gebaseerde systemen, vooral voor meer specifieke edi-applicaties. Op dit moment is bij specifieke mom-produkten IBM’s MQ-serie (beschikbaar op de meeste platformen, ook niet-IBM) dominant. Andere produkten, zoals Vcom, Pipes en Decmessageq, hebben echter hun eigen voordelen.
De vraag is nu hoe Microsoft MQ te lijf gaat. Microsoft heeft geen positie in transactieverwerkende systemen, terwijl het NT beschouwt als concurrent van Unix. Om serieus genomen te worden, moet het meer doen aan transactie-monitors en mom. Uitbreiding van e-mail is een mogelijke benadering. Daarbij kan het de sterke positie in kantoorsystemen uitbuiten. Microsoft lijkt echter een gewaagdere koers te varen, gezien de introductie van Viper. Deze is gebaseerd op de OLE- en Mapi-programmeerinterfaces en biedt diensten voor transactieverwerking voor de SQL Server database, waarbij het om meer gaat dan simpele stored procedures. Dat is een uitdaging voor ondermeer Sybase en Oracle. Bovendien wordt Viper uitgebreid van de SQL-database naar een algemene mom-omgeving, met de codenaam Falcon. Falcon legt de basis voor integratie van back-office functies, net zoals OLE dat doet voor front-office applicaties.
In de NT- en mainframe-transactiewereld van morgen zullen Falcon en MQ domineren, ondanks de ontwikkelingen rond Corba. Protocolconversie op niveau 8 (de Level 8 gateway) wordt daarbij essentieel. Een gebrek van Falcon is dat het alleen op NT draait, waarschijnlijk omdat het een integraal onderdeel van Cairo wordt. End-to-end MQ biedt dus duidelijke voordelen.