
142 Глава 2. Связь
в которой разделены специальным разделителем, а поля в записи имеют извест-
ную фиксированную длину. Если целевое приложенное рассчитано на другой раз-
делитель записей и переменную длину полей, то для преобразования сообщений
в формат, используемый приложением-получателем, можно использовать бро-
кер сообщений.
В более совершенном варианте брокер сообщений может выполнять обязан-
ности шлюза прикладного уровня, осуществляя, например, преобразование почто-
вых сообщений между сетью Х.400 и Интернетом. В этих случаях часто невозмож-
но гарантировать, что вся информация, содержащаяся в пришедшем сообщении,
действительно будет преобразована в соответствующие части исходящего сооб-
щения. Другими словами, возможно, нам пррщется смириться с частичной поте-
рей информации в ходе преобразования [9, 204].
Сердцем брокера сообщений является база данных с правилами, определяю-
щими, каким именно образом сообщение в формате X конвертируется в сообще-
ние в формате У. Проблема состоит в определении правил. Большинство броке-
ров сообщений поставляются в комплекте со сложными утилитами определения
правил, но в их основе по-прежнему лежит ручной ввод правил в базу данных.
Правила могут формулироваться на специальном языке преобразований, но в боль-
шинстве брокеров сообщений возможно также программное преобразование с ис-
пользованием стандартных языков программирования. Установка брокера сооб-
щений
—
это обычно весьма непростая задача.
Замечание по системам очередей сообщений
Обдумывая то, что мы говорили по поводу систем очередей сообщений, мы при-
ходим к выводу, что они давно уже существуют в виде служб электронной почты.
Системы электронной почты обычно реализуются посредством набора почтовых
серверов, которые хранят и пересылают почту для пользователей, причем хосты
пользователей соединены с сервером напрямую. Маршрутизация обычно отсут-
ствует, поскольку системы электронной почты могут непосредственно использо-
вать базовые транспортные службы. Так, например, в почтовом протоколе SMTP,
используемом в Интернете
[360],
сообщения пересылаются путем установления
прямого ТСР-соединения с принимающим почтовым сервером.
Системы электронной почты особенно похожи на системы очередей сообще-
ний своей направленностью на предоставление непосредственной поддержки ко-
нечным пользователям. Это объясняет, например, почему множество приложе-
ний для поддержки групповой работы основаны непосредственно на системах
электронной почты
[234].
Кроме того, системы электронной почты могут иметь
очень специфические свойства, например способность автоматической фильтра-
ции сообщений, поддержку специальной базы данных сообщений (например,
для быстрого поиска сохраненных сообщений) и т. д.
Вообще же системы очередей сообщений предназначены не только для под-
держки конечных пользователей. Важной областью их применения является
организация сохранного взаимодействия между процессами, безразлично, запус-
кают эти процессы пользовательские приложения, обслуживают доступ к базе
данных, осуществляют вычисления или делают что-то еще. Такой подход приво-