Распределенные приложения на основе MS Message Queue Server


         

не менее эффективным средством управления


Другим, не менее эффективным средством управления очередями, по-видимому, стоит признать Microsoft Message Queue Server. Он так же неприхотлив в обращении (легок в администрировании), компактен, надежен и по своим функциональным характеристикам отличается производительностью и мощностью. Дополнительным преимуществом MSMQ является его относительно невысокая стоимость. По сути, он распространяется бесплатно в составе NT. В работе [2] для сравнения приводятся цены на некоторые аналогичные продукты других производителей, например IBM MQSeries или NEONet. Полный обзор этих и других достоинств MSMQ дается в работе [3], поэтому мы не будем сейчас подробно на них останавливаться. В рамках настоящей статьи нас будут интересовать практические вопросы построения асинхронных распределенных приложений на базе сервера очередей. Для разработки средствами C и С++ MSMQ предлагает прикладные программные интерфейсы MSMQ API. Он также содержит набор управляющих объектов ActiveX, практически эквивалентных по своей функциональности упомянутому API, которые позволяют использовать MSMQ из средств разработки, поддерживающих компоненты ActiveX: Microsoft Visual Basic, Microsoft Visual Java, Borland Delphi и т.д. MSMQ обладает дополнительными интерфейсами к RPC и MAPI, в частности, к Microsoft Exchange Server.


Рис. 1
Мы постараемся проиллюстрировать некоторые из перечисленных возможностей на примере вполне конкретного приложения. Рассмотрим задачу организации обслуживания удаленных клиентов типа системы “клиент-банк”. Схема работы приложения и задействованное в нем программное обеспечение приводятся на рис.1. Мы имеем два сервера баз данных Microsoft SQL Server 6.5, моделирующих два различных банка. Клиент по электронной почте Microsoft Exchange посылает в первый банк поручение на перевод определенной суммы со счета первого банка на счет во втором банке (филиале). Приняв это поручение, первый банк инициирует распределенную транзакцию, состоящую из двух операций — снятия суммы со счета в своей базе и зачисления на счет во второй (которая находится под управлением второго сервера).

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий