Россия |
Средства управления распределенными системами
Все возрастающее значение открытых систем привело к необходимости обеспечить возможность взаимодействия программных продуктов от различных производителей. Для обеспечения упорядоченности развития сетей и обеспечения взаимодействия процессов, выполняющихся в гетерогенных сетях, компанией IBM разработана концепция Open Blueprint , отвечающая всем требованиям, предъявляемым к открытым системам. Open Blueprint определяет структуру для управления распределенными системами и обеспечивает основу, на которой строятся, выполняются и управляются распределенные приложения в гетерогенных сетях. Она разработана на основе промышленных стандартов и позволяет удовлетворять требования заказчиков, предъявляемые к продуктам и решениям, которые соединяют различные аппаратные и программные платформы как корпорации IBM, так и других производителей. Следует отметить, что открытые распределенные вычисления, или технология клиент-сервер, в настоящее время являются основной моделью, определяющей развитие информационных технологий. Структура Open Blueprint дает возможность всем, кто имеет отношение к открытым распределенным средам, рассматривать систему как часть распределенной сети, а сеть, в свою очередь, трактовать как единую информационную структуру. Структура Open Blueprint представлена на рис. 4.1.
Основные ее <строительные блоки> - это менеджеры ресурсов, которые функционально сгруппированы в наборы сервисов:-
Сетевые сервисы. Они обеспечивают перемещение данных из одной системы в другую. Эта группа сервисов включает в себя семантику общей транспортной среды, физическую сеть, охватывающую локальные и глобальные сети, каналы и протоколы передачи данных. При этом семантика общей транспортной среды рассматривается как промежуточный слой между сервисами вышестоящего уровня и собственно сетевыми сервисами, такими как SNA (Systems Network Architecture), высокоуровневые сети с соединениями (APPN), сети TCP/IP, NetBIOS, IPX и др.
Развивающиеся информационные технологии, такие, как компьютерная телефония, обмен видеоинформацией, конференц-связь, требуют прямого доступа к функциям сетевых сервисов. Для удобства объединения различных областей обработки данных и обеспечения доступа к сетевым протоколам в Open Blueprint введена система сигнализации и управления. Она обеспечивает выполнение таких функций, как установка/разрыв соединений и управление видео- и аудио конференциями. Сигнальная система в сетях связи - это набор процедур, используемых для динамической установки, поддержки и разрыва соединений, которые требуются для обмена данными между пользователями сети и узлами коммутации. Функции этой системы определяют необходимые последовательность и форматы сообщений, обмен которыми осуществляется через сетевой интерфейс. Например, в среде подсетей АТМ одно мультимедийное приложение через сигнальную систему может одновременно принимать данные, используя транспортные сервисы и устанавливать соединения для приема и передачи аудио- и видеоинформации. Таким образом, сигнальная система является объединением множества сетевых протоколов и специфических функций, имеющих отношение к подсетям.
- Сервисы распределенных систем. Этот набор включает в себя три вида сервисов. Первый - это коммуникационные сервисы. Они предоставляют механизмы, позволяющие частям распределенных приложений или менеджерам ресурсов взаимодействовать друг с другом. Этими механизмами являются: диалоговые соединения, вызов удаленных процедур и очередь сообщений. Следующие сервисы в этом наборе - сервисы управления объектами. Они обеспечивают прозрачный доступ к локальным и удаленным объектам (принтеры, диски и пр.) и содержат менеджеры объектов. Третья составляющая рассматриваемого набора - это распределенные сервисы. Они обеспечивают общие механизмы, помогающие частям распределенных приложений или менеджерам ресурсов взаимодействовать друг с другом. К ним относятся сервисы файловых каталогов, безопасности, времени, а также менеджер транзакций.
- Сервисы приложений и сервисы, включающие приложения. Этот набор также объединяет три типа сервисов. Первый тип - сервисы уровня представления, которые определяют взаимодействие между приложениями и пользователями через различные устройства. Следующие сервисы в этом наборе - сервисы доступа к данным. Они обеспечивают приложениям доступ к различным типам данных в файлах или базах данных. Третья составляющая в рассматриваемом наборе - это сервисы приложений, которые состоят из общих функций, однажды разработанных в стандартном виде. К ним относятся монитор транзакций, монитор потока заданий и электронная почта.
Все перечисленные службы являются основой для сервисов управления системами. Они обеспечивают системных администраторов средствами управления, как средой распределенных вычислений, так и функционированием локальных операционных систем.
Рассмотренные менеджеры ресурсов совсем не обязательно соответствуют каким-либо конкретным продуктам. Концепция Open Blueprint реализована в виде различных продуктов на различных системных и аппаратных платформах. Она только определяет атрибуты и свойства программного обеспечения, отражает функциональную модульность и стандартизирует различные интерфейсы.
Анализ приведенной выше структуры позволяет сделать вывод, что взаимодействием распределенных сетевых процессов и, следовательно, распределенными системами непосредственно управляют сервисы распределенных систем и сетевые сервисы. В данном разделе рассматриваются сервисы, непосредственно относящиеся к взаимодействию сетевых процессов. Эти сервисы в рамках концепции Open Blueprint называются коммуникационными. Кроме того, анализируется промежуточный слой между коммуникационными и сетевыми сервисами - семантика общей транспортной среды CTS.
Коммуникационные сервисы являются подсистемой распределенных системных сервисов, обеспечивающих механизм взаимодействия сетевых процессов. Они определяют три программных интерфейса:
- межпрограммный интерфейс взаимодействия (CPI-C) для диалоговых сервисов;
- интерфейс вызова удаленных процедур (RPC) для сервисов вызова удаленных процедур;
- интерфейс очереди сообщений (MQI) для сервисов очереди сообщений.
Перечисленные интерфейсы представляют собой три различные модели, определяющие способы взаимодействия между менеджерами сетевых ресурсов, а также функционирования распределенных сетевых процессов (приложений) .
CPI-C поддерживает взаимодействие между одновременно выполняющимися прикладными процессами, основанное на установке между ними логического соединения. Отсюда следует, что сетевой сеанс связи в этом случае имеет место только для взаимодействующих программ. Интерфейс CPI-C разработан, в первую очередь, для структурированного обмена информацией между программами. При этом взаимодействующие программы являются клиент-серверными приложениями, то есть приложениями, устанавливающими логическое соединение. Каждая программа при этом функционирует в своем (локальном) адресном пространстве. Программы, использующие интерфейс CPI-C, могут выполнять операции по обмену данными различного назначения. В рамках стандарта ISO диалоговая модель является базовой для обработки транзакций в спецификации протоколов OSI, базирующейся на архитектуре APPC SNA. Операционные системы используют протокол межпрограммного взаимодействия (APPC) для облегчения применения интерфейса CPI-C при разработке приложений. Указанный протокол в рамках систем MVS/ESA и OS-390 предлагает разработчикам набор встроенных функций для использования в клиент-серверных приложениях. Эти функции доступны из программ, написанных на языках высокого уровня, что избавляет от необходимости написания ассемблерных программ.
Вызов удаленных процедур (RPC) использует механизм вызова/возврата в/из процедуры для обеспечения взаимодействия между клиент/серверными приложениями. Клиентская (вызывающая) программа определяет местоположение сервера в сети (вызываемой процедуры), устанавливает необходимую связь и передает фактические параметры для выполнения требуемой процедуры. Вызывающая программа ждет завершения работы процедуры (выполнение этой операции синхронно!) и принимает результат. На сегодняшний день рабочие станции с приложениями, реализующими интерфейс RPC, работают как клиентские части в рамках системы OS-390 с использованием функций сервера сетевой файловой системы (NFS), поддерживаемых операционной системой. Кроме того, OS-390 поддерживает RPC в рамках сетевой вычислительной системы Apollo.
В рамках архитектуры OSF интерфейс RPC выбран в качестве базовой коммуникационной модели для распределенных вычислительных элементов (DCE). Интерфейс RPC в стандарте OSF/DCE поддерживается операционными системами OS-390 и MVS/ESA.
Интерфейс очереди сообщений MQI является асинхронным межпрограммным интерфейсом, использующим управляемую сообщениями отложенную обработку взаимодействий через очереди, а не через собственно межпроцессные соединения. Программы, использующие MQI, заполняют и освобождают очереди сообщений. Вызывающая программа помещает запрос в очередь, но при этом не дожидается ответа, продолжая свою работу. Приходящий ответ помещается в другую очередь, где и дожидается обработки. Сервисы MQI доставляют сообщения в соответствующее место назначения в сети так, чтобы они были доступны программам, обслуживаемым очередью. Это обеспечивает гарантированную доставку сообщений и ответов на них, а также там, где это необходимо, - возможность синхронизации. MQI-приложения могут быть клиент-серверными, или иметь более сложные реализации.
Сервис MQSeries IBM упрощает процесс межплатформенного взаимодействия, основанный на MQI. Этот сервис работает независимо от нижележащих сетевых протоколов. Использование MQSeries дает разработчикам возможность проектировать и реализовывать межплатформенные связи между приложениями быстрее и эффективнее, чем это может быть сделано с помощью традиционной техники программирования сетевых процессов. MQSeries поддерживает соответствующие коммуникационные протоколы и восстановление в случае возникновения аварийных ситуаций, обеспечивая корректную доставку сообщений. Информация может передаваться между приложениями, работающими в рамках System/390, серверов и персональных компьютеров. Наиболее целесообразным применение этого сервиса оказывается в тех случаях, когда взаимодействующие приложения характеризуются длительными промежутками работы без необходимости в установлении соединения, или промежутками периодического обслуживания. Такие случаи характерны для приложений, обрабатывающих транзакции с использованием IMS, CICS и TSO. Мосты для таких типов транзакций дают возможность пользователям различных систем иметь доступ к приложениям, работающим на мэйнфреймах, без перепрограммирования собственных интерфейсов. MQSeries поддерживает соединения как по протоколу TCP/IP, так и по протоколу SNA APPC. Поддерживаемые этим сервисом платформы включают в себя такие системы, как OS/2, MVS/ESA, OS/390, OS/400, VSE/ESA, VAX/VMS, UNIX, Sun Solaris и др.