Advanced Message Queuing ProtocolAz Advanced Message Queuing Protocol (AMQP) egy alkalmazási réteg protokoll, amely üzenet orientált middleware-ek működését határozza meg. Az AMQP meghatározó értékei: üzenet központúság, sorkezelés, üzenetirányítás, megbízhatóság, biztonság. Az AMQP 5 különböző üzenettovábbítási mintát támogat, amelyekkel pont-pont és különböző publikálás-feliratkozás típusú kommunikációs mintákat is támogat. Az AMQP 1.0 ISO szabvány (ISO/IEC 19464:2014 Information technology -- Advanced Message Queuing Protocol (AMQP) v1.0 specification) és OASIS szabvány is (OASIS Advanced Message Queuing Protocol (AMQP)). TörténeteAz AMQP fejlesztésének eredeti célja az üznetküldésben a különböző platformok és üzenetbrókerek között jelentkező gyakori együttműködési problémák megoldása volt. Az AMQP-t eredetileg 2003-ban John O ' Hara fejlesztette JPMorgan Chase-nél, Londonban.[1] Első "éles" alkalmazása a JP Morgen-nél volt, 2006-ban. Ma a specifikációt az AMQP working group fejleszti, amelynek 23 tagja van, elsősorban a pénzügyi és technológiai szektorokból. Összevetés a JMS-szelGyakori kérdés, hogy a JMS és az AMQP közötti különbség miben is áll? A JMS egy olyan szabvány, amelynek célja, hogy a Java platformon szabványos felületet nyújtson különböző üzenetbrókerek eléréséhez. Nem célja ugyanakkor, hogy a Javától eltérő platformokkal vagy nyelvekkel való együttműködést támogassa. Ezért a Java és más nyelvek (pl. .NET vagy Ruby) közötti üzenetalapú együttműködés csak az egyes platformokon támogatott eltérő szabványok (pl. JMS - STOMP) közötti transzformációkon keresztül lehetséges. Ugyan több üzenetbróker is támogat ilyen transzformációkat (pl. az ActiveMQ), ám – mivel az átalakítások nem szabványosított eljárásokon alapulnak – ezek használata esetén a konkrét megoldással szembeni kitettség alakul ki. Az AMQP célja elsősorban a különböző platformok közötti együttműködési képesség megteremtése. A JMS-sel szemben nem definiál egyetlen nyelvhez sem konkrét programozási felületet (API-t). Ehelyett egy alacsony szintű, bináris protokollt határoz meg, ami arról szól, hogy milyen struktúrában és milyen módon kell egy üzenetet a hálózaton keresztül továbbítani. Az AMQP-üzenetbróker egy olyan program, amely képes a meghatározott formában a feladótól üzeneteket fogadni, és a meghatározott módon azokat a címzetthez továbbítani. Az AMQP kliens egy olyan program, amely képes a meghatározott módon üzeneteket küldeni az AMQP-brókernek, és üzeneteket fogadni tőle. Mivel az üzenetküldés és továbbítás módja, valamint az üzenetek struktúrája teljes mértékben szabványosított, így biztosított, hogy az egyes AMQP-brókerek, illetve kliensek szabadon kicserélhetők tetszőleges másik implementációra. Az AMQP ugyanakkor -- mint azt már említettük -- nem foglalkozik azzal, hogy az egyes platformokon illetve programnyelveken hogyan kell megvalósítani azt az API-t, amin keresztül a kliens funkciók meghívhatók; ezt a kérdést a kliens fejlesztőjére hagyja, aki így az adott platform és programnyelv sajátosságait figyelembe véve tudja az API-t kifejleszteni. A fentieken túl a JMS és az AMQP között eltérés van az üzenet irányítás (routing), a támogatott üzenetküldési minták és az üzenet felépítésben is. Ezen különbségek számottevőek, ugyanakkor a két szabvány egymáshoz mégis eléggé hasonlít ahhoz, hogy a köztük végzett transzformáció ne okozzon komolyabb problémát. A JMS széles körű elterjedtsége és támogatása okán az AMQP working groupnál elindult egy kezdeményezés, hogy szabványosítsák a JMS és az AMQP közötti üzenet átalakítást. ImplementációkAMQP 1.0 bróker megvalósítások
Pre-1.0 AMQP-bróker megvalósítások
Kliensek
Jegyzetek
FordításEz a szócikk részben vagy egészben az Advanced Message Queuing Protocol című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként. További információk |