Большое количество систем, стандартов и технологий, о которых мы говорили ранее, приводит к тому, что эффективно связать разные источники данных в одну систему не получается. Даже такие, казалось бы, однородные источники, как системы управления базами данных, применяют языки запросов и форматы представления выбираемой информации, которые редко полностью совместимы между собой. Как следствие, проекты интеграции в таких условиях требуют больших усилий — требуется вникать в детали различных баз данных, протоколов, операционных систем и так далее.
В результате интеграция нескольких приложений или систем реализуется по схеме, показанной на рис. 1.4.
Рис. 1.4. Типичная схема интеграции нескольких приложений
Несложно оценить трудозатраты подобного рода проекта. Заставить разные системы работать вместе — чрезвычайно трудоемкая задача.
Идея использования XML в интеграции информационных систем сводится к созданию общего XML- языка, которым могла бы пользоваться каждая из них.
Такое решение сразу же намного упрощает проект — ведь вместо реализации взаимодействия между каждой парой систем следует всего лишь научить каждую из них 'говорить' на созданном XML-языке. Иначе говоря, все сводится к разработке нескольких врапперов (англ. wrapper — упаковщик, программное средство создания системной оболочки для стандартизации внешних обращений и изменения функциональной ориентации действующей системы), которые будут переводить со стандартного XML-языка интегрированной системы на язык, понятный каждой системе в отдельности.
В принципе, интеграция по XML-схеме (рис. 1.5) не отличается коренным образом от интеграции на основе любого другого общего стандарта. Вместе с тем, она имеет целый ряд весомых преимуществ:
□ XML-языки не зависят от аппаратных и программных платформ, что позволяет связывать разнородные системы;
□ выразительная мощность XML достаточно велика для того, чтобы описать данные практически любой сложности;
□ средства разработки и стандартные библиотеки для XML существуют практически на всех платформах и для большинства популярных языков программирования;
□ методы работы с XML достаточно стандартны для того, чтобы в разных системах можно было пользоваться одинаковыми приемами;
□ информация, оформленная в виде XML, может обрабатываться не только машинами, но и человеком (что намного облегчает отладку).
Рис. 1.5. Интеграция на основе XML
Краткая история XML
XML основывается на принципах и соглашениях двух существующих языков разметки, XML и SGML, каждый из которых получил широкое распространение и успешно использовался для решения своего круга задач.
Несмотря на то, что идеи обобщенной разметки начали появляться еще в 60-х годах, SGML (standard generalized markup language, стандартный язык обобщенной разметки) был ратифицирован Международной Организацией Стандартизации (ISO) только в 1986 году. Возможно, будет показательным тот факт, что SGML не требовал изменений в течение, практически, 10 лет — настолько мощным инструментом он был.
Вместе с тем, на определенном этапе мощь SGML стала становиться препятствием — этот язык был настолько сложен, что поддержка в приложениях даже основного его подмножества оказалась непростой задачей. Это сказывалось на скорости разработки, стабильности и стоимости приложений, и потому, все больше и больше экспертов высказывались за упрощение этого языка.
Примерно в то же время произошел квантовый скачок в другой области информационных технологий. Развитие сетевых технологий вывело инфраструктуру обмена информации на качественно новый уровень, произведя на свет глобальную сеть Интернет. Интернет, в свою очередь, стал платформой для обмена гипертекстовыми документами, которые также нуждались в простом стандартном языке разметки для базового форматирования текста, создания таблиц и гиперссылок. Для этих целей был разработан HTML — язык разметки гипертекста (hypertext markup language).
HTML основывался на синтаксисе SGML, принципы этой технологии были практически проигнорированы. Только намного позже HTML стал SGML- совместимым языком. Ограниченность и нерасширяемость HTML вела к тому, что производители браузеров (программ просмотра) вводили собственные, в большинстве случаев несовместимые, расширения, что в итоге привело к довольно плачевной ситуации в этой области.
Потребность в улучшении HTML совпала с потребностью в упрощении SGML. В 1996 году Консорциум W3 (World Wide Web Consortium, W3C) поддержал группу Web SGML Activity, задачей которой было создание нового языка разметки, более мощного, чем HTML, но более простого, чем SGML.
Разработка началась с определения десяти положений, которым должен был соответствовать новый язык. Хотя эти положения и не являются определяющими для уже созданного языка, они все еще включаются в официальную спецификацию XML (п. 1). Думается, будет довольно интересно сравнить первоначальные устремления с тем, что получилось на самом деле. Попытаемся подробнее рассмотреть десять положений XML.
1.
2.
3.
4.
5.
6.
7.
8.
9.