В лавине средств поддержки XML важно не упустить из виду XML-серверы и ПО с открытыми исходными текстами
Опять застряли в пробке по дороге домой? Берете в руки свой беспроводной PDA, заходите на узел Food.com и заказываете еду из китайского ресторана. Изображение на маленьком экране будет отличаться от того, что вы видите, когда заказываете с помощью WebTV пиццу на обед. В следующий раз, когда вы будете заказывать обед из своего офиса, изображение домашней страницы Food.com будет зависеть от скорости работы браузера.
За счет чего достигается столь различная картина представления данных? За счет использования в Food.com расширяемого языка разметки XML. С его помощью определяются объем текстовой информации для вывода на экран, а также форма визуализации, наиболее приемлемые для используемого браузера и платформы. Язык XML позволяет однократно размечать информацию и затем различными способами форматировать ее представление. «Когда я задумался об использовании XML, меня прежде всего интересовало, как с помощью этого языка можно ускорить доставку данных потребителям, — рассказывает Роб Мэйфилд, главный архитектор Food.com. — Сейчас же в XML меня занимает возможность порождения разных видов представления для наполнения нашего узла».
XML — это открытый стандарт для определения данных и их общего использования в сети. Подобно языку HTML, XML использует синтаксис меток-тегов, но он гибче HTML и лучше приспособлен к объединению данных из разнородных источников. XML хорошо работает в приложениях, обеспечивающих передачу данных из одной системы в другую; в приложениях, реализующих разные визуальные представления одних и тех же данных; в задачах электронной публикации. (О том, как XML используется в вертикальных секторах промышленности, вы можете прочитать в статье «Присвойте себе метку», опубликованной в этом же номере.)
Лавина инструментария
Продвинутые корпоративные разработчики, к числу которых можно отнести Мэйфилда, ищут пути разумного использования расширяемости XML, ориентируясь при этом на созданные в последнее время средства разработки приложений. За последние полгода на рынке появилось огромное количество таких средств — как коммерческих продуктов, так и созданных путем использования открытых исходных текстов (и свободно распространяемых). «Новые продукты появляются каждую неделю», — говорит Дуглас Бэри, основатель и руководитель консалтинговой компании Barry & Associates.
В целом по стоимости средства поддержки XML распределяются по трем категориям. Наиболее дорогими являются серверы приложений XML, способные хранить данные. Обычная их цена — несколько тысяч долларов в расчете на один процессор. Некоторые поставщики серверов приложений XML продают вместе с ними инструментарий разработчика за несколько сотен долларов. В качестве примера можно привести компанию Bluestone Software, обычно продающую сервер XML за 3 тыс. долл., но реализующую свой инструментарий разработчика Visual-XML по цене 99 долл. на рабочее место.
Во вторую категорию попадают версии XML-средств, доступные для получения через Internet, стоимость которых составляет примерно 100 долл. Среди подобного инструментария — редакторы схемы, трансляторы и средства извлечения данных. Примером может служить система XML Authority. Ее разработчик, компания Extensibility, продает систему по 100 долл. за однопользовательскую лицензию. Инструментарий предназначен для управления XML-схемами и для графического представления структур, чье описание содержится в документах XML.
Наконец, третью и самую многочисленную категорию составляют средства, разработанные по методу открытых исходных текстов. Такой инструментарий можно бесплатно загрузить на свой компьютер с узлов, принадлежащих поставщикам или фондам. В качестве примера можно привести узел Apache Software Foundation, некоммерческой организации, специально созданной для поддержки открытой совместной разработки ПО. Из открытого XML-инструментария наиболее распространены синтаксические анализаторы, которые позволяют переводить язык тегов XML в конструкции обычных языков программирования. Свои синтаксические анализаторы в фонд Apache передали многие фирмы, в том числе IBM и Sun Microsystems. В прошлом году фонд Apache развернул проект «Ксерсис» (Xerces), ставящий целью сбор воедино лучших функций таких анализаторов.
Команда разработчиков под руководством Мэйфилда использует инструментальный пакет Total-e-Business производства Bluestone Software, а также некоторые популярные открытые системы, включая LotusXLS. Последняя дает возможность использовать расширяемый язык стилей (XSL), переформатирующий XML-тексты в HTML-тексты для визуализации на экран.
С чего начать
Разработчикам, впервые использующим XML, обычно приходится ломать голову над тем, с чего начать: с XML-сервера или с отдельных инструментов. В случае если бюджет разработки способен потянуть всего одно приобретение, предпочтительнее вложить деньги в XML-сервер, причем такой, который хорошо стыкуется с вашей базой данных и с прикладным Web-сервером. Под «XML-серверами» (их иногда еще называют «серверами XML-данных») понимают широкий спектр промежуточного ПО, автоматизирующего обмен структурированными данными, совместимыми с XML. «Термин довольно размытый, так как очень много поставщиков заявляют о наличии в своем арсенале XML-сервера», — отмечает Микаэл Гулд, исполнительный вице-президент и старший консультант в фирме Patricia Seybold.
С ним согласен Бэри: он считает, что для выбора конкретного XML-сервера требуется серьезный анализ, поскольку используемые методы хранения и возможности различаются в зависимости от продукта. В перечень обязательных функций XML-серверов входят хранение и извлечение данных из разных источников, разметка их соответствующими тегами и рассылка по приложениям. К числу фирм, объявивших в прошлом году о создании собственных XML-серверов, относятся Bluestone Software и Software AG.
Однако некоторые из существующих серверов выполняют лишь XML-разметку, в то время как другие хранят в базе XML-данные. Причем одни XML-серверы используют для хранения данных объектные БД, другие — реляционные, третьи — плоские файлы. «Прежде всего следует определить критерии хранения ваших данных и убедиться, что рассматриваемые вами в качестве кандидатов XML-серверы реально отвечают вашим требованиям», — отмечает Бэри.
SGML может уйти
Как средство разметки структурированных документов XML-инструментарий вытесняет аналогичные системы для языка SGML. По этой причине некоторые наиболее популярные средства подготовки SGML-документов преобразуются в средства подготовки XML-документов.
В средствах подготовки XML-документов автоматизируется процесс разметки для стандартных систем обработки текстов.
Первоначально DynaTag представляла собой систему для подготовки SGML-текстов. Среди продуктов со сходной «биографией» — Adept компании Arbortext и FrameMaker+SGML корпорации Adobe Systems.
Отдавайте и берите
Даже внутри корпораций наиболее популярными XML-средствами являются анализаторы, XSL-процессоры и прочий инструментарий, предоставляемый бесплатно на Web-узлах поставщиков или некоммерческих организаций. К примеру, компания ChanelPoint.com, поставщик технологий электронной коммерции в секторе страхования, ориентировалась на XML при разработке Internet-портала для страховых компаний, маклеров по компенсациям и агентов. Том Ластрэйндж, главный архитектор ChannelPoint, при создании XML-моделей данных и подготовке основанных на существующих бумажных бланках Web-форм использовал такие открытые инструменты разработки, как анализатор XML4J корпорации IBM и основанную на Java технологию таблиц стилей LotusXSL.
На практике рынок инструментария для XML уже начал походить на рынок средств разработки для Java, где в число наиболее популярных средств входят распространяемые поставщиками бесплатно. Тем не менее по-прежнему сохраняются некоторые отрицательные моменты, характерные для открытого ПО. «Когда разработчик ставит целью разобраться в технологии, тогда открытый инструментарий очень хорош, — говорит Гулд. — Но если нужно построить прикладную систему, необходим такой уровень поддержки, который обеспечивают коммерческие продукты».
Насколько рискованно использование открытого XML-инструментария? «Смотря какой инструментарий. При использовании XML-анализатора его некорректная работа приведет к потере времени, не более того», — говорит Бэри. Но если речь идет о хранении данных, то ситуация меняется полностью: «Отказ системы хранения или повреждение данных ставят вас в рискованную ситуацию.
Возможности для усовершенствований
Несмотря на многочисленные анонсы новых средств для XML, далеко не все ниши этого рынка заняты. Один из инструментов, который Мэйфилд из Food.com тщетно пытается найти, — это хорошая система для создания таблиц стилей XSL: «Мне хотелось бы найти средства, упрощающие использование таблиц стилей. Они избавили бы нас от написания специального кода для конкретных видов браузеров».
Что же касается будущего XML, то, по мнению Гулда, через два года, когда соответствующими организациями будут выработаны основные стандарты, рынок сильно изменится. «У XML будет настолько универсальная поддержка, что необходимость в отдельных продуктах для XML исчезнет, — считает он. — Когда заработают стандарты в области XML, этот язык станет менее заметным глазу, но зато более распространенным». Появится большое количество серверных продуктов, способных запоминать и извлекать XML-тексты автоматически. «XML окажется настолько глубоко встроен в основные средства разработки приложений, что у производителей исчезнет необходимость разбираться в низкоуровневых деталях его синтаксиса», — добавляет он.
Пегги Кинг — журналистка из Окленда. К ней можно обратиться по адресу: peggyking@aol.com