В рассмотренных в предыдущем разделе примерах требовалось запускать Entera Broker и серверы функциональности вручную. При эксплуатации системы, содержащей множество подобных серверов функциональности, выполняющихся под управлением различных платформ, процедура запуска необходимых приложений и наблюдения за их выполнением может оказаться весьма трудоемким процессом. Поэтому в таких системах нередко используются специальные средства управления серверами и наблюдения за ними. Inprise AppCenter представляет собой подобное средство, в значительной степени ориентированное на управление серверами функциональности, созданными с помощью Entera, и брокерами Entera.
Inprise AppCenter представляет собой средство управления распределенными приложениями, позволяя осуществлять мониторинг процессов и приложений промежуточного слоя, наблюдать за производительностью компонентов распределенной системы и устанавливать правила их функционирования (такие, как баланс загрузки, связи между приложениями, создание резервных сервисов).
AppCenter состоит из пяти компонентов - утилиты просмотра (AppCenter Viewer), агента, монитора, репозитария и брокера.
Рис. 15. Архитектура Inprise AppCenter
Таблица 12.1 Компоненты AppCenter
Компонент | Описание |
---|---|
Viewer | Пользовательская утилита для конфигурации, контроля и управления приложениями. |
Agent | Компонент, управляющий приложениями, содержащимися на данном компьютере. Должен присутствовать на всех компьютерах, входящих в распределенную систему и быть запущен прежде, чем начнется управление распределенной системой. |
Monitor | Средство контроля объектов, подлежащих управлению. |
Repository | Централизованное хранилище данных о конфигурациях приложений и состоянии объектов, подлежащих управлению. |
Broker | Сервис, способствующий поиску компонентов AppCenter. |
Как видно из приведенной выше схемы, репозитарий AppCenter, хранящий сведения о сервисах промежуточного слоя, устанавливается в сети в одном экземпляре (напомним, что такие базы данных нужны в случае, если необходимо инициировать удаленный запуск сервера по запросу клиента). Компонент AppCenter Agent должен быть установлен на всех компьютерах, содержащих подлежащие управлению сервисы (он представляет собой сервис, позволяющий на определенных условиях удаленно запускать те или иные приложения, управляемые данным компьютером; напомним, что такие сервисы в распределенных системах должны существовать обязательно, хотя бы из элементарных соображений безопасности).
AppCenter Broker также существует в одном экземпляре и предназначен, так же как и Entera Broker, для поиска в сети сервиса, необходимого для обратившегося клиента (то есть представляет собой Directory Service).
Что каается AppCenter Viewer, это пользовательская утилита (написанная на Java и, соответственно, выполнимая под управлением разных платформ), позволяющая описывать правила функционирования управляемых сервисов. В сети можно иметь несколько компьютеров, содержащих AppCenter Viewer.
Каким образом происходит взаимодействие сервисов AppCenter c управляемыми сервисами? Главным образом с помощью генерации брокером AppCenter IP-вызовов с определенной частотой c целью поиска агентов. Замеченные изменения регистрируются в базе данных. Отметим, что брокеры Entera являются по отношению к AppCenter Broker управляемыми приложениями.
Порядок запуска приложений AppCenter должен быть следующим:
После запуска утилиты просмотра на экране появится диалог ввода имени пользователя и пароля. Далее AppCenter Viewer будет запущен в режиме редактирования. В левой части окна приложения находится навигатор, с помощью которого можно перемещаться по объектам, за которыми производится наблюдение. В правой части окна можно выбирать режимы просмотра и редактирования конфигураций.
Рис. 16.Главное окно AppCenter Viewer
С помощью AppCenter Viewer можно создавать так называемые конфигурации объектов, содержащие набор связанных между собой серверов функциональности или любых других приложений, описывая правила их функционирования.
В качестве простейшего примера создадим конфигурацию, устойчивую к сбоям. С этой целью щелкнем правой клавишей мыши по папке "Configurations" и из контекстного меню выберем пункт Wizards|New Entera Configuration. Введем для конфигурации имя Sinus.
Рис. 17. Создание конфигурации Entera-серверов
Далее появится несколько диалоговых окон, в которых следует ввести данные в интерфейсные элементы. В частности, следует зарегистрировать используемые в данной конфигурации компьютеры, указать имена компьютеров, на которых функционируют серверы и брокеры, каталоги, в которых находятся исполняемые файлы серверов функциональности, указать номера TCP-портов для обращения к брокерам, и в результате будут автоматически сгенерированы env-файлы (ранее мы создавали их вручную).
Рис. 18. Регистрация управляемых компьютеров
В результате ответов на вопросы будет создана конфигурация из двух серверов функциональности с балансом загрузки.
Рис. 19. Иерархия объектов в созданной группе
Выбрав из контекстного меню опцию Properties, можно изменить свойства управляемых объектов (например, число попыток повторного запуска после остановки сервера).
Рис. 20. Установка значений свойств управляемого объекта
Выбрав закладку Dependencies, можно установить связи между объектами (например, указать, какой брокер Entera обслуживает данный набор серверов).
Рис. 21. Установка связей между объектами
Выбрав закладку Hosts, можно просмотреть или переопределить связи между компьютерами и серверами.
Рис. 22. Связи между сервисами и компьютерами
Теперь можно запустить конфигурацию и пронаблюдать, как ппочередно запускаются объекты (в нашем случае исполняемые файлы a1_s.exe). Если это приложение принудительно закрыть, AppCenter будет снова пытаться запустить его, пока не будет достигнуто число попыток, указанное в параметре Weighting.
Можно создать конфигурацию и без использования экспертов, выбирая пункт New из соответствующих контекстных меню и определяя свойства вновь созданных объектов. Есть также возможность создания так называемых DUMMY-конфигураций, то есть конфигураций, не соответствующих никаким реальным объектам, с целью моделирования их поведения. Для имитации их поведения можно создавать макросы AppCenter.
Примерно так же можно создавать группы приложений, устойчивые к сбоям, в которых имеются основные и резервные дублирующие их объекты.
AppCenter обладает возможностью установки самых разнообразных правил функционирования объектов. В частности, можно организовать запуск и остановку конфигураций и отдельных объектов согласно расписанию (для этой цели в AppCenter можно создавать таймеры), определять, какой сервер является дублирующим для данного сервера, и др. Все сведения о конфигурациях, объектах, таймерах хранятся в общем репозитарии.
Отметим, что объекты AppCenter обычно создаются на основе шаблонов с заранее предопределенными свойствами. Однако у серверов функциональности могут быть и собственные характеристики, за которыми необходимо осуществлять наблюдение, например, количество или интенсивность RPC-вызовов, объем передаваемых данных. Чтобы наблюдаемые объекты могли предоставлять такие характеристики, они должны содержать экспортирующие их вызовы функций Enterprise Management Interface (EMI) API (обсуждение которого выходит за рамки данной статьи). В этом случае следует создать собственный шаблон управляемого объекта (например, на основе уже имеющегося).
Рис. 23. Собственный шаблон TCP1, созданный на основе готового шаблона Entera TCP Process
Для собственного шаблона объектов можно определить дополнительные свойства, которые при создании объектов на основе этого шаблона могут быть доступны для редактирования или наблюдения.
Рис. 24. Добавление новых свойств к шаблону объекта
Существует несколько режимов работы AppCenter Viewer. Режим редактирования объектов был рассмотрен нами ранее. Помимо него, имеется также режим мониторинга объектов:
Рис. 25. Режим мониторинга управляемых объектов
Еще один режим (Icon Mode) позволяет отображать Viewer в виде пиктограммы, которая меняет вид и становится движущейся, если произошел сбой в работе какого-либо из управляемых объектов:
Рис. 26. Отображение AppCenter Viewer в виде пиктограммы в штатном режиме и в случае сбоя одного из управляемых объектов
Последний из возможных режимов - Cockpit Mode - позволяет различными способами отображать параметры функционирования объектов (такие, как число обращений клиентских приложений, время отклика и др.), а также вести журнал событий:
Рис. 27. Cockpit mode - режим отображения параметров функционирования наблюдаемых объектов
Cockpit (в переводе это слово означает кабину самолета с приборными панелями) представляет собой набор графических объектов для отображения свойств наблюдаемых объектов. Создается он в режиме редактирования с помощью опции меню Cockpit/New. Методом drag-and-drop на появившуюся пустую форму можно перетаскивать пиктограммы наблюдаемых объектов. Далее из появившейся диалоговой панели можно выбрать тип графика и отображаемое свойство объекта, а также характеристики, специфические для данного способа отображения (высоту графика, цвет, масштаб и др.).
Рис. 28. Установка свойств графика, помещаемого в cockpit
Типичный cockpit выглядит примерно так:
Рис. 29. Типичный cockpit на этапе выполнения
При этом диаграммы, содержащие динамические параметры, меняются в соответствии с установленным при их создании значением частоты обновления. В заключение отметим, что с помощью Inprise AppCenter можно управлять не только серверами или брокерами Entera, но и любыми другими приложениями, если таковые зарегистрированы в его репозитарии.
Российское представительство Inprise:
Тел. 7(095)238-36-11
e-mail: info@inprise.ru