R20/Consultancy B.V. - The website of Rick F. van der Lans

R20/Consultancy B.V.

The website of Rick F. van der Lans

Home page
Up

Message queuing is niet ouderwets

Auteur: Rick F. van der Lans
Geschreven: oktober 2000
Gepubliceerd in: CM Corporate.Net, nummer 160

"Maar dat is toch ouderwetse technologie? Dat spul werd toch lang geleden gebruikt in mainframe- en batchgeoriënteerde-omgevingen? Toch niet voor moderne client/server-applicaties en zeker niet voor Internet?" Dit is vaak de reactie die ik krijg als ik tijdens lezingen over message queuing begin. Jammer dat deze vooroordelen bestaan, want deze technologie heeft juist de Internet-wereld veel te bieden. Zeker nu de integratie tussen message queuing en XML gerealiseerd is.

Message queuing (MQ) is inderdaad niet gisteren bedacht. De technologie is al vele jaren beschikbaar en het is daarom te begrijpen dat ze geassocieerd wordt met mainframe-omgevingen. Maar daarom is het niet ouderwets. Het mainframe is nog steeds het platform waarop vele zware applicaties draaien en MQ heeft die zware applicaties veel te bieden.

Voor alle duidelijkheid, message queuing-producten - zoals IBM's MQSeries, Microsoft's MSMQ en SonicMQ van Progress - behoren tot de middleware-categorie. Het zijn concurrenten van producten die gebaseerd zijn op componentenbussen als CORBA, COM+ en Java RMI. Componentenbussen zijn geschikt voor het uitwisselen van berichten tussen client- en serverapplicaties. Tot voor kort konden deze bussen slechts ingezet worden in klassieke client/server- en Intranet-omgevingen, maar niet voor het Internet.

Met de komst van SOAP (Simple Object Access Protocol) kunnen de bussen berichten als XML-document versturen. Daarmee zijn ze ook voor het Internet geschikt geworden, omdat XML-documenten door firewalls geaccepteerd worden.

Ook message queuing-producten maken het mogelijk clients met servers te laten praten door berichten uit te wisselen. Het essentiële verschil is dat, wanneer een client- en een serverapplicatie berichten willen uitwisselen langs een componentenbus, beide operationeel moeten zijn. En dat geldt niet voor message queuing. Om deze reden worden componentenbussen wel eens 'tightly coupled' genoemd, terwijl message queuing als 'loosely coupled' geldt.

In diverse Internet-applicaties kunnen we echter niet altijd uitgaan van tightly coupled-systemen. Veronderstel dat een autofabrikant de prijs van een product wil verhogen en dat bij elk verkoopkantoor bekend wil maken. Met een componentenbus valt een dergelijk systeem te implementeren, maar dan moeten wel alle clients en de server tegelijkertijd operationeel zijn. Daar kan hij echter niet van uitgaan. Of denk bijvoorbeeld aan een tickertape die periodiek moeten worden bijgewerkt, websites waar producten via opbod gekocht worden of een emailsysteem.

Met message queuing kan de server het bericht van de prijsverhoging in een queue (wachtrij) plaatsen en daarmee is voor hem de taak volbracht. De queue server zal dan zorgen dat als de clients wakker worden, de berichten daar worden afgeleverd.

Kortweg, componentenbussen kunnen vergeleken worden met een telefoonverbinding, waarbij beide partijen tegelijkertijd aan de telefoon moeten zijn. Terwijl message queuing veel meer op email lijkt. Een bericht kan ergens gedumpt worden en er wordt voor gezorgd dat dit bericht bij de ontvanger aankomt. Tevens biedt het asynchrone karakter van message queuing een grotere schaalbaarheid dan synchrone omgevingen: meer boodschappen per tijdseenheid.

Een probleem van message queuing was lange tijd wel het ontbreken van standaarden. Maar daarin begint langzaam verandering te komen. Voor Java bijvoorbeeld is reeds de JMS-standaard (Java Message Service) gedefinieerd: een API voor het aanroepen van message queuing-producten vanuit de Java Virtual Machine. En de berichten en gegevens die we versturen, kunnen we tegenwoordig in XML-documenten stoppen - vergelijkbaar met SOAP.

Message queuing is allesbehalve ouderwets. Het is uitermate geschikt als middleware voor systemen waarvan niet kan worden verwacht dat clients en servers altijd tegelijkertijd operationeel zullen zijn. Het Web kent veel van dit soort applicaties. En daarom zullen MQ-producten een zeer belangrijke plaats in ebusiness-infrastructuren gaan innemen. Maar eerst moeten bedrijven de waarde van dit soort producten gaan begrijpen.

 

If you have any questions or remarks concerning this website, please send us an email: info@r20.nl.
Copyright © 2009 R20/Consultancy B.V.