На корпоративном уровне XML мог бы проявить себя как средство, упрощающее создание, развертывание и управление механизмами обработки сообщений в Internet.
Действительно, многие производители уже выпускают или планируют выпустить решения, ориентированные на XML, которые могут помочь в управлении информационным наполнением и при интеграции данных, полученных из различных использующихся в компании систем.
Распределенные архитектуры
Поскольку XML основан на текстах в формате ASCII, он обещает значительно упростить развертывание распределенных приложений Internet по сравнению с бинарными технологиями обработки сообщений, такими как Distributed Component Object Model (DCOM) или CORBA.
Однако это не означает, что от бинарных архитектур нужно отказаться в пользу XML - они зачастую прекрасно работают вместе. Фактически многие производители, сейчас выпускающие n-уровневые приложения, ориентированные на бинарные технологии обработки сообщений, уже рассматривают XML как средство для более эффективного обмена данными. Их конечная цель - избавиться от избыточности данных и стимулировать повторное использование информации.
Добавление XML к бинарным транспортам сообщений позволит продуктивнее использовать возможности обеих технологий для создания более управляемой распределенной среды.
Хороший тому пример - архитектура WebBroker компании DataChannel.
WebBroker, созданный на основе существующих стандартов Internet, действует как расширение Web-сервера. Он использует стандартные локаторы ресурсов URL для инициации программных компонентов DCOM и CORBA через HTTP, а XML в этом случае служит для определения структур данных. Поскольку WebBroker пользуется услугами HTTP, он позволяет не открывать брандмауэры для DCOM или Internet Inter-ORB Protocol.
Благодаря этой архитектуре компании могут использовать Web для выполнения целого ряда бизнес-операций, в частности для обмена корпоративной информацией.
Расширяемый язык
Так что же представляет собой XML? Это язык разметки, происходящий от языка Standard Generalized Markup Language (SGML) и во многом аналогичный HTML. Проще говоря, документы XML представляют собой файлы ASCII, содержащие текст и теги, идентифицирующие структуры внутри текста. Однако в отличие от HTML язык XML позволяет определять свои собственные теги и атрибуты, так, как это делает SGML, но без присущих последнему сложностей. Благодаря этому документы XML могут содержать метаданные - данные об информационном наполнении в документе, в том числе об иерархических связях.
XML может использоваться в качестве метаязыка, поскольку его синтаксис позволяет создать абсолютно новый язык программирования, а кроме того, комбинировать его со сценариями, выполняемыми на стороне клиента, с помощью таких языков, как JavaScript.
Однако появление XML не способно поколебать позиции HTML, который по-прежнему будет играть важную роль, поскольку предлагаемые в XML возможности подготовки презентаций и связи компонентов развиваются не так быстро, как сам XML - при работе с этими функциями приходится преодолевать немало сложностей.
К примеру, компонент XML, который определяет представление документов на экране (Extensible StyleSheet Language, или XSL), и компонент, определяющий связи (Extensible Linking Language, или XLL), пока недоработаны. В перспективе они позволят существенно усовершенствовать существующие механизмы поддержки гиперссылок и представления данных, использующие HTML и каскадированные таблицы стилей.
Что касается корпоративных приложений, то XML уже может принести определенную пользу. Он в состоянии заменить "доморощенные" процессы производства, выполняя преобразование и организацию данных на сервере или на уровне промежуточного программного обеспечения.
Обмен структурированными данными
XML, помимо всего прочего, может служить в качестве формата данных при обмене структурированными документами в Web. Документы XML, в отличие от страниц HTML, могут нести в себе большие объемы хорошо структурированных данных вместе с описателями элементов данных и структур, содержащихся в документах.
Более того, XML позволяет преодолеть внутренние ограничения HTML в трех основных областях: расширяемость, структурирование и подтверждение состоятельности. XML, как следует из его названия, позволяет определять собственные наборы тегов и таким образом расширять себя.
Если о структурированности HTML говорить не приходится, то для документов XML структура - нечто неотъемлемое. К примеру, каждый документ XML требует наличия корневого элемента, а последующий набор тегов должен быть определенным образом размещен с учетом порядка вложенности, что и задает иерархию данных.
Состоятельность документов XML, в отличие от HTML, может подтверждаться внешними файлами Document Type Definition (DTD). Такой подход гарантирует, что каждый набор тегов определен должным образом и имеет силу.
XML придерживается твердых директив, гарантирующих правильную работу. К примеру, теги XML должны быть продекларированы прежде, чем они использованы для разметки элементов текста. Декларации элементов обычно содержатся внутри DTD отдельно от документов с данными. Эти файлы устанавливают "списки", определяющие, как должен использоваться каждый тег. Более того, когда XML выполняет роль языка метаданных, DTD служат в качестве своего рода "словаря данных".
Инструментарий первого поколения
Microsoft, безусловно, была первой компанией, использовавшей XML. Она жестко установила специальные наборы тегов XML в Channel Definition Format, входящем в состав Internet Explorer 4.0. Эти элементы можно было бы с тем же успехом определить в XML DTD, но поскольку в браузерах версий 4.x отсутствуют встроенные синтаксические анализаторы XML, реализовать это было бы достаточно сложно.
Сейчас документы в стандартном XML не поддерживаются ни браузером Microsoft, ни браузером Netscape. Для работы с документами XML этим браузерам требуется внешний синтаксический анализатор, который может преобразовать теги XML-документа в объектное дерево. В дереве объектов компоненты, содержащиеся в структурированных наборах тегов, представляются как объекты, с которыми можно работать внутри браузера с помощью Document Object Model и которые затем обрабатываются JavaScript.
Следующее поколение браузеров будет иметь внутренние функции, позволяющие распознавать и проводить синтаксический разбор документов XML.
Кроме того, Microsoft играет ключевую роль в ряде других инициатив, связанных с подготовкой спецификаций, которые сейчас рассматриваются Консорциумом W3C, - в частности таких, как XML-Data и пространство имен XML, получившее название MSXML, - а также готовит тесты для XML и других соответствующих технологий, например для XML Data Source Object.
XML попадает в "РИО"
Представленная компанией DataChannel 30 мая система DataChannel RIO 3.0 предлагает решения в области управления знаниями, публикации документов и разделения данных, использующие стандартные Web-технологии, в частности XML.
Поработав с альфа-версией, я пришел к выводу, что RIO особенно удобен для преобразования корпоративной сети intranet в значительно более полезную и управляемую систему доставки информации.
DataChannel RIO - это первый пример того, как существующие технологии, такие как Java, DCOM и реляционные базы данных, могут работать вместе с XML.
Архитектура WebBroker в RIO, недавно получившая статус стандарта в W3C, автоматически получает данные через HTTP, а затем размещает их внутри оболочки XML, описывающей канал, в котором хранится информация. Впоследствии документ сохраняется в каталоге на сервере Web.
DataChannel RIO - это готовая к работе система, для развертывания которой достаточно минимального опыта. Однако, по всей видимости, чтобы воспользоваться большинством других решений, ориентированных на XML, понадобятся навыки программирования и создания сценариев.
Решения для крупных узлов
Программистам, предпочитающим настраивать работу своих узлов с помощью сценариев, можно порекомендовать новый пакет средств разработки Konstructor 1.0 компании OmniMark Technologies.
Konstructor, минимальная конфигурация которого стоит 60 тыс. долл., предназначен для создания крупных корпоративных Web-узлов, предусматривающих интенсивный обмен информацией. Он найдет применение в интерактивных персонифицированных службах новостей, в финансовых приложениях и магазинах электронной коммерции.
Хранение XML-данных
Большинство крупных Web-узлов уже используют страницы HTML, сгенерированные "на лету" из информационного наполнения, которое размещается в серверном хранилище данных.
В сочетании с богатыми возможностями XML, ориентированными на работу с данными, объектные СУБД особенно хорошо подходят в качестве репозитария данных.
Многие стандартные реляционные базы данных могут соответствовать требованиям конкретных приложений к развертыванию систем обработки сообщений на основе XML. Действительно, такие продукты, как RIO компании DataChannel и Konstructor компании OmniMark, позволяют использовать возможности XML при работе с корпоративными базами данных, например, как SQL Server компании Microsoft.
Однако для распределенных приложений, которым необходима большая масштабируемость и которые интенсивно используют тысячи объектов, скорее всего потребуется объектная СУБД.
Выпускаемый компанией POET Software пакет Content Management Suite на основе объектной СУБД позволяет создать репозитарий объектов для обработки информационного наполнения XML и SGML.
Удачное начало
Ясно, что XML предстоит сыграть важную роль в разработке управляемых решений обработки сообщений и промежуточного ПО. Однако многие компоненты этого процесса должны стать дешевле.
Кроме того, W3C еще предстоит официально рекомендовать новые стандарты на основе XML. В конце концов, может быть, лучше подождать и посмотреть, какие из предлагаемых стандартов себя оправдают в наступающем году. И хотя сам XML уже получил формальную рекомендацию консорциума W3C, к концу года, по всей вероятности, появится еще больше технологий на основе XML. Эти новые спецификации, такие как ICE, откроют иной путь к решению стоящих перед вами задач.
Подводя черту
Extensible Markup Language (XML)
XML может существенно упростить перенос данных между разнородными системами. Хотя определенные компоненты стандарта XML еще должны быть формально утверждены консорциумом World Wide Web, язык XML, по всей видимости, лучший инструмент для распределенной обработки в Web.
Достоинства: возможности метаданных и метаязыка, которые упрощают развертывание в пределах многоуровневых приложений Web; широкая поддержка ведущими производителями; официальная рекомендация W3C, которая стабилизирует спецификации и дает разработчикам зеленый свет для создания приложений на основе XML.
Недостатки: таблицы стилей XML и связующие компоненты еще не ратифицированы W3C; решения для управления информационным наполнением требуют его предварительного переформатирования в XML; развертывание XML как альтернативы для стабильных промежуточных технологий не всегда целесообразно.
Глоссарий
Document Object Model (DOM)
Поддерживается рабочей группой Консорциума World Wide Web. DOM обеспечивает программам и сценариям динамический доступ к данным и позволяет обновлять информационное наполнение, структуру и стиль документов Web.
Document Type Definition (DTD)
Файлы DTD содержат информацию, определяющую набор тегов XML, их применение и атрибуты. DTD определяет "словарь данных", или список специфических элементов XML, и используется для проверки состоятельности разметки.
Information and Content Exchange (ICE)
ICE - это DTD, ориентированный на конкретное приложение; предоставляет компаниям средства обмена, модернизации, поставки и доверительного управления активами. Находящийся в стадии разработки ICE создается с целью предоставить компаниям открытый протокол для обмена электронными активами. Он позволит обеспечить безопасность и выполнить аутентификацию. ICE использует еще один предварительный стандарт - OPS - для гарантии защищенности взаимодействий.
Open Profiling Standard (OPS)
OPS - предварительный открытый отраслевой стандарт для интерактивного индивидуального обмена информацией между отдельными пользователями и компаниями.
Resource Definition Format (RDF)
Предварительный стандарт, обеспечивающий интероперабельность между приложениями, которые обмениваются электронной информацией в Web. Формат RDF создан на основе XML и сейчас проходит экспертизу в W3C.
Simple API for XML (SAX)
SAX - пример простого программного интерфейса на основе событий для синтаксических анализаторов XML. Помимо главных функций синтаксического анализатора XML он генерирует список событий на базе документа XML. Этот список может использоваться в качестве управляющих API для разработки приложений.
Состоятельный документ XML
Документы XML называют "состоятельными", если они имеют ссылки на внутренний или внешний файл Document Type Definition (DTD).
Web Integration Definition Language (WIDL)
Язык, разработанный компанией webMethods и созданный на основе XML. Файлы WIDL используются для автоматического доступа к ресурсам Web из приложений. WIDL особенно хорошо подходит для n-уровневых Web-приложений. Во многих случаях WIDL аналогичен CORBA, но менее сложен. Его основные функции - это установка местонахождения данных (службы каталогов) и их связывание. Стандарт WIDL передан на утверждение в W3C.
Хорошо организованный документ XML
Это документы XML, которые содержат в себе декларации элементов. Все документы XML должны быть хорошо организованы, но необязательно должны являться состоятельными.
XML-Data
XML-Data, переданный Microsoft и другими производителями на утверждение, описывает гибкую альтернативу определению разметки XML с помощью DTD. Синтаксис XML-Data тот же, что и у XML, но значительно проще для чтения.
Пространства имен XML
Пространства имен XML, разработанные и переданные на утверждение в W3C компанией Microsoft и другими организациями, позволяют применять элементы с одинаковыми именами в документах XML, добавляя буквенные суффиксы к набору тегов. Это особенно полезно в случаях, когда вы используете DTD, в котором определяется набор тегов, конфликтующий с созданными ранее тегами.
Основные продукты, ориентированные на работу с XML
Число решений, ориентированных на работу с XML, растет с поразительной скоростью. Однако хотя каждый продукт использует некоторые из XML-возможностей, их функции во многом различаются. Среди появившихся только в этом году продуктов системы самого разного класса, от высокоуровневых приложений публикаций в Web и управления информационным наполнением до систем Object Database Management Systems (хранилищ XML-данных).
Компания | URL | Продукт | Готовность |
Chrystal Software | http://www.chrystal.com | Astoria 3.0 | с апреля |
DataChannel | http://www.datachannel.com | DataChannel RIO 3.0(бета-версия) | с 30 мая |
Inso | http://www.inso.com | DynaBase 3.0 | с I квартала |
OmniMark Technologies | http://www.omnimark.com | Konstructor 1.0 | с 23 апреля |
Perspecta | http://www.perspecta.com | SmartContent System 2.0 | с 16 марта |
Poet Software | http://www.poet.com | POET Content Management System 1.0 | с 22 мая |
Vignette | http://www.vignette.com | StoryServer 3 release 3.2 | с января* |
WebMethods | http://www.webmethods.com | webMethods B2B Integration Server (бета-версия) | с июня |
* усовершенствования, затрагивающие использование XML, появятся во второй половине 1998 года (версия 4.0) |