Система промежуточного программного обеспечения для отправки сообщений между двумя и более клиентами
Корпоративная система обмена сообщениями ( EMS ) или система обмена сообщениями вкратце [1] представляет собой набор опубликованных общекорпоративных стандартов, которые позволяют организациям отправлять семантически точные сообщения между компьютерными системами. Системы EMS продвигают слабосвязанные архитектуры, которые позволяют изменениям в форматах сообщений оказывать минимальное влияние на подписчиков сообщений. Системы EMS облегчаются использованием структурированных сообщений (например, с использованием XML или JSON ) и соответствующих протоколов, таких как DDS , MSMQ , AMQP или SOAP с веб-сервисами .
EMS обычно принимает во внимание следующие соображения:
- Безопасность : Сообщения должны быть зашифрованы, если они передаются через публичные интерфейсы. Сообщения должны быть аутентифицированы или иметь цифровую подпись, если получатель должен быть уверен, что сообщения не были подделаны при передаче.
- Маршрутизация : сообщения должны эффективно маршрутизироваться от отправителя к получателю. Промежуточные узлы могут нуждаться в маршрутизации сообщений, если тело сообщения зашифровано.
- Метаданные : тело документа содержит информацию, которая должна быть однозначно интерпретирована. Реестры метаданных должны использоваться для создания точных определений для каждого элемента данных.
- Подписка : Системы должны иметь возможность подписываться на все сообщения, соответствующие определенному шаблону. Сообщения с определенным содержанием могут маршрутизироваться по-разному. Например, некоторые сообщения могут иметь разный приоритет или политику безопасности.
- Политика : Корпоративные системы обмена сообщениями должны предусматривать возможность централизованной политики сообщений, например, какие классы или роли пользователей могут получать доступ к различным полям любого сообщения.
EMS также известны как ориентированное на сообщения промежуточное программное обеспечение (MOM) [2]
Разделение заголовка сообщения и тела сообщения
Проектирование СЭМ обычно делится на две части:
- Дизайн заголовка сообщения – Заголовки сообщения содержат информацию, необходимую для маршрутизации сообщений. Заголовки сообщения обычно кодируются открытым текстом, чтобы промежуточные узлы получали всю необходимую информацию, необходимую для маршрутизации и приоритизации сообщения. Заголовки сообщения аналогичны информации, напечатанной на внешней стороне письма (кому, от кого, приоритет сообщения и т. д.)
- Семантика тела сообщения – Семантика тела сообщения включает точное определение всех элементов данных в теле сообщения. Семантика сообщения может быть улучшена с помощью точного словаря данных, который документирует метаданные .
Сравнения
Общие черты между системами обмена сообщениями (с точки зрения возможностей и архитектуры) были зафиксированы в платформенно-независимой форме в виде шаблонов интеграции предприятия (также известных как шаблоны обмена сообщениями) . [3]
Хотя концепция EMS схожа с корпоративной сервисной шиной (ESB), основное внимание в ней уделяется разработке протоколов обмена сообщениями (например, с использованием DDS, MSMQ или AMQP), а не реализации служб с использованием конкретной технологии, такой как веб-службы , API DDS для C/C++ и Java, .NET или Java Message Service (JMS).
Обратите внимание, что корпоративную систему обмена сообщениями не следует путать с системой электронной почты , используемой для доставки текстовых сообщений, понятных человеку, отдельным людям.
Примером конкретного интерфейса прикладного программирования (API), реализующего корпоративную систему обмена сообщениями, является Java Message Service . Хотя это API, он воплощает в себе многие из тех же проблем, которые возникают при настройке полноценной EMS.
Заявления о политике также могут быть извлечены из централизованного сервера политик. Эти заявления о политике могут быть выражены на языке разметки контроля доступа XML (XACML).
Смотрите также
Ссылки
- ^ Г. Хохпе. Б. Вульф, Шаблоны интеграции предприятий, Addison Wesley, 2004.
- ^ Карри, Эдвард. 2004. "Message-Oriented Middleware" [ постоянная мертвая ссылка ] . В Middleware for Communications, ред. Кусей Х. Махмуд, 1-28. Чичестер, Англия: John Wiley and Sons. doi :10.1002/0470862084.ch1. ISBN 978-0-470-86206-3 ]
- ^ Олаф Циммерманн; Чезаре Паутассо; Грегор Хохпе; Бобби Вульф (2016). «Десятилетие шаблонов интеграции предприятий: беседа с авторами». IEEE Software . 33 (1): 13–19. doi : 10.1109/MS.2016.11 .
Внешние ссылки
- http://www.enterpriseintegrationpatterns.com