История XML

Короткая история XML


Все началось в 60-е годы, когда корпорация IBM развернула работы над обобщенным языком разметки (Generalized Markup Language, GML). Разработчикам был необходим простой способ описания и обмена документами. Процесс создания и воплощения в жизнь такого языка, который мог бы работать на самых различных платформах, обеспечение ему широкой поддержки, был весьма непростым.

Работа над GML продолжалась многие годы, хотя принятие его не было быстрым и проходило не повсеместно. Затем, в 1986 году Международная организация стандартизации (International Organization for Standardization, ISO) одобрила версию языка, разработанную в IBM, и эта версия в дальнейшем известна как стандартный обобщенный язык разметки (Standard Generalized Markup Language, SGML). Спустя почти 20 лет с момента появления этой концепции SGML применяется во многих сложных документальных системах, поскольку обеспечивает стандартный способ создания, представления и обмена документами между различными пользователями независимо от применяемой ими системы или платформы. SGML также предоставил большим организациям гибкий способ создания собственных форматов документов, который, однако, обладал высоким и не всегда приемлемым уровнем сложности,. Именно это обстоятельство стало источником проблем, главным образом из-за сложности и громоздкости языка, что особенно проявилось при работе над малыми по объему документами.

Дебют Web

Когда в начале 90-х годов Web оказался в центре мирового внимания, SGML был признан как подходящий инструмент разработки подмножества языков разметки, позволяющих создавать Web-страницы. Свойства SGML предоставляют необходимую функциональность для передачи документов совершенно различными системами. Консорциумом World Wide Web был создан язык разметки гипертекстов (Hypertext Markup Language, HTML), являющийся приложением SGML.

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

Однако простота HTML быстро приобретает негативный оттенок. Относительно простые возможности, ориентированные на работу с текстом, а также функции связывания (linking options) — все это было приемлемо на ранних этапах развития Web. Но в середине 90-х, с падением цен на компьютеры, с оснащением большего числа систем средствами для работы с мультимедиа, стала проявляться ограниченность HTML. Разработчиков все меньше стали удовлетворять возможности этого языка и существующих Web-браузеров. Возникла потребность в создании, усовершенствовании и применении все более сложных возможностей для работы с Web-страницами. Разработчики желали видеть Web неким универсальным входом, открывающим доступ ко всему и вся — от баз данных к видеокамерам, от видео- к радиостанциям. Осознавая новые потребности, производители браузеров стали быстрыми темпами создавать собственные наборы тегов и другие дополнения, например, интегрированные программные модули (plug-ins), расширяющие возможности браузеров.

Производители браузеров — Netscape и Microsoft — начали внедрять собственные наборы тегов непосредственно в операционные системы. Создалась мешанина из различных конструкций для работы в Web, доступных для просмотра то в одном, то в другом браузере. Бурный процесс модификации стандарта HTML создавал ограничения для разработчиков, вынужденных следовать всем новшествам. Это создало сложности также и для пользователей, желающих иметь доступ к информации в глобальной сети независимо от используемых браузеров и компьютеров. Многие сайты перестали быть совместимыми со стандартными браузерами. Пользователи были буквально ошарашены тем, что многие страницы не могли быть правильно загружены, либо полностью выводили из строя их компьютеры. Вскоре все эти ограничения, обусловленные несовместимостью, исчерпали жизненные силы HTML.

Почему же HTML, являющийся подмножеством SGML, в большой мере совместимый с ним, не смог противостоять натиску этих обстоятельств? Прежде всего потому, что, в отличие от SGML, HTML не был расширяемым языком. У него не было возможности для роста, что в компьютерном мире является сигналом почти неотвратимой гибели. Конечно, производители браузеров, такие как Netscape и Microsoft, могут добавлять собственные теги. Однако вы, как разработчик, при этом должны выбрать: применять HTML и специальные теги, зависимые от конкретного браузера, или создавать сценарии подключенные к внешним ресурсам.

Некоторое время HTML справлялся с отображением простых страниц, но все же он далек от того чтобы обеспечить истинное отображение компоновки страниц на экране. Он не позволяет структурировать документы в соответствии с желанием разработчика. Можно использовать Java, JavaScript или же Active Server Pages, но и в этом случае разработчик вынужден следовать тому, что продиктовано другими; он не будет властен над судьбой собственного творения.

Проблема не в том, кто из производителей победит в войне браузеров. Мир никогда не был, и никогда не будет готов предоставить полное управление развитием Web в руки единственного поставщика программного обеспечения, — это означало бы буквально конец новаторства. К чему заниматься исследованием, разработкой и созданием нового, если нет соревнования и необходимости удержаться на острие прогресса? Нет, лучший путь решения проблемы — в применении расширяемого, развивающегося, гибкого языка разметки, в котором были бы воплощены многие из лучших возможностей SGML в сочетании со всеми полезными функциями HTML. Лучшее решение заключается в создании чего-то промежуточного между SGML и HTML. Эта роль принадлежит XML.

Начало XML

Начало XML было положено в 1996 году. Гуру издательского дела и мудрецы Web собрались вместе с целью создания подмножества SGML, предназначенного специально для работы в Web. Это подмножество получило название расширяемого языка разметки (extensible Markup Language, XML) — расширяемый (extensible) означает способный к развитию (expandable) — таким образом, в нем используются все преимущества структурной разметки и нет той сложности, которая присуща SGML.

Первый рабочий проект спецификации SGML был опубликован в ноябре 1996 года. Спустя некоторое время, в январе 1997 года появился первый анализатор XML, а в марте 1997 года начали выходить в свет первые приложения XML, и среди них — Lark. Затем, осенью, поддержка XML была реализована в браузере корпорации Microsoft. Наконец, в феврале 1998 года была опубликована рекомендация XML 1, и стала расти поддержка этого нового языка.

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

XML является также многообещающим инструментом для intranet-технологий, поскольку позволяет разработчикам строить связи с базами данных, независимые от используемых систем. И что самое важное, средствами XML можно создавать различные структуры данных по заказу, для конкретных нужд отдельных отраслей. Эти структуры и базы данных можно просматривать при помощи всевозможных устройств отображения, не встраивая для этого специальные заказные интерфейсы, обеспечивающие просмотр одних и тех же данных на разных устройствах. В итоге, на сайтах больше не будет предупреждающих сообщений типа: "Для полноценного просмотра данных рекомендуется использовать браузер Netscape" (или Internet Explorer). Напротив, любой браузер, в котором предусмотрена поддержка XML, сможет обрабатывать и отображать данные, созданные при помощи XML.

<< назад | содержание | вперед >>