1. Что должна уметь система управления распределенной корпорацией?
2. Архитектура системы CA-Unicenter TNG
Резюме
Литература
Пример программы реализации агента
Задачи и подзадачи агента
Необходимый набор функций агента

Информационная инфраструктура современного предприятия - это сложнейший сплав разномасштабных, разнородных сетей и систем. Чтобы они работали слаженно и эффективно, необходима управляющая платформа корпоративного масштаба с интегрированными инструментальными средствами. Однако до недавнего времени производители систем управления распределенными корпорациями в стремлении к лидерству выпускали продукты с ограниченными возможностями, несовместимые с системами других поставщиков. Сегодня ситуация изменилась к лучшему - появились открытые продукты, претендующие на универсальность управления всем разнообразием корпоративных информационных ресурсов, от настольных систем до мэйнфреймов, от локальных сетей до Internet. В этой статье мы продолжим рассказ о системах управления распределенной корпорацией (начало в [1]). Речь пойдет о системе управления предприятием Unicenter TNG компании Computer Associates.

По данным аналитиков, в число производителей платформ управления распределенными корпоративными системами входят компании Hewlett-Packard (44,4%), SunSoft (15,2%), Cabletron (14,4%), IBM (12,9%) и ряд других, не менее известных фирм. Управление корпорацией, как ее понимает большинство производителей подобных систем, включает в себя управление компьютерными системами, сетями и информационными потоками.

1. Что должна уметь система управления распределенной корпорацией?

  • автоматически вести штат обслуживающих информационную технологию администраторов (сетевых, системных, баз данных);
  • обеспечивать бесперебойное функционирование критических бизнес- и информационных приложений корпорации: осуществляя управляющие воздействия типа "щелчка" мыши по пиктограмме, обозначающей тот или иной узел технологии, принятой на корпорации; автоматически разрешая все возникающие проблемы; обеспечивая общий интерфейс для всех возможных случаев; предлагая необходимые возможности масштабирования;
  • управлять настольными системами и устройствами: автоматически конфигурировать вновь подключаемые приложения, серверы, клиенты; автоматически распространять новые версии используемых программ; управлять принтерами в системе;
  • оптимизировать нагрузку на серверы в общей технологии: отслеживать уровень допустимого превышения основных рабочих параметров; анализировать тенденции изменения этих параметров; предвидеть критические состояния;
  • обслуживать базы данных и системы хранения информации, осуществляя резервное копирование "всего" и "всегда", высокоскоростное резервное копирование баз данных в режиме on-line и быстрое восстановление без потери работоспособности;
  • оптимизировать производительность локальных сетей, управляя распределенной производительностью и защитой от помех, анализируя трафик в сети; профилируя иcпользование различных участков сети, определяя статус и длительность сеансов в связи;
  • управлять Internet- сервисом корпорации с помощью проактивного управления WEB приложениями и транзакциями, обеспечения безопасности средствами брандмауэров с уведомлением администраторов о возникновении критических ситуаций.

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

Международные рекомендации определяют пять основных областей сетевого управления:

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

В агрегированном виде можно выделить два класса задач, решаемых системой управления:

  • сетевое управление: мониторинг сетевых устройств и управление ими;
  • системное управление: управление пользователями, их средствами и ресурсами, включая ПО и пользовательские процессы.

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

(1x1)

Рис. 1
Архитектура Unicenter TNG

К наиболее развитым базовым средствам построения систем управления сегодня можно отнести HP OpenView+IT operation /administration, Sun Connect SunNet Manager, IBM Tivoli, SNI TransView, BMC Patrol и MS SMS. Каждый из этих продуктов является прекрасным средством построения систем управления, имеющим широкий спектр применения. Однако, на наш взгляд, первые два ориентированы, в основном, на сетевое управление и в меньшей степени затрагивают вопросы системного управления, а последние два, предназначенные для решения задач как сетевого, так и системного управления, ограничены достаточно жесткими рамками либо области применения, либо используемых платформ (операционные системы, СУБД, технические средства).

