Системная поддержка на основе обмена сообщениями 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Системная поддержка на основе обмена сообщениями



Термин "на основе обмена сообщениями", относится к виду взаимодействия, при котором клиенты и поставщики служб взаимодействуют, обмениваясь структурированными наборами данных – сообщениями. Тип сообщения обычно определяется конкретной используемой системой, в настоящее время большинство систем используют типы языка XML.

Базирование системного программного обеспечения на основе обмена сообщениями – это прямое развитие идей систем очередей, заложенных в транзакционные мониторы. В последнее время системы на основе обмена сообщениями стали рассматриваться как наилучший выбор при реализации сетевых служб. Системы очередей сообщений создают расширенную поддержку асинхронной сохранной связи. Смысл этих систем заключается в том, что они предоставляют возможность промежуточного хранения сообщений, не требуя активности во время передачи ни от отправителя, ни от получателя. Их существенное отличие от поддержки транспортного уровня состоит в том, что системы очередей сообщений обычно предназначены для поддержки обмена сообщениями, занимающего минуты, а не секунды или миллисекунды.

Модель очередей сообщений

При описании модели часто используются термины "клиент" и "сервер", но при обмене сообщениями это различие исчезает, по крайней мере, с точки зрения системной платформы. Разница между "клиентом" и "сервером" ("поставщиком службы") имеет чисто прикладной характер, и может ощущаться только теми, кто знаком с семантикой сообщений и процесса обмена ими. Это контрастирует с формами взаимодействия,описанными ранее, где объекты, действовавшие как клиенты, обращались к методам, предоставляемым другими объектами, действовавшими как серверы.

Модель очередей сообщений формирует основу, на которой разрабатываются многие полезные концепции и свойства, существенно упрощая разработку приложений, способных взаимодействовать друг с другом, и предоставляя поддержку для управления ошибочными ситуациями и системными сбоями. Среди таких концепций одна из наиболее важных абстракций является абстракция "очередь сообщений".

Основная идея, лежащая в основе систем очередей сообщений, состоит в том, что приложения общаются друг с другом путем помещения сообщений в специальные очереди. Очереди обычно идентифицируются по именам, обычно они связаны с определенным получателем. Эти сообщения передаются по цепочке коммуникационных серверов и, в конце концов, достигают места назначения, даже в том случае, если получатель в момент отправки был неактивен. Как только получатель освободится для обработки нового сообщения, он обратится к нужной функции системы MOM и извлечет из очереди первое сообщение. Очередь может быть прочитана только связанным с ней приложением, при этом несколько приложений могут совместно использовать одну очередь.

Важный момент в системах очередей сообщений состоит в том, что отправитель обычно в состоянии гарантировать только попадание сообщения в очередь получателя, не гарантируя времени попадания. Какие-либо гарантии, что сообщение будет прочитано и обработано получателем также не даются, это зависит только от самого получателя.

После того, как сообщение попало в очередь, оно будет оставаться в ней до удаления, независимо от того, активен его отправитель или его получатель. Сообщения должны быть правильно адресованы и могут содержать любые данные. Обычно адресация осуществляется путем указания уникального системного имени очереди, в которую направляется сообщение. В некоторых случаях размер сообщения может быть ограничен, но базовая система в состоянии разбивать большие сообщения на части и собирать их обратно в единое целое абсолютно прозрачно для приложений.

Большинство систем очередей сообщений поддерживают процесс вставки дескриптора функции обратного вызова, которая автоматически вызывается при попадании сообщения в очередь. Обратные вызовы (сервер вызывает клиента) используются для автоматического запуска процесса, который будет забирать сообщения из очереди, если ни один такой процесс не был запущен заранее.

Слабая связанность отправителя и получателя сообщений имеет много преимуществ. Получатели имеют полную свободу выбора момента обработки сообщений. Извлечение сообщений из очереди может производиться только тогда, когда получатель может или должен их обработать. Важным следствием из этого является то, что системы очередей устойчивы к системным сбоям, поскольку от них не требуется поддерживать работоспособность в момент отправки сообщения. Если приложение выключено или не имеет возможности получать сообщения, они будут просто накапливаться в очереди сообщений, а после включения приложения в работу будут доставлены по назначению.

Помещенные в очередь сообщения могут иметь связанные с ними даты или временные интервалы действия. Если сообщение не извлекается из очереди до указанного времени, оно уничтожается. Очереди могут быть разделяемыми среди нескольких приложений. Этот подход часто используется, когда нужно иметь несколько приложений, обращающихся за одной и той же услугой, что позволяет распределить между ними нагрузку и повысить производительность. Система контролирует доступ к очереди и дает гарантию, что сообщение попадет только одному приложению.



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 272; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.234.62 (0.003 с.)