В результате активного развития корпоративных средств управления на базе Web язык XML становится важнейшей технологией обеспечения совместимости и представления управляющих приложений.
Несмотря на наличие ресурсов и риск убытков, сопровождающих их головокружительную рыночную капитализацию, некоторые из наиболее известных лидеров «Internet-экономики» столкнулись в последние месяцы с неожиданным ухудшением обслуживания и простоями. Недавние происшествия с MCI WorldCom и eBay свидетельствуют о фундаментальных трудностях управления распределенными сетями и системами. Charles Schwab, E*Trade, Excite@Home, AOL и AT&T в последние годы также испытывают значительные сложности в управлении.
Распределенное управление — очень сложная задача, потому что устройства и программное обеспечение не находятся в одном месте, как в дни мэйнфреймов. Кроме того, разнообразие решаемых распределенными системами задач значительно выросло за последние годы в такой степени, что некоторые практики в области электронной коммерции смотрят свысока на предприятия, где имеются хоть какие-либо невиртуальные компоненты из «кирпича и камня». Но самое сложное в распределенном управлении — это разнородность ресурсов, с которыми приходится иметь дело. Необходимые для работы предприятия устройства и программное обеспечение предлагаются столькими поставщиками, что нет никакой надежды на то, что какая-нибудь модель управления станет когда-либо доминирующей.
Например, интерфейс управления настольными системами (Desktop Management Interface, DMI) широко реализуется в офисных настольных ПК и некоторой периферии, тогда как практически повсеместно применяемый на межсетевых устройствах SNMP менее широко распространен на серверах и, можно сказать, отсутствует в прикладном программном обеспечении. В некоторых частях мира управление сетью осуществляется в соответствии со стандартами CMIP, а в области связи используются свои особые протоколы для управления коммутаторами и другими устройствами. Ситуацию усугубляет то, что в наши дни новые продукты часто выпускаются вообще без поддержки какого-либо из перечисленных протоколов управления.
Идея корпоративного управления на базе Web (Web-based Enterprise Management, WBEM) возникла как реакция на отсутствие единой модели. Ее инициаторы — Microsoft, Cisco Systems, Compaq Computer, BMC Software и Intel — выдвинули план использовать стандартизованные технологии взаимодействия и защиты Web для управления системами и сетями. В 1998 году ответственность за разработку WBEM была передана рабочей группе по распределенному управлению (Distributed Management Task Force, DMTF, ранее Desktop Management Task Force).
По мере готовности WBEM стали вырисовываться три ее основных компонента: общая информационная модель (Common Information Model, CIM), набор объектно-ориентированных схем для управляющей информации; HTTP, универсальный транспортный протокол для передачи информации на базе Web; расширяемый язык разметки (Extensible Markup Language, XML), простой и в то же время мощный метод создания той полезной нагрузки, которую HTTP передает из одного приложения в другое, из браузера в приложение и из браузера в управляемый объект.
CIM
Цель CIM — в описании управляющих данных стандартным образом. Она позволяет отображать другие схемы управления, в том числе базы управляющей информации SNMP, форма-ты управляющей информации DMI и базы управляющей информации CMIP, на свои структуры данных. CIM можно рассматривать как своего рода словарь данных для управления системами и сетями, предоставляющий пометы для объектов, атрибутов, взаимоотношений и действий и документирующий, как эти свойства соотносятся друг с другом.
CIM состоит из спецификации CIM и схемы CIM. CIM Specification содержит соглашения об именовании, методы отображения и метасхему, устанавливающую правила определения схем. CIM Schema имеет три уровня: базовая схема (Core Schema), общие схемы (Common Schema) и расширяющие схемы (Extension Schema).
Core Schema содержит наиболее общие элементы всех видов управляемых объектов, а Common Schema наследует все элементы Core Schema. Общих схем всего пять: Application, System, Device, Physical и Network.
Допускаемые спецификацией CIM схемы Extension Schema не являются, строго говоря, частью CIM Schema. Они, однако, наследуют элементы общих схем и, как следствие, базовой схемы.
Как считают в DMTF, базовая схема вряд ли в дальнейшем будет подвергаться каким-либо изменениям, тогда как общие схемы вполне могут редактироваться для внесения в них усовершенствований. Иерархическая и наследуемая структура CIM Schema гарантирует упорядоченность расширений и обеспечивает обратную совместимость с более ранними реализациями CIM.
CIM — это модель данных. Она не привязана к какому-либо конкретному языку программирования или протоколу, тем более — к какому-либо поставщику. Одной из ее наиболее сильных сторон как раз и является то, что практически все поставщики сетевых устройств, серверов, офисных настольных систем, ОС, периферии и управляющих приложений своей поддержкой DMTF поддерживают и CIM. Схемы CIM могут быть представлены в виде текстовых файлов, структурированных в соответствии с форматом управляемых объектов (Managed Object Format, MOF), и графически в файлах Visio (или любой другой графической программы, если она в состоянии отобразить файлы MOF на устройства и связующие линии). Пример представления схемы можно увидеть на Рисунке.
Ключевым фактором для реализации управляющих приложений с использованием данных CIM является менеджер объектов CIM (CIM Object Manager, CIMOM). CIMOM — это своего рода центральный диспетчерский и вспомогательный процесс, он служит посредником между управляющими приложениями или консолями, хранилищем данных и индивидуальными источниками данных. Скорее всего, CIMOM будет зависим от конкретной ОС в целях достижения наивысшей производительности и удобства доступа к низкоуровневым событиям. Однако менеджеры CIMOM будут доступны программистам с помощью различных языков, а кроме того, они смогут поддерживать различные модели объектов, если так решит разработчик.
Первым доступным для разработчиков управляющих приложений менеджером стал CIMOM для 32-разрядных сред Windows — Windows 95, Windows NT 4.0 и Windows 2000. В этом нет ничего удивительного, поскольку Microsoft была инициатором проекта CIM.
Windows Management Instrumentation (WMI) состоит из CIMOM, хранилища объектов CIM и интерфейса с различными провайдерами объектов — посредниками между источниками управляющих данных и CIMOM. WMI поставляется с провайдерами объектов для SNMP, Windows Registry, Windows Event Log, Win32 Driver Model и др. Управляющие приложения и Microsoft Management Console могут обращаться к CIMOM с помощью объектной модели COM+, но Microsoft обещает реализовать доступ и с помощью других объектных моделей.
Прежде чем вы решите, что CIM — это часть всемирного заговора Microsoft, я спешу сообщить, что Sun Microsystems представила CIMOM для Solaris — для платформ SPARC и Intel. В ее поддержке CIM также нет ничего удивительного, так как Sun находится среди активных членов DMTF.
Программное обеспечение Solaris WBEM Services включает CIMOM; компилятор MOF, способный производить грамматический разбор операторов ASCII MOF и добавлять объектные классы и экземпляры в хранилище CIM; Solaris Schema, состоящую из классов Java, описывающих управляемые объекты в Solaris Operating Environment; Solaris Provider, обеспечивающий взаимодействие с Solaris Operating Environment и CIMOM. Sun также представила комплект для разработки программного обеспечения Sun WBEM, предоставляющий клиентские и провайдерские API, образцы исходного кода, приложение CIM Workshop на базе Java и документацию.
XML
Спецификация CIM ничего не говорит ни о том, как данные в действительности конкретизируются в управляющем приложении, ни о том, как данные должны передаваться между управляющими приложениями и устройствами или между двумя управляющими приложениями. В теории два приложения на базе CIM могут обмениваться необработанными двоичными данными с помощью какого-либо нестандартного метода, хотя такое решение жертвует некоторыми наиболее мощными потенциальными преимуществами стандартной модели данных.
Разработчик управляющих приложений, взявший на вооружение CIM, встает на путь обеспечения совместимости с приложениями, разрабатываемыми другими, но на этом пути предстоит сделать еще два шага. Во-первых, он должен иметь возможность стандартным образом представлять реальные управляющие данные (например, число ошибок, зарегистрированных на конкретном порту после последнего обнуления счетчика, или местонахождение сервера, у которого осталось мало места на диске). Во-вторых, он должен иметь протокол, способный передавать эти данные между системами и приложениями. XML решает проблему представления данных, а HTTP — проблему транспортного протокола.
XML представляет собой набор правил, определяющих, как следует добавлять теги в поток текста (документ) для структурирования этого документа. По своей природе XML не является объектно-ориентированным языком. По сути, XML только представляет структуру с помощью своих соглашений, отображающих теги (идентифицирующие объекты или атрибуты) на некоторую внешнюю семантическую структуру.
Как можно видеть из других статей на данную тему в этом номере журнала, применение XML в задачах распределенных вычислений не ограничивается управлением сетями и системами. Всякая структура данных — от относительно простых форм печатных документов, стимулировавших появление языков разметки, таких, как стандартный обобщенный язык разметки (Standard Generalized Markup Language, SGML), до типографских представлений математических формул и, наконец, полномасштабных функций корпоративного планирования ресурсов (Enterprise Resource Planning, ERP) — может быть представлена с помощью документов XML и определений типов документов (Document Type Definition, DTD).
В области управления сетями и системами схемы CIM разрабатывались при участии всех ведущих поставщиков еще до того, как XML появился на горизонте. Если в других областях применения конкурирующим держателям акций потребуется урегулировать расхождения между ними и договориться о стандартных словарях и структурах данных, DMTF, как полномочный представитель отрасли управления, очень быстро объединила XML с CIM и смогла таким образом предоставить полное решение для последующей разработки приложений.
Определения DTD описывают грамматику документа XML, перечисляя все допустимые в нем элементы и определяя структуру этих элементов. DTD могут содержаться в самом документе XML, находиться отдельно в одном или нескольких файлах или подключаться с помощью ссылок на Uniform Resource Identifier (URI). Сами DTD пишутся с использованием XML. DTD предназначаются для проверки правильности составления документов XML, а размещение DTD в месте, доступном всем заинтересованным в нем приложениям, создающим и читающим документы XML, является мощным способом обеспечения совместимости приложений.
Помимо грамматики документы XML также отдают «на откуп» характеристики отображения. Стандартом на таблицы стилей для SGML является язык спецификации семантики и стилей документов (Document Style and Semantics Specification Language, DSSSL). Кроме того, документы XML могут форматироваться и отображаться с помощью каскадируемых таблиц стилей (Cascading Style Sheet, CSS), однако, к сожалению, реализации последних в стандартных браузерах не согласуются между собой. Ожидаемый новый стандарт на расширяемый язык стилей (Extensible Style Language, XSL) должен вобрать в себя многие лучшие черты DSSSL и CSS, к тому же он будет написан на XML.
Таблицы стилей позволяют реализовать любое отображение элементов данных из документов XML, какое только можно себе представить. Например, традиционные экранные изображения устройств, которые менеджеры элементов используют при конфигурации; таблицы свойств, используемые менеджерами правил и другим программным обеспечением управления; графики, счетчики или диаграммы, отображающие различные типы трафика. Даже интерфейс командной строки может отображаться как определенный с помощью таблицы стилей вид совокупности данных, описанных с помощью XML.
Настройка графического пользовательского интерфейса приложения может превратиться просто в редактирование таблицы стилей.
ТРАНСПОРТ ДАННЫХ
XML и CIM дополняют друг друга, обеспечивая модель данных для представления правильно определенных экземпляров данных. Однако сами по себе они не удовлетворяют всех потребностей приложений для распределенного управления. CIM-ориентированный XML способен создать полезную нагрузку, но эта полезная нагрузка должна быть как-то доставлена от одного приложения к другому. В качестве транспорта WBEM использует HTTP.
HTTP распространен практически повсеместно, он реализован во всех браузерах Web на каждой платформе. Кроме того, в наши дни практически любая ОС — как серверная, так и настольная — имеет сервер Web. Более того, практически всякое межсетевое устройство, сетевой принтер или другой управляемый объект, появившийся за последние два года, содержит встроенный сервер Web, благодаря которому конфигурация и мониторинг могут производиться непосредственно из браузера. По информации Rapid Logic, компании-разработчика инструментария для быстрой разработки встроенных управляющих приложений, необходимая для реализации демона HTTP, т. е. сервера Web, память в операционной системе реального времени не превышает 8 Кбайт.
HTTP хорошо знаком программистам. Многие из шероховатостей HTTP 1.0 были устранены в 1. 1.
Одной из важнейших разработок с точки зрения приложений для управления сетями и системами является создание Secure HTTP (HTTPS) и Secure Sockets Layer (SSL). Уязвимость до сих пор остающейся наиболее широко реализованной первой версии SNMP для любого злоумышленника, если он имеет возможность перехватить пакеты в управляемой сети, является самым застарелым недостатком в мире управления сетями и системами. Использование предназначенных для транзакций по кредитным картам возможностей защиты HTTP позволяет организовать защищенные сеансы управления между приложениями или между пользователем и управляемым объектом.
Объединение CIM, XML и HTTP в WBEM обещает наконец-то решить проблему управления гетерогенными сетевыми средами в эру Internet. Программы разбора XML, в составе браузеров и отдельные, существуют для многих платформ и на многих языках программирования. Имеющийся для многих сред инструментарий разработки позволяет обращаться к структурам данных, содержащимся в представленных с помощью XML данных.
Приложения, пользователи и устройства, клиенты и приложения могут обмениваться между собой структурированными управляющими данными независимо от ОС (будь то Windows, UNIX или Novell); независимо от языка программирования (будь то Perl, C++, Java или Visual Basic); независимо от объектной модели (будь то CORBA или COM) и независимо от установленной платформы управления (будь то OpenView, Unicenter TNG, Tivoli или Spectrum). Предоставляемые поставщиком усовершенствования и расширения могут быть быстро интегрированы и ассимилированы, когда приложение имеет возможность справиться об определении управляющих данных в централизованных постоянно обновляемых DTD.
Если для администраторов сетей независимость от платформ и отличная совместимость представляются несомненно полезными достижениями, то для поставщиков они являются реализацией несбыточной мечты. По большей части, те, кто предоставляет оборудование и приложения, рассматривают управление как неизбежное зло, необходимое только для того, чтобы можно было поставить соответствующую галочку в запросе о предложениях от заказчика. Как сообщает IDC (http://www.idc.com), во многих случаях свыше половины бюджета на разработку средств управления идет на тестирование и адаптацию прежнего кода к новым операционным системам. Возможно, это послужит производителям дополнительным стимулом для скорейшей адаптации модели WBEM (наряду с демонстрируемым ими энтузиазмом и требованиями пользователей обеспечить совместимость).
ПЕРВЫЕ ПРИЛОЖЕНИЯ
Как только стало ясно, что XML хорошо подходят для CIM, а спецификации XML стали приобретать законченный вид, Manage.Com (http://www.manage.com) удалось вырваться вперед и на голову опередить весь остальной рынок благодаря тому, что компания раньше всех решила реализовать продукты на базе CIM и XML. Frontline e.M, главный продукт компании, имеет клиент на базе браузера для мониторинга, контроля, конфигурации и диагностирования компонентов бизнес-процессов и транзакций, даже если они осуществляются через брандмауэр или VPN.
Серверное программное обеспечение e.M выполняется на сервере Web и способно автоматически обнаруживать сервисы, приложения и устройства IP. Оно контролирует, конфигурирует и сопоставляет данные от управляемых объектов. Кроме того, оно отвечает за извещение о проблемах, составление отчетов и реализацию правил. Управляемые объекты, информация об их взаимоотношениях и профили контроля доступа для пользователей хранятся в базе данных Frontline e.M (или в имеющейся базе данных организации).
Устройства и процессы, мониторинг и управление которыми следует реализовать, могут быть оснащены e.Agents — агентами на базе Java, распространяемыми защищенным образом с помощью SSL или по VPN. Сервер e.M также может запрашивать управляющие данные от SNMP и других источников.
Так называемые e.Bots представляют собой агенты по типу сценариев или макросов, способные выполнять ряд задач на периодической основе или при наступлении определенных условий. Например, e.Bot может перевести пользователей на другой сервер, когда свободное место на диске будет меньше предопределенного порога.
Самым новаторским компонентом архитектуры Manage.com является e.Registry. Manage.com характеризует e.Registry как портал управления. e.Registry является хранилищем схем с описаниями управляемых объектов, правил конфигурации и информации о диагностике, производительности и загруженности сервисов (таких, как электронная почта), устройств (таких, как брандмауэр) и приложений (таких, как обработка заказов). Серверы e.M могут обновлять свои возможности регулярно или по требованию, потому что и e.M, и e.Registry базируются на CIM и потому, что благодаря XML они могут обмениваться структурированной информацией по Internet. По сути, e.Registry представляет собой набор DTD, к которому может обращаться любой сервер e.M. После модификации старых элементов и добавления новых на сервере e.Registry компании Manage.Com пользователи могут загрузить и использовать их.
Хотя Frontline e.M способен выполнять многие из задач, решаемых традиционными продуктами для управления сетями и системами, Manage.Com не считает свой продукт панацеей от всех бед управления. Главная роль, на которую он предназначен, — это контроль за относительно небольшим числом критических бизнес-процессов, перебои в работе которых недопустимы, и управление ими из конца в конец, возможно, в соответствии с соглашениями об уровне сервиса. Frontline e.M не столь хорошо подходит на роль основного приложения для корпоративного центра управления сетью, как продукты наподобие HP OpenView, к тому же он не пригоден для выполнения таких задач, как распространение программного обеспечения или управление корпоративной системой хранения, как продукты наподобие CA Unicenter.
Хотя Frontline e.M и не претендует на место универсальной платформы управления, Manage.Com заключила партнерские соглашения с двумя другими компаниями, что увеличивает полезность модели CIM-XML-HTTP. Top Layer Networks (http://www.toplayer.com) производит коммутатор с классификацией и приоритезацией трафика — AppSwitch 2000. Эта компания собирается использовать manageXML — расширенную инфраструктуру XML компании Manage.Com — в качестве базового транспорта управляющей информации. Таким образом, интерфейс управления для AppSwitch 2000 будет предоставляться Frontline e.M.
Пользователи AppSwitch 2000 — а они, как правило, принадлежат к IP-центрическому миру, для которого Manage.Com предназначает свои предложения, — могут получить обновленное программное обеспечение управления элементами через e.Registry, а устройства AppSwitch 2000 будут без труда интегрироваться в экосистему Frontline e.M/WBEM. Кроме того, пользователи AppSwitch 2000 получат в свое распоряжение функции автоматической диагностики Frontline e.M.
Другой партнер Manage.Com — компания Data Channel (http://www.datachannel.com) — специализируется на инструментарии разработки, технологиях и обучении XML. Data Channel взяла на себя обязательство разработать экспертные методики, с помощью которых заказчики Manage.Com могли бы создавать документы manageXML, т. е. свои собственные расширения для среды Frontline e.M. Например, эксперты могли бы использоваться для контроля доступа пользователей, определения политики приоритетов и включения происходящих в компании событий в систему управления.
XML и его спутники в проекте WBEM дают новую надежду сообществу пользователей и специалистов по управлению сетями и системами, тем более что последние несколько лет эта отрасль следовала накатанной колеей. Тонкости XML, DTD и объектных моделей будут скрыты от администраторов сетей, так что они могут не опасаться ожидаемого уже в ближайшее время появления множества приложений на базе этих стандартных технологий.
WBEM очень кстати решает проблему гетерогенных систем, предоставляя пользователям большую гибкость в выборе средств. Кроме того, оно снижает стоимость владения для предприятий и делает важный шаг на пути к самовосстанавливающимся сетям, давней цели систем управления. Новая роль HTTP как транспортного протокола для управляющей информации означает, что управляющие приложения получат более надежную защиту, что удаленное управление станет намного проще и что разработка средств управления будет производиться по часам Internet, а не мэйнфреймов.
Стив Штайнке — главный редактор Network Magazine. С ним можно связаться по адресу: ssteinke@mfi.com.Ресурсы Internet
Наилучшей исходной точкой для более подробного знакомства с WBEM является сервер DMTF с адресом http://www.dmtf.org. Там вы найдете спецификации для всех схем Common Information Model (CIM), а также Extensible Markup Language (XML), Document Type Definition (DTD) для CIM, таблиц стилей для Cascading Style Sheet (CSS) и Extensible Style Language (XSL), реализации CIM поверх HTTP и кодирования XML для CIM Schema.
Программное обеспечение Solaris WBEM Services и комплект для разработки программного обеспечения Sun WBEM можно бесплатно загрузить с http://www.sun.com/solaris/wbem/.
Microsoft имеет большие планы в отношении применения XML для разных задач, а не только управления сетями и системами. Подробную же информацию о Windows Management Instrumentation (WMI), Win32 CIM Object Manager можно найти на http://technet.microsoft.com/cdonline/content/complete/boes/bo/winntas/prodfact/wmisnmp.htm.