Сегодня требуется система управления корпорацией, которая создавала бы полный эффект присутствия администратора на каждом рабочем месте и позволяла бы централизованно решать текущие вопросы управления конфигурацией и оперативно устранять возникающие неисправности. С этой точки зрения продукты Unicenter TNG компании Computer Associates, IBM Tivoli и SNI TransView можно назвать продуктами более широкого применения как по функциям, управляемым программным и техническим средствам, так и по возможностям адаптации к конкретным задачам пользователя. Например, для Unicenter TNG контроль над ресурсами информационной системы предприятия (аппаратура, сети, приложения, базы данных, планирование и выполнение заданий, управление хранением и восстановлением информации) является основной задачей. Возможности этой системы выходят за рамки решения задач обычного администрирования сетей.

2. Архитектура системы CA-Unicenter TNG

В Unicenter TNG (The Next Generation) компании Computer Associates (http://www.cai.com) технология управления корпоративными информационными системами вышла на новый рубеж. В системе была реализована оригинальная концепция управления информационными технологиями на основе интересов бизнеса и объектно-ориентированной архитектуры. Unicenter TNG решает задачу перехода от традиционной модели управления ИТ к новой, формируя единую среду из изолированных друг от друга средств управления компьютерами, сетями и базами данных.

Unicenter TNG обеспечивает контроль над ресурсами информационной системы предприятия: разнородные сети, системы, приложения, компьютеры различного масштаба и базы данных. Возможности Unicenter TNG выходят за пределы традиционного сетевого управления, хотя продукт реализует и привычные сетевые функции, такие как определение топологии сети и управление по протоколу SNMP.

В основе концепции Unicenter TNG лежат три базовых принципа, важных для деятельности предприятия и его информационной инфраструктуры:

  • представление бизнес-процессов (Business Process View), необходимых для реализации определенных бизнес-функций предприятия;
  • сквозное (End-to-End) управление предприятием - фундаментальная концепция, позволяющая охватить все аспекты управления информационными технологиями;
  • интерфейс реального мира (Real World Interface) - графический интерфейс.

Концепция системы Unicenter TNG реализуется с помощью объектно-ориентированной архитектуры, которая позволяет создать упорядоченную конструкцию, охватывающую все разнородные элементы сложнейшей информационной структуры предприятия. Архитектура Unicenter TNG имеет три уровня (рис.1):

  • уровень глобального отображения (WorldView) - пользовательский интерфейс, доступный для понимания при любой степени компьютерной грамотности, а также репозитарий общих объектов;
  • уровень управления предприятием (менеджеры) - набор функций для управления информационными процессами по всему предприятию;
  • уровень агентов - средства для наблюдения и контроля за всеми элементами инфраструктуры предприятия;

Архитектура Unicenter TNG отвечает основным требованиям к современной управляющей системе: она обеспечивает необходимый уровень интеграции средств управления разнородными ресурсами инфосистемы и обладает такими жизненно необходимыми для эффективного управления характеристиками, как открытость, расширяемость, масштабируемость и многоплатформенность. Все функции Unicenter TNG открыты не только для клиентов компании СА, но и для независимых разработчиков. И те и другие могут создавать собственные продукты, расширяющие возможности системы. Открытые точки интеграции имеет каждый уровень архитектуры. Клиенты и партнеры могут создавать дополнительных агентов и менеджеров, изменять или порождать новые объекты в репозитарии, интегрировать их путем настройки пользовательского интерфейса и использовать все виды услуг, предоставляемых менеджерами. Высокая степень масштабируемости позволяет настраивать систему на задачи конкретного бизнеса, применяя для этого сети TCP/IP, SNA, DECnet и IPX, мэйнфреймы IBM, операционные системы VMS, OS/400, NonStop Kernel, Unix, NT и Windows 95.

2.1 Представление бизнес-процессов

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

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

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

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

Вертикальное представление (рис. 2) показывает, как организуют свою работу административно-хозяйственные руководители предприятия. Функция представления бизнес-процессов Unicenter TNG позволяет увидеть информацию, необходимую для реализации конкретного бизнес-процесса предприятия.

Рис. 2
Вертикальное отображение на основе горизонтального

2.2 Уровень глобального отображения

Верхний уровень объектно-ориентированной архитектуры Unicenter TNG, уровень глобального отображения, дает пользователю возможность овладеть структурой информационной системы предприятия и построить представление бизнес-процесса. Прежде всего здесь реализован графический интерфейс реального мира (Real World Interface), с помощью которого управляющие приложения распознают подчиненные им ресурсы и устанавливают связи между ними. Для отображения всей вычислительной среды используется трехмерная анимация и элементы виртуальной реальности. Находясь в центре управления, администратор может решить возникающие проблемы, "путешествуя" по предприятию и наблюдая за текущим состоянием системы, сети, базы данных, приложений.

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

Компания CA активно рекламирует возможности интерфейса реального мира, 3D визуализации и анимации сетевой карты - первый раз это смотрится с интересом, но маловероятно, чтобы серьезный покупатель, особенно в России стал заниматься этими 3D картинками. Требуются соответствующие технические и системные ресурсы, а стоят они довольно дорого. В TNG обеспечивается стандартная 2D визуализация, по возможностям в какой-то мере эквивалентная линии продуктов HP Open View, правда базирующаяся исключительно на Windows.

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

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

В TNG обеспечивается простейший режим просмотра, маппинга и обработки SNMP событий, поэтому у него на данный момент нет партнеров, имеющих интегрированные приложения для обработки специальных SNMP MIB от производителей сетевого оборудования, таких как Cisco, Bay или 3Com. Кроме того, CA - единственная компания, которая применяет репозитарий Common Object repository. Как утверждают специалисты Meta Group, TNG не использует SNMP V2, и к тому же применяет MS SQL/Server для Windows NT, в которой псевдообъектная модель создается средствами реляционных структур. Поэтому покупатель TNG остается в рамках ограниченного решения, которое сильно отстает от аналогичных средств, применяемых, например, компаниями Oracle или Sybase. По мнению аналитиков META GROUP, TNG позволяет обеспечивать, например, очень низкий уровень интеграции между пиктограммой и вызываемым меню - нет разделяемой информации на уровнях модели данных или памяти.

2.3 Технология управления распределенными системами

В основе модели управления распределенными системами Unicenter TNG лежит технология агент/менеджер, реализованная на двух нижних уровнях архитектуры. Функции, использующие информацию о ресурсах, предписывающие действия по управлению ими и распределяющие полномочия (менеджеры) отделены от функций, генерирующих данные для управления и выполняющих предписанные действия (агентов).

Программы-агенты собирают информацию о состоянии ресурсов инфосистемы. Подобно контрольно-измерительной аппаратуре они следят за состоянием ресурса и предоставляют менеджерам информацию, необходимую для управления данным ресурсом. Агенты Unicenter TNG могут следить за работой практически любых ресурсов информационной системы. Список готовых агентов в системе Unicenter TNG уже достаточно внушителен и продолжает расти. Он включает поддержку таких распространенных ОС и баз данных, как NT, Unix, Oracle, Sybase и SQL Server.

Компания CA постоянно работает над качеством своих агентов. Так, системный агент для HP-UX, кроме отображения on-line информации о загрузке процессора, памяти и использовании файловых систем, имеет режим сбора информации за конкретный заданный период времени. Затем эту информацию можно экспортировать в соответствующее приложение, например, Exсel, для отображения в виде временных диаграмм. Имеется возможность на одной диаграмме отображать различные характеристики для оценки корреляций, например, времени прохождения транзакций работы с базой данных и загрузки процессора.

Кроме набора готовых агентов Unicenter TNG содержит средство их создания - Agent Factory API, что обеспечивает пользователям возможность разработки собственных приложений. Более того, открытая архитектура этой системы обеспечивает интеграцию с агентами третьих фирм, в разработке которых использовались спецификации Unicenter TNG - сегодня это R/3, Baan и Manman/X.

Агенты, созданные при помощи Agent Factory, используются для мониторинга и управления любыми техническими ресурсами и программными приложениями, для которых можно построить MIB (Management Information Base) - массив менеджеров. Пользователь может написать собственного агента, чтобы управлять специфическим для его организации ресурсом или программным продуктом на стандартном языке ANSI Cи. Кроме создания собственно программы-агента, требуется отобразить характеристики обслуживаемого ресурса или приложения, которые отслеживает агент. Эта информация отражается в соответствующих объектах, атрибутах или характеристиках MIB разрабатываемого агента.

Для эффективного использования агентов Unicenter TNG группирует ресурсы в домены, которые могут создаваться по топологическому, географическому, организационному или функциональному принципу. Топологические домены создаются на основе топологии сети, включая близко расположенные сетевые узлы, например, все узлы одного сегмента локальной сети. Географический принцип подобен топологическому, он позволяет объединить близко расположенные устройства, например, все ресурсы в одном здании или городе. Домены также могут создаваться на базе организационной структуры предприятия, в этом случае они объединяют, например, все узлы группы разработчиков или инженерного подразделения. Наконец, функциональные домены позволяют применять единые принципы управления к группе ресурсов одного типа, например, ко всем базам данных или ко всем маршрутизаторам.

Архитектуру агент/менеджер отличает высокая степень масштабируемости. Интеллектуальные агенты могут разделять данные с другими, равными по рангу агентами, а также фильтровать, согласовывать события и автоматически реагировать на них. Это сокращает трафик сети и снижает нагрузку на менеджеров, одновременно повышая масштабируемость и производительность системы в целом. Отношения между менеджерами и агентами Unicenter TNG реализованы по принципу "многие ко многим". Каждый менеджер может управлять несколькими агентами, а каждый агент может быть подчинен нескольким менеджерам. Такая избыточность обеспечивает устойчивость системы к сбоям в тех случаях, когда какой-либо агент или менеджер выходит из строя. Кроме того, одни менеджеры могут выступать в роли агентов для других. Эта возможность способствует большей эффективности использования Unicenter TNG в глобальных вычислительных средах.

Для управления предприятием в Unicenter TNG содержится набор следующих функций:

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

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

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

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

В распределенной среде логически связанная информация хранится в разрозненных системах, что затрудняет процесс управления данными. Функция автоматического управления хранением обеспечивает выполнение резервного копирования и архивирования с отслеживанием перемещения данных с активных носителей на резервные. Менеджеры хранения реализуют и такие функции, как шифрование, сжатие, коррекция избыточности и ошибок. Подчиненные им агенты поддерживают широкий диапазон устройств, в том числе RAID, оптические диски и роботы. Unicenter TNG обеспечивает иерархическое управление запоминающими устройствами, позволяя автоматически убирать старые данные с активных носителей и возвращать их из архива при первой же попытке обращения к ним. Интеграция функций управления хранением с управлением рабочей нагрузкой позволяет планировать операции архивирования и резервного копирования данных по всему предприятию.

В современной корпорации или на предприятии информация является одним из наиболее важных объектов, нуждающихся в защите. Функции защиты Unicenter TNG решают задачу аутентификации для гетерогенной среды, обеспечивая единый вход в систему для доступа ко всем ресурсам, будь то мэйнфреймы, локальные сети, Unix-платформы или компьютеры среднего класса. Пользователю достаточно один раз зарегистрироваться, чтобы работать со всеми доступными системами, не запоминая множества имен и паролей для входа в каждую. Простые инструменты для управления именами и паролями пользователей обеспечивают защиту от несанкционированного доступа. В отличие от традиционных систем в Unicenter TNG файлы защищаются не физическими атрибутами, такими как список прав доступа, а правилами, которые устанавливаются в специальной реляционной базе данных управления защитой, где хранится вся связанная с защитой информация. Система позволяет описывать ресурсы, нуждающиеся в защите - файлы, терминалы, принтеры, настольные ПК, порты TCP/IР, Web-страницы - и объединять их в группу представления конкретного бизнес-процесса, после чего пользователям, задействованным в этом процессе, могут быть назначены соответствующие полномочия.

Однако архитектура агент/менеджер базируется на технологии расширенного SNMP агента от фирмы Legent (продукт AgentWorks). Это наименее защищенный режим управления удаленными распределенными системами, так что риск довольно высок. Компания HP, например, для таких случаев использует подсистему DCE security, которая дает возможность иметь зашифрованный, идентифицированный протокол управления даже через брандмауэр. Это так называемое защищенное приложение, которое позволяет управляющей станции взаимодействовать с системой реально, гарантируя доставку управляющего воздействия, важнейших событий, сбоев системы или приложений. Unicenter TNG не может пока обеспечить соответствующих возможностей. Если, например, "упадет" сервер TNG, то SNMP агенты в составе стандартной фирменной конфигурации не смогут работать самостоятельно.

2.4 Интеграция внешних технологий

В Unicenter TNG предусмотрены средства интеграции технологий, созданных самими пользователями. Для этого предлагается комплект инструментальных средств разработчика (SDK), который включает функции-помощники (wizards), средства генерации агентов и интерфейсы прикладных программ, открывающие доступ ко всем уровням архитектуры системы. С помощью этих интерфейсов обеспечивается вызов функций и служб Unicenter TNG и создаются приложения под конкретные задачи предприятия.

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

Набор API-интерфейсов уровня управления предприятием включает функции, позволяющие прикладным программам пользователей напрямую взаимодействовать с управляющими компонентами Unicenter TNG.

Партнеры компании Computer Associates в области стратегических разработок для Unicenter TNG предлагают разнообразные решения для расширения возможностей этого продукта. Они охватывают широкий спектр функций, включая управление настольными системами, базами данных и специализированными устройствами. Среди партнеров СА, заинтересованных в поддержке Unicenter TNG, такие компании, как Bay Networks, DEC/Compaq, Hewlett-Packard, Intel, Lotus Development, Nеtscape, Sun Microsystems, Microsoft, и др.

Резюме

Подводя итог, коротко отметим сильные и слабые стороны Unicenter/TNG. Итак,

Сильные стороны:

  • позиционируется как интеграционная платформа;
  • наличие красивого интерфейса с элементами виртуальной реальности;
  • активная маркетинговая политика компании;
  • большие скидки при продаже.

Слабые стороны:

  • управляющие воздействия нацелены в основном на operation/control, нет проактивных средств воздействия;
  • TNG не может применяться на практике сразу - требуется сложная предварительная настройка;
  • нет реальной возможности управления конфигурацией и изменения параметров самой TNG;
  • Software delivery - очень слабый и запутанный продукт;
  • системное администрирование на основе SNMP - незащищенный протокол;
  • решения весьма ресурсоемкие;
  • производитель часто выступает не в роли технологического провайдера или продавца новой технологии, а в роли борца за интеграцию;
  • ограниченные возможности Remote Performance Monitoring - только мониторинг;
  • изменения ядра системы, функционирующей в режиме Security ON и прерывание работы соответствующих приложений происходит в режиме стандартной системной защиты NT;
  • не предлагаются решения типа "best in class" - в конфигурации имеются обычно широкодоступные, универсальные решения, не позволяющие решать конкретные сложные задачи;
  • репозитарий строится на закрытой технологии (объектная среда создается средствами реляционной базы данных).

Справедливости ради надо отметить, что TNG, являясь стратегическим продуктом компании CA, весьма интенсивно развивается, поэтому ряд упомянутых недостатков постепенно устраняется в новых версиях.

Литература

  1. Н.Дубова. Интегрированные системы управления распределенной корпорацией. "Открытые системы", #1, 1998, с. 69-75


Пример программы реализации агента

Программа агента должна состоять из главной процедуры (main procedure), вызывающей функции из Agent Factory API для регистрации агента; определения рабочих характеристик агента; задач и подзадач вместе с функциями, выполняемыми по вызову call-back. В последней строке main procedure должен быть вызов функции AWF_AgentRun(), инициирующий выполнение собственно содержательной части агента.

int agent_main(int,char **); 
AWF_LogStart(); AWF_logSetLevel(log_level); 
char* AWF_AgentName = "AgentWorks Example"; char* AWF_AgentVersion = "v0.1.0b"; 
int agent_main(int argc, char **argv) 
{extern char	*optarg; char *log_file = NULL; int int_cycle =240; int log_level; int c; 
while ((c=getopt(argc, argv, "?hi:l:f:s")) != EOF) {
switch c { 
case 'I': sscanf(optarg, "%d", &int_cycle); break; case 'l': sscanf(optarg, "%d", &log_level); break; 
case 'f': log_file = strdup(optarg); break; 
case 's': useStore = l; break; case '?': case 'h': EXA_Usage(argv[0]); exit (-1); 
} } 
if (log_file) AWFLogSetFileName(log_file); /* Регистрация агента */ 
if (AWF_RegName(executable, MIB_NAME)) { 
AWF_LogMessage( AWF_LOG_FATAL, executable, "AWF_RegMibName failed:
 %s", AWF_PrintErrno(awfErrno) ); 
exit(-1); } /* Вывод информационного сообщения */ 
AWF_LogMessage( AWF_LOG_INFO, executable, "Agent '%s' is running!", executable); /* Инициация агента */ 
if (EXA_InitAgent(int_cycle) != 0) 
AWF_AgentExit(); /* Запуск цикла выполнения агента */ 
AWF_AgentRun(); }

Задачи и подзадачи агента

Задачи и подзадачи - это функции которые должен выполнять агент в конце каждого специфического интервала времени.

Основные функции:
  • передача менеджеру сообщения о холодном старте агента;
  • построение во внутренней памяти агента просматриваемой таблицы атрибутов управляемого ресурса;
  • генерация SNMP trap и уведомлений;
  • запись сообщений в log файл.

Пример задачи и подзадачи для агента, имеющего MIB из одной первичной таблицы:

/* Описание задачи и функции подзадачи */ 
int EXA_ProcessAllDirs ( AWFHANDLE hdl, int curTime, int deltaTime, int availTime, void *userData); 
int EXA_ProcessOneDir( AWFHANDLE hdl, int availTime, void *userData ); 
... 
/* Регистрация задачи в agent_main */ 	
hdl = AWF_RegTask ( "ProcessAllDirs", EXA_ProcessAllDirs, NULL, 0, 	int_cycle ); 	if ( hdl == AWE_ERROR ) {AWF_LogMessage( AWF_LOG_FATAL, executable, "Failed to register task with agent %s:
 %s", executable, AWF_PrintErrno(awfErrno) ); 
return(-1); } 
if ( AWF_RegSubTask( EXA_ProcessOneDir, NULL, hdl ) != AWF_OK ) {AWF_LogMessage (AWF_LOG_FATAL, executable, "Failed to register task with agent %s:
 %s", "EXA_ProcessOneDir", "ProcessAllDirs", AWF_PrintErrno(awfErrno) ); 
return(-1); } 
/* Тело задачи */ 
int EXA_ProcessAllDirs ( AWFHANDLE hdl, int curTime, int deltaTime, int availTime, void *userData) {AWF_LogMessage( AWF_LOG_INFO, executable, "EXA_ProcessAllDirs"); 
doFirstDir = 1; AWF_PutGroupAttr( "exMonitorGroup","exMonitorStatus", "1"); } 
/* Тело подзадачи */ 
int EXA_ProcessOneDir ( AWFHANDLE hdl, int availTime, void *userData) {status AWFHANDLE rowHdl; 
char *str, dir[256], thresh[256], user[256], buff[256]; 	int num; 
AWF_LogMessage ( AWF_LOG_INFO, executable, "EXA_ProcessOneDir"); 
num = AWF_TableNumRows("exMonitorTable"); if(num == AWF_ERROR) {AWF_LogMessage (AWF_LOG_FATAL, executable, 
"AWF_TableNumRows exMonitorTable failed: 
 %s", AWF_PrintErrno(awfErrno) ); 
return(-1); } 

Необходимый набор функций агента

Каждый агент должен содержать определенный набор функций call-back, которые используются, если агент должен выполнить некоторые функции и в ответ на получение запроса выдать атрибуты MIB; если агент должен выполнить некоторые функции и установить атрибуты MIB; если агент должен выполнить некоторые функции в ответ на запрос о выполнении управляющего действия и т.д. Большинство функций call-back должно быть объявлено и зарегистрировано в main procedure.

int getLoginGroup(char *parName, int parType, char *attrName, int rowHdl, char *attrValue, char *attrOldValue, void 	*userData) 
{char *str; char buff[256]; 
		if ( strcmp(attrName, "loginAccessCnt")) return(0); 
		str = AWF_GetGroupAttr("loginGroup", 0, "loginAccessCnt"); cnt = atoi(str); ++cnt; sprintf(buff, "%d", cnt); AWF_PutGroupAttr("loginGroup", 0, "loginAccessCnt", str); 
}