Postás programtervezési minta
A számítógépprogramozásban az üzenetbróker, üzenetközvetítő, postás vagy tolmács egy köztes modul, ami a küldő formális protokolljáról a fogadó formális protokolljára fordítja az üzenetet. Az adapter programtervezési minta egy példája. A távközlés és a hálózati programozás gyakran használja, ahol az üzenetek formája előre definiálva van. Az üzenetorientált middleware építőegysége.
Feladatai
[szerkesztés]A postás tervminta célja az üzenet érvényességének ellenőrzése, átalakítása és routolása. Ha alkalmazások között közvetít, akkor lazítja a kapcsolatukat, így kevesebbet kell tudniuk ahhoz, hogy kommunikálni tudjanak.
A postás a következő transzformációkat végzi:
- Üzenet routolása egy vagy több címre.
- Üzenet átalakítása egy másik formába.
- Üzenetcsomag szétbontása, majd válaszcsomag összeállítása a több helyből érkezett válaszokból.
- Külső tárhellyel való kapcsolatfelvétel, üzenet tárolása vagy kiegészítése céljából.
- Webszolgáltatások igénybevétele az üzenet kiegészítése érdekében.
- Események vagy hibák továbbküldése.
- Környezet és téma alapú routolása a publish-subscribe mintának megfelelően.
Nem minden rendszer igényli a postás tervmintát. Például, ha ugyanaz a két végpont protokollja, akkor összekapcsolhatók a publish-subscribe programtervezési mintának megfelelően. A minta függetleníti a végpontokat, megkönnyíti a köztes függvények alkalmazását és javíthatja a nem funkcionális követelményeket. Kezelhet üzenetsort, vagy feladatok sorát, például ha ugyanazt az üzenetet több címzettnek kell kézbesíteni, de nyújthat további szolgáltatásokat is, megbízható tárolást, garantált üzenetközvetítést vagy tranzakciókezelést nyújtva.
Megvalósításai
[szerkesztés]- Apache ActiveMQ
- Apache Kafka
- Apache Qpid
- Celery
- Cloverleaf (E-Novation Lifeline)
- Comverse Message Broker (Comverse Technology)
- Enduro/X Transactional Message Queue (TMQ)
- Financial Fusion Message Broker (Sybase)
- Fuse Message Broker (enterprise ActiveMQ)
- Gearman
- HornetQ (Red Hat)
- IBM Integration Bus
- IBM Message Queues / IBM WebSphere MQ
- JBoss Messaging (JBoss)
- JORAM
- Microsoft Azure Service Bus (Microsoft)
- Microsoft BizTalk Server (Microsoft)
- NATS (MIT Open Source License, a Góban írva)
- Open Message Queue
- Oracle Message Broker (Oracle Corporation)
- QDB (Apache License 2.0, időpont szerinti visszajátszást is támogat)
- RabbitMQ (Mozilla Public License, Erlangban)
- Redis Nyílt forrású, memóriában működő adattárral, mint adatbázissal, cache-sel és postás programtervezési mintával.
- SAP PI (SAP AG)
- Solace Systems Message Router
- Spread Toolkit
- Tarantool, egy NoSQL adatbázis, üzenetsorokhoz tárolt függvényekkel
- WSO2 Message Broker
Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a Message broker című angol Wikipédia-szócikk 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.