Статья только в электронной версии журнала

Статья только в электронной версии журнала

         

Язык “Всемирной паутины” помогает корпоративным приложениям легко обмениваться данными независимо от их исходного формата

Тимоти Дик (PC Week Labs)

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

Язык XML (Extensible Markup Language - расширяемый язык разметки) новым назвать трудно - он был рекомендован Консорциумом WWW еще в феврале 1998 г. В его основу была положена текстовая структура, оказавшаяся очень понятной и удобной в использовании. Работа была сделана на совесть: прошло уже почти два года, но XML по-прежнему остается свободным от проблем совместимости, буквально преследующих HTML.    

Язык быстро привлек внимание специалистов целого ряда отраслей, включая здравоохранение и финансы. В результате проведенной за последние несколько месяцев работы (ее координация осуществлялась через такие Web-узлы, как xml.org) удалось значительно упростить обмен данных. В автомобильной индустрии, скажем, XML используется для обмена информацией между поставщиками комплектующих, а отделы кадров прибегают к его помощи для хранения и систематизации резюме кандидатов. Более того, во многих случаях этот язык устраняет необходимость промежуточного преобразования документов, так как компании могут использовать единый XML-формат.

На сегодняшний день XML - лучшая технология взаимодействия компаний между собой, особенно если информация передается по безопасным каналам вроде виртуальных частных сетей или подключений на основе протокола SSL (Secure Sockets Layer - уровень защищенных гнезд).

Правда, для внутрикорпоративных систем он подойдет едва ли. Здесь более высокие результаты дает применение таких технологий, как CORBA (Common Object Request Broker Architecture - общая архитектура посредника запросов к объектам) и DCOM (Distributed Component Object Model - распределенная модель составных объектов), которые лучше приспособлены для проводных каналов, обеспечивают безопасность и типизацию данных.

К недостаткам XML следует отнести также невозможность проверки ошибок в данных. Это довольно странно, особенно если вспомнить, насколько тщательно язык проверяет структуру самого документа. Впрочем, в начале следующего года Консорциум WWW намерен принять стандарт XML Schema, который решит проблему ввода в XML понятия типов данных.

Еще одним важным дополнением XML должен стать разрабатываемый сейчас стандарт под названием XSL (Extensible Stylesheet Language - расширяемый язык стилевых таблиц). Его утверждение также ожидается в следующем году, после чего у компаний появится возможность автоматически изменять способ отображения документов XML на экране компьютера для наиболее полного соответствия внутренним стандартам. К примеру, с помощью XSL не составит труда отобразить полученный извне заказ в виде, принятом в онлайновом магазине.

К сожалению, для рядовых пользователей XML остается практически неизвестным. На сегодняшнем рынке имеется один-единственный коммерческий браузер, способный “общаться” на этом языке, - Internet Explorer корпорации Microsoft. Правда, и здесь есть одно “но”. Вместе с этим языком IE поддерживает версию XSL, несовместимую с той, которая заложена в проект стандарта. В этом мы убедились, когда полностью провалилась наша попытка просмотреть XML-документы, опубликованные на Web-узле w3.org. Представители Microsoft заверили нас, что после окончательного одобрения стандарта XSL корпорация внесет необходимые изменения и обеспечит полную совместимость Internet Explorer с новой спецификацией.

Как ни обширны возможности XML по налаживанию взаимодействия между платформами и моделями, они почему-то не вызвали особого ажиотажа среди производителей. На рынке пока можно встретить считанные единицы серверов и средств разработки приложений, поддерживающих этот язык. Среди немногих пионеров назовем корпорацию IBM и фирму Bluestone Software, чьи Web-серверы способны “понимать” XML.

Несколько лучше складывается ситуация в области баз данных. Обеспечить поддержку языка в своих СУБД в ближайшие месяцы намерены IBM, Oracle и Sybase, а Microsoft даже опубликовала во “Всемирной паутине” предварительную версию XML-компонента для своих баз данных.

“Мы прекрасно понимаем значение этого языка для интеграции бизнеса”, - утверждает Мари Уик, директор IBM по технологии XML. По ее словам, работой над связанными с XML проектами в IBM занимаются свыше 500 служащих, которые закладывают его поддержку во все серверные продукты корпорации.

Добавляя XML-возможности в уже развернутые серверные СУБД, производители не только помогают своим клиентам снизить затраты на организацию взаимодействия с заказчиками и партнерами, но и ускоряют появление новых продуктов на рынке.

Широкомасштабный выход XML в глобальное пространство данных вполне обоснован с технической точки зрения. Главное здесь - простота. Основу XML-данных составляет чистый текст, не привязанный ни к каким языкам программирования и платформам. Такая структура уходит корнями в мир управления документами. В основу XML положена спецификация Международной организации по стандартизации (ISO) под названием SGML (Standardized Generalized Markup Language - стандартизованный язык обобщенной разметки документов). В середине 80-х годов этот универсальный формат документов получил широчайшее распространение в издательствах, практически вытеснив все другие. К отличительным чертам SGML следует отнести мощь, почти безграничные возможности адаптации и ужасную трудность.

По словам Уик из IBM, язык XML на 80% состоит из полезных функций SGML и на 20% - из его сложности, но в итоге вобрал в себя все самое лучшее. Кстати, по сравнению со спецификацией SGML описание XML 1.0 может показаться образцом лаконичности: оно занимает всего 36 страниц.

Чтобы в полной мере осознать простоту документа XML, достаточно просмотреть его в текстовом редакторе. Здесь вы найдете лишь теги, заключенные в угловые скобки, и данные между ними, представляющие собой самый обычный текст.

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

Например, в XML каждой угловой скобке, открывающей тег, непременно должна соответствовать такая же закрывающая скобка, а отсутствующие данные - обязательно заменяться тегами с нулевыми значениями. Столь суровые требования к форматированию гарантируют простоту построения программ, манипулирующих XML-конструкциями. Все это выгодно отличает XML от HTML, многозначность которого самым печальным образом сказалась на совместимости Web-приложений.

Простота разметки XML позволяет обмениваться документами этого формата с помощью любых средств, пригодных для пересылки чистого текста: непосредственно через Интернет по протоколу НТТР, в сообщениях электронной почты, по каналам FTP. Если канал достаточно надежен и безопасен, XML может в полной мере удовлетворить самый широкий спектр требований, предъявляемых к связи между компаниями.

И кое-что еще...

В дополнение ко всему строгие рамки XML значительно упрощают взаимодействие систем различных производителей. “Мы в полной мере удовлетворены этим стандартом. Совместимость его практических реализаций не вызывает ни малейших нареканий, - констатирует Тим Брей, один из авторов спецификации XML 1.0. - Залогом успеха, на мой взгляд, стало то, что мы создали его быстро и своевременно, предусмотрев при этом очень жесткие ограничения”.

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

Достоинства XML во многом определяются его текстовым форматом, который делает этот язык очень простым и общедоступным. Но и здесь кроется опасность: если попытаться преобразовать в формат XML бинарный файл с очень малой избыточностью, он раздуется до невероятных размеров и станет напоминать Зефирного гиганта с детской ухмылкой из фильма “Охотники за привидениями”.

Этот вопрос, в частности, рассматривался в ноябре 1999 г. на конференции XML One. Кен Норт, возглавлявший секцию “Применение XML в электронной коммерции”, рассказал нашему корреспонденту, что файл EDI (Electronic Data Interchange - электронный обмен данными) размером в 1 Кб при преобразовании в соответствующий формат XML/EDI разрастается до 11 Кб.

Значительно уменьшить размер XML-сообщений мог бы механизм сжатия наподобие того, что предусмотрен в стандарте НТТР 1.1. Подобное средство более чем необходимо, ибо какой администратор захочет заполнять дисковое пространство своих серверов гигантскими файлами-мутантами?

Со старшим техническим аналитиком Тимоти Диком можно связаться по адресу: timothy_dyck@zd.com.    

XML упрощает взаимодействие объектов в распределенных архитектурах

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

Распределенная модель составных объектов DCOM, предложенная корпорацией Microsoft, и разработанный рядом производителей стандарт CORBA (Common Object Request Broker Architecture - общая архитектура посредника запросов к объектам) представляют собой две разные распределенные компонентные архитектуры. Другими словами, их главная задача - помочь компьютерам находить и запускать компоненты (коды программ, выполняющих конкретные задачи) на удаленных машинах.

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

Навести мосты между двумя направлениями попыталась Microsoft, предложив для этого протокол SOAP (Simple Object Access Protocol - простой протокол доступа к объектам). Ее новая технология предполагает использование меток XML вместе с программными агентами DCOM и CORBA.

SOAP уже стал одним из ключевых элементов распределенной сетевой архитектуры Windows DNA 2000, которую корпорация рассматривает как стандартную среду следующего поколения. Передача сообщений здесь производится по протоколу TCP, взаимодействие между сетевыми узлами - по протоколу НТТР, а языку XML отводится роль платформно-независимого средства форматирования содержимого. Что же касается SOAP, то в этом протоколе теги данных XML используются для описания запросов и ответов, которыми обмениваются программные объекты, разнесенные по различным элементам сети. В сентябре Microsoft представила документы по SOAP Консорциуму WWW на одобрение.

Связующим звеном между DCOM и CORBA на основе протокола XML может стать и технология XML Metadata Interchange (обмен метаданными XML), предложенная группой управления объектами Object Management Group. Ее предварительная версия уже нашла применение в сервере приложений WebSphere 3.0 корпорации IBM.

В распределенных средах, где используется XML, объекты взаимодействуют между собой посредством простых текстовых сообщений. При этом можно использовать запросы и ответы стандартных форматов, на каждом конце подключения, пересылая их компонентам или “посредникам запросов”. Здесь пригодна как модель DCOM, обеспечивающая очень высокую производительность в средах Microsoft, так и технология CORBA, специально созданная для разнородных сетей большой протяженности. Таким образом, XML избавляет администраторов от непростого выбора между CORBA и DCOM. Питер Коффи    

 

Ключевые компонентные технологии

4CORBA: для распределенных, гетерогенных сетей

4DCOM: для Windows-сетей на базе высокопроизводительных каналов связи

4XML: для межплатформного взаимодействия

Версия для печати