Міфи і реальності XML

Сергій Кузнєцов, ІСП РАН, Центр інформаційних технологій
www.citforum.ru

Людям властиво вірити у філософський камінь. Ось-ось хтось його винайде, і все життя зміниться. Так відбувається і в світі інформаційних технологій. Згадаймо, наприклад, коротку, але яскраву історію Java-технологій. У 1995 р. мені довелося бути присутнім на дводенній конференції, організованою компанією Sun Microsystems спеціально для журналістів. Формально конференція присвячувалася випуску першого мікропроцесора серії UltraSparc. Фактично більшу частину часу зайняло представлення нового об'єктно-орієнтованої мови Java. Тоді мене вразило виступ Білла Джоя, який сказав, що створення цієї мови є головним досягненням в його житті, і що нарешті-то відкриваються реальні можливості організації та доступу в Internet мультимедійної інформації. Напевно, всі пам'ятають, скільки сил і коштів витратила Sun, щоб переконати розробників програмного забезпечення повністю перейти на використання мови Java.

Сьогодні вже зрозуміло, що Java-технології (зокрема, JavaBeans і Jini) є ще одним набором інформаційних технологій, який придатний і вигідний для використання в одних ситуаціях і не приносить успіху в інших випадках. Більше того, мені не відомі випадки, коли серйозні інформаційні системи створювалися б на основі тільки цих технологій без залучення існували раніше або які виникли паралельно (Щоб більше не відволікатися від теми, не буду приводити конкретні приклади).

Тепер багатьом здається, що XML врятує світ і приведе до нової епохи інформаційного благоденства. Можливо, воно й так, але щось я в цьому сумніваюся. Перерахую деякі міфи, які виникли навколо XML:

Міф перший. XML повністю змінить життя в Internet, забезпечивши, нарешті, єдиний світовий інформаційний простір.

Міф другий. XML стане єдиним загальноприйнятим стандартом подання інформації в системах електронного бізнесу (як B2C, так і B2B).

Міф третій. Засновані на XML системи баз даних за рахунок своєї більшої гнучкості витіснять реляційні та інші системи.

Цей список наявних міфів можна продовжувати, але для наших цілей їх вистачить. У міфи хочеться вірити. Але щось рідко зустрічаються випадки, коли сліпа віра давала хороші результати. З іншого боку, в кожному міфі є частка реальності. Обговоримо, чому міфічного "наведені вище висловлювання і яка їхня реальна складова.

Міф перший (спростування). Що нас сьогодні не влаштовує в Internet? (Я не буду говорити про технічні труднощі.) Фактично, сьогодні Всесвітня Павутина нагадує джунглі, де, звичайно, можна пробратися від будь-якого заданого місця до будь-якого іншого, але якщо метою походу в джунглі є пошук конкретного виду орхідей, то далеко не факт, що подорож завершиться успішно. Звичайно, крім явної навігації за гіперпосиланнями (ліан, що охоплює всі джунглі) в Internet є ряд пошукових машин (не знаю прямого аналога в джунглях). Але всі знають, що всі ми маємо право шукати в Internet, але не маємо гарантій того, що знайдемо бажане (навіть якщо воно реально існує).

Міф полягає в тому, що якщо перейти від плоских файлів HTML до напівструктурованих файлів XML, то можливості релевантного пошуку різко покращаться. За кожним міфом варто реальність. Дійсно, повністю переробивши весь Internet на XML, вирішивши масу проблем уніфікованого представлення метаінформації, створивши принципово нові пошукові машини, можна теоретично принципово поліпшити життя в Internet. Але все-таки це міф. Міф, тому що переважна більшість постачальників інформації в Internet не зацікавлене в тому, щоб ця інформація легко знаходилася через універсальні пошукові машини. Реальність полягає в тому, що в Internet з'являться тематично орієнтовані острівці, знаючи про які, ви дійсно можете знайти будь-яку інформацію з даної тематики. Але навіть ця реальність – це не реальність сьогоднішнього дня. Але я в неї вірю.

Міф другий (спростування). Якщо перший міф властивий нещасним користувачам Internet, то другий дуже сильно роздувається за рахунок зусиль відділів маркетингу виробників апаратури і програмного забезпечення. Подивіться, як здорово вийшло. Майже одночасно виникли два незрозумілих, але привабливих терміна – "електронний бізнес" і "XML". І солідні компанії говорять вам, що електронний бізнес гарантує вашої власної компанії абсолютне процвітання, але цей бізнес можна засновувати тільки на продуктах, які базуються на XML. Хороший маркетинговий хід, мені він і самому подобається. Але в чому полягає реальність?

А вона полягає в тому, що для досягнення реального успіху в електронному бізнесі при створенні відповідної системи потрібно вирішити масу завдань, які не мають ніякого відношення до XML. XML не може претендувати навіть на роль стандарту подання інформації, оскільки майже завжди поряд з наявністю нових XML-баз даних розумно припустити існування традиційних структурованих баз даних. Так у чому ж полягає реальність? Вона полягає в тому, що в електронного бізнесу як правило дійсно потрібна можливість зберігання і вибіркі даних, які не є повністю структурованими. Так, на сьогодні найкращим кандидатом для подання даних є XML, але є безліч невирішених (або вирішених погано) проблем, що заважають використанню цієї мови.

Міф третій (спростування). Давайте згадаємо, звідки є пішли бази даних. А звідти, що за наявності тільки файлових систем (з яких і почалося управління даними у зовнішній пам'яті) структуру даних (Бухгалтерських, банківських, систем резервування тощо) доводилося підтримувати в прикладній програмі. А якщо їх більше однієї? Як контролювати узгодженість? Я ж не буду говорити про цілісність даних, можливість багатокористувацького доступу, транзакційні управління, журналізація змін і відновлення після збоїв і т.д. Міфічність того, що бази даних, засновані на XML, витіснять традиційні бази даних, для мене очевидна. Є маса прикладних областей, в яких потрібні саме структуровані, а не напівструктурованих дані. Для них потрібні і будуть потрібні традиційні бази даних зі структурованою схемою.

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

Хочу посилити свою позицію і заявити про те, що, на мою думку, розумно використовувати будь-яку технологію, пов'язану з XML, можна тільки в комбінації з іншими технологіями. Наведу кілька прикладів.

У певному сенсі XML аналогічний мові асемблера. Припустимо, що нам потрібно спроектувати деяку XML-базу даних. (Якщо ви думаєте, що для таких баз даних фаза проектування не потрібно, то глибоко помиляєтеся.) Один з підходів полягає у використанні UML (Unified Modeling Language). Існує де-факто стандарт відображення UML в XML. Є відповідна промислова підтримка.

Коли мені кажуть, що MS Explorer тепер підтримує XML, я голосно сміюся. Очевидно, що стандартний браузер розуміє тільки підмножина XML, а певні користувачами теги просто ігнорує. Наскільки я розумію, можливі два рішення для забезпечення адекватного сприйняття XML-документів на стороні користувача. Перший (очевидний) підхід – створення спеціалізованих браузерів, які розуміють сенс DTD заданого набору XML-документів. Другий підхід полягає у використанні Java-аплетів. Він універсальний і забезпечує можливість правильної роботи з XML-документами з будь-якого стандартного браузера.

Якщо виникає бажання створити на основі XML розподілену інформаційну систему, то, звичайно, буде потрібно використання додаткового програмного забезпечення проміжного рівня (middleware). Для мене краще була б CORBA, але можливі рішення і на основі COM / DCOM або RMI.

Нарешті, я глибоко впевнений, що які б нові мови запитів не були придумані для XML-баз даних, буде жити мову SQL. Рано чи пізно знадобиться реалізувати SQL для роботи з XML-базами даних, що володіють реляційної структурою. Тоді і стане в нагоді інженерія традиційних SQL-орієнтованих СУБД.

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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*