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

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.