Advanced Message Queuing Protocol (AMQP), een OASIS-standaard voor betrouwbare berichtenuitwisselingen, is sinds mei dit jaar ook een ISO/IEC-standaard, een belangrijke erkenning. Voor de specialisten is dit geen nieuws . AMQP verdient echter ook de aandacht van beslissers en adviseurs. Er zijn alle tekenen dat het vroegtijdig inzien van de potentie van deze standaard veel kan opleveren voor grote bedrijven en de overheid . En dit met beperkte risico’s: er zijn producten van betrouwbare leveranciers voorhanden en AMQP wordt al gebruikt voor bedrijfskritische toepassingen bij onder meer de financiële giganten Deutsche Börse Group en JP Morgan.
AMQP is de eerste breed gedragen open specificatie voor Message Oriented Middleware (MOM – zie kader). Producten die AMQP gebruiken beconcurreren de dominante MOM-producten van IBM en Tibco die gebaseerd zijn op proprietary protocollen. In 2008 hadden IBM en Tibco samen 93 procent van de MOM-markt in handen.
De voordelen van AMQP ten opzichte van andere MOM-protocollen zijn:
– openheid (resulterend in interoperabiliteit en een lage prijs van producten, o.a. ook Open Source);
– het is een zeer modern protocol, de ontwikkelingen hebben recent plaatsgevonden;
– AMQP is ontworpen met de ‘cloud’ in gedachten;
– ondersteuning door grote leveranciers van applicatieplatforms (Red Hat, Microsoft, Software AG).
Commodity
De openheid van AMQP betekent dat MOM een commodity geworden is. Voorheen kon het gebruik van MOM alleen worden gerechtvaardigd voor de bedrijfskritische toepassingen, dit omdat uitsluitend dure, proprietary producten als voldoende betrouwbaar werden gezien. De recente praktijk leert dat AMQP producten even betrouwbaar zijn en dat de prijsfactor nu geen relevantie meer heeft, zowel in aanschaf alsook voor wat betreft ontwikkeling en beheer.
MOM vult webservices aan door de ondersteuning van asynchrone interacties. Een combinatie van Webservices infrastructuur en een MOM infrastructuur betekent een volledige berichtensnelweg. De ‘opritten’ van deze snelweg passen in de gestandaardiseerde applicatie-interfaces van moderne applicatieplatforms. Deze standaardisatie betekent dat infrastructurele voorzieningen kunnen worden ingericht los van de bedrijfsapplicaties, dit tegen zeer geringe kosten. Daarnaast, omdat AMQP open is, zijn de interacties over de grenzen van datacentra (en de cloud) significant eenvoudiger en daardoor beter te beveiligen. Het betekent ook dat de drempel om SaaS te benutten verder verlaagd is. En het is bovendien meer dan lage kosten alleen; een open infrastructuur maakt de realisatie van service gerichte oplossingen eenvoudiger.
Kans voor de overheid
AMQP opent een prima mogelijkheid voor de Nederlandse overheid om de ‘Digikoppeling’-standaardisatie naar een hoger niveau te tillen. Op dit moment zijn overheidsorganisaties verplicht om asynchrone interacties te baseren op protocollen ebMS of WS-RM. De praktijk heeft uitgewezen dat ebMS-koppelingen (in vergelijking met webservices) complex zijn, maatwerk vereisen en veel kosten. Het recent aangeboden alternatief, het gebruik van WS-RM, belooft niet veel verbetering. Het blijft het forceren van een specifieke infrastructuur, gebaseerd op een te laag niveau van standaardisatie. Minder maatwerk, kortere integratietrajecten of lagere kosten zijn niet te verwachten. Omdat het aantal externe koppelingen van overheidsorganisaties natuurlijkerwijs zal blijven groeien, wordt het voor de overheid steeds moeilijker om de complexiteit te bedwingen. De echte oplossing moet hoger op de standaardisatieladder worden gezocht. Het is een onderzoek waard om er achter te komen of de overheid nu al op een open MOM-infrastructuur kan inzetten.
Wat is MOM?
Met de term ‘Message Oriented Middleware’ (MOM) wordt het type softwareproduct bedoeld dat betrouwbare, asynchrone berichtenuitwisselingen tussen applicaties ondersteunt. Het is gebruikelijk dat berichten tussentijds in wachtrijen (queues) worden opgeslagen (‘store-and-forward’). De onderliggende berichtenprotocollen zijn meestal niet open en verschillen per product, waardoor leveranciersafhankelijkheid kan ontstaan.
Applicaties gebruiken specifieke programma-interfaces (api’s) van het product om berichten te kunnen verzenden en ontvangen, wat een additionele leveranciersafhankelijkheid betekent. Leveranciers bieden hun api’s voor meerdere platforms aan, zodat berichtuitwisseling ook in heterogene applicatie-landschappen mogelijk is. Het probleem van leveranciersafhankelijkheid is in Java omgevingen verzacht door de standaardisatie van berichten-api’s (JMS).
Bedankt voor dit artikel, nog even aangevuld met een link naar de website http://www.amqp.org/.
Interessant artikel/product maar met debacle van RBS in het achterhoofd ben ik benieuwd hoe het geheel beheerd moet of gaat worden. Aan elkaar knopen van systemen met MOM is iets wat al vele jaren gedaan wordt en hoe meer koppelvlakken hoe meer vreugd in de ketens zullen we maar zeggen.
Prima artikel, Borjan. Ik heb al vaker naar AMQP gekeken, en ben het er ook zeker mee eens dat Web Services (of REST) prima zijn voor synchrone uitwisseling, maar dat het voor asynchroon beter kan.