In de praktijk kunnen de meeste commerciële applicaties worden opgesplitst in interactieve systemen en batchsystemen. Interactieve systemen worden geactiveerd door een specifieke gebruiker. Batchsystemen worden geactiveerd door ‘schedulers’ of door het optreden van een gebeurtenis (‘event’), idealiter gekoppeld aan een werkstroomsysteem. De nieuwe generatie B2B-systemen zijn in feite batchsystemen die gebruik maken van transactieberichten om gegevens ter verwerking aan te leveren.
Er is echter nog een klasse event-gestuurde applicaties. Het gaat daarbij om applicaties waarbij een specifiek proces wordt opgestart als er een ‘event’ plaatsvindt. Dit is niet alleen een gebruikelijke manier om batchroutines in een werkstroomsysteem te starten, maar het speelt ook een rol in interactieve systemen waarbij informatie in real-time moet worden verwerkt.
Real-time verwerking is natuurlijk niet nieuw. Alle procesbesturingssystemen (teruggekoppeld of automatisch) werken in real-time en er is een heleboel software voor het besturen van programmeerbare controllers (PLC’s). Die PLC’s worden tegenwoordig op grote schaal gebruikt voor het besturen van machines, productielijnen, instrumenten en chemische processen. Voor die tijd werd heel veel van dit werk gedaan door ‘interrupt’-gestuurde minicomputers met de bijbehorende besturingssystemen. Hiervoor waren specifieke vaardigheden nodig, die niets te maken hadden met de wereld van de administratieve automatisering. Dit verklaart waarom zoveel gespecialiseerde PC-applicaties de verkeerde software gebruiken, zoals Windows, terwijl er genoeg robuuste real-time besturingssystemen zijn.
Als voorbeeld van wat we hadden kunnen bereiken door interactieve en event-gestuurde systemen met elkaar te combineren, kunnen wij denken aan de eisen van een systeem voor het handelen in aandelen en opties. Er zijn een heleboel handelaren, ieder met zijn eigen werkstation en zijn eigen klanten, die een gemeenschappelijke database gebruiken. Handelaren bevragen die database en geven aan in welke items ze interesse hebben. Met sommige van die items zullen ze op dat moment reeds werken, waarbij ze op een conventionele manier met het systeem communiceren.
Als er een verandering optreedt worden nieuwe details afgeleid uit diverse externe bronnen en wordt de database geactualiseerd. Met een interactief systeem kan deze nieuwe informatie alleen worden gedetecteerd als de database opnieuw wordt doorzocht. Dat is niet praktisch als de database erg groot is en kan bovendien leiden tot vertragingen, omdat de database steeds weer opnieuw moet worden doorzocht.
Als een item verandert, wordt daarom de software op de server geactiveerd en worden de relevante gegevens naar elk werkstation gestuurd dat heeft aangegeven belangstelling voor dat specifieke item te hebben. (Niet elk werkstation is geïnteresseerd in elk item.) Op het werkstation ligt een achtergrondproces te sluimeren dat wordt geactiveerd als er een bericht van de server binnenkomt. Die software kan verschillende dingen doen, maar de belangrijkste taak is het attenderen van de gebruiker op een interessante gebeurtenis.
De eerste handelssystemen werden gebouwd op Unix-werkstations of PC’s met OS/2 omdat Windows niet beschikte over de essentiële multitasking-functie (een typische eigenschap van een real-time besturingssysteem). Tegenwoordig zou hiervoor Windows NT of Linux worden gebruikt.
Bovenstaand voorbeeld is belangrijk, maar zeer specialistisch en is alleen voor een hoogwaardige applicatie te rechtvaardigen. Met Internet zouden vergelijkbare ideeën echter ook voor andere diensten kunnen worden toegepast, zij het minder geavanceerd.
Het meest eenvoudige voorbeeld hiervan is de ‘push’-technologie. Als een browser een verbinding heeft met een server, dan kunnen tijdens de interactieve Http-sessie ongevraagd berichten naar de browser worden gestuurd. Vaak werden die berichten op ’ticker tape’-banners getoond. De eerste push-technologie werd zo hardhandig door gebruikers aan de kant geschoven (het was ook zo irritant!) dat Microsoft het in de huidige versie van Internet Explorer niet meer ondersteunt.
Ik heb geen behoefte aan een hernieuwde introductie van die banners, omdat ik me al dood erger aan ongevraagde e-mail en nog meer advertenties niet aan zou kunnen. Toch zijn er applicaties die vruchtbaar gebruik kunnen maken van push-technologie. Vooral de komende jaren zullen deze applicaties steeds aantrekkelijker worden; het wordt immers makkelijker om een permanente verbinding te hebben. Zelfs triviale dingen kunnen dan handig zijn; denk bijvoorbeeld aan een melding dat er e-mail is binnengekomen.
Het is al mogelijk om veilingen te houden via Internet. Er zullen in de toekomst meer van dit soort groepsgeoriënteerde activiteiten worden ontwikkeld. Een Internet-veiling kan simpel een kwestie zijn van een bod uitbrengen, waarna de beste bieder door een ‘agent’ wordt geïnformeerd over het welslagen van het bod. Maar met een event-gestuurde versie kan de veiling ook interactief en in real-time plaatsvinden. Spannend, niet?
Ik weet zeker dat er al enkele event-gestuurde applicaties bestaan, maar het zal veel gemakkelijker zijn als de noodzakelijke systeemsoftware een standaardonderdeel van de browser wordt. De eerste event-gestuurde systemen zijn mislukt als gevolg van de gruwelen van Windows 3.1. Vandaag de dag zijn er geen excuses meer!
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.