کارگزار یا واسط های پیام (Message Broker)

واسطه های پیام یا Message Broker برنامه های واسطی هستند که کار ترجمه از یک زبان جهانی قابل قبول را در یک سیستم به یک سیستم ارتباطی از راه دور را انجام میدهند. واسطه پیام یک نرم افزارمعماری پس ضمینه برای اعتبارسنجی پیام ،ارسال پیام و مسیریابی پیام می باشد . این ارتباطات مابین برنامه های کاربردی برای به حداقل رساندن آگاهی متقابل در برنامه های کاربردی به منظور قادر ساختن نرم افزارها به تبادیل پیام به صورت موثر می باشد.هدف واسطه، دریافت پیام های ورودی از برنامه های کاربردی و انجام برخی از عملیات بر روی آن می باشد . نمونه ای از اقداماتی که ممکن است صورت پذیرد به شرح ذیل می باشد :

  • مسیریابی پیام به یک یا چند مقصد مختلف
  • تبدیل پیام به یک فرمت نمایش دیگر
  • تجمیع پیام ها ،از فشرده درآوردن پیام ها به چندین پیام متعدد و ارسال آنها به مقصد خود و سپس ساخت مجدد پاسخ های درخواست در یک پیام و عودت دادن به کاربر .
  • ارتباط با یک مخزن خارجی برای تقویت یا ذخیره نمودن پیام
  • فراخوانی سرویس های وب برای بازیابی اطلاعات
  • پاسخ به حوادث(events) و اشکالات(error)
  • ارائه محتوا و مسیریابی پایه مبتنی بر موضوع با استفاده ازالگوی انتشار-عضویت

برخی از معماری های مختلف یک واسط پیام در زیر آمده است:

ویژگی های های واسط

بسیار از الگوی های پیام ( همانند انتشار-عضویت) می تواند بدون یک واسط پیام کار خود را پیش برند. یک الگوی صف بارگزاری نیازمند واسط پیام می باشد. این همان صف پیام می باشد که توسط چندین دریافت کننده نگهداری می شود . این صف همانند صف های دیگر می تواند مدیریت ، تراکنش و به صورت برخط  توسط یک جزء(سرویس دهنده) ذخیره گردد.

لیست نرم افزارهای معروف در این ضمینه به قرار ذیل می باشد :

  •     Apache ActiveMQ
  •     Kafka
  •     Kestrel
  •     Open Message Queue
  •     Apache Qpid
  •     OpenAMQ
  •     FUSE Message Broker (enterprise ActiveMQ)
  •     Financial Fusion Message Broker (Sybase)
  •     JBoss Messaging (JBoss)
  •     Microsoft BizTalk Server (Microsoft)
  •     Oracle Message Broker (Oracle Corporation)
  •     Proteus an open source implementation by Info-Scape
  •     QDB (Apache License 2.0, supports message replay by timestamp)
  •     WebSphere Message Broker (IBM)
  •     webMethods Message Broker (webMethods Message Broker)
  •     Cloverleaf (E-Novation Lifeline)
  •     SAP PI[8] (SAP AG)
  •     Sapo Broker[9] (Portugal Telecom)
  •     Python Message Service
  •     e-Biz Impact (Sybase, Inc)
  •     Spread Toolkit
  •     Niklas message broker by Copernicus
  •     RabbitMQ (Mozilla Public License, written in Erlang)
  •     Axway Integration Broker
  •     JORAM
  •     Tarantool, a NoSQL database, with a set of stored procedures for message queues
  •     TIBCO ActiveMatrix BusinessWorks
  •     Automotive Message Broker

Visits: 5464

دیدگاهتان را بنویسید