Можливості xml, навіщо потрібен xml
Навіщо потрібен XML
Web - це дивовижне місце, де мільйони людей щодня можуть зв'язуватися один з одним. Зовсім не важливо, де вони знаходяться - Web не знає фізичних кордонів. Незважаючи на всі чудеса, які пропонує Web, його широке поширення могло б привести до хаосу, якби не були встановлені стандарти або правила взаємодії в цій безмежній мережі. Саме з цієї потреби в стандартизації розвинувся спочатку HTML, а потім і XML.
HTML спочатку забезпечував стандарт, що дозволив легко створювати Web-сторінки на базі однієї платформи, розміщеної на сервері, а переглядати - на різних платформах. HTML, формати файлів зображень GIF, а потім JPEG створили можливість взаємного обміну документами і графічною інформацією, а також забезпечили функціональну сумісність між різними операційними системами, браузерами і комп'ютерами. Незважаючи на всю його славу і простоту використання (як в світі розробки, так і в світі призначених для користувача інтерфейсів), HTML хоча і необхідний для відображення інформації, але володіє, щодо недостатніми можливостями за поданням структурованих даних. Крім того, в HTML майже відсутній механізм віддаленого управління даними. Все що забезпечує HTML, це візуальний рівень, що надає користувачеві можливість доступу до тексту і зображень, а також навігацію в одному напрямку до іншого документа, який містить текст або зображення.
HTML не забезпечує ніяких стандартів на ту частину комунікаційного рівня Internet, яка займається візуальним представленням інформації. Припустимо, ви хочете знайти сайт. Оскільки стандартів на інтелектуальний пошук інформації в даний час немає, то ви будете раді будь-якій технології, запропонованої розробником сайту. Також немає стандарту для обміну даними. Ви можете використовувати протокол передачі файлів (File Transfer Protocol, FTP) для пересилки даних. Але роблячи так, ви не тільки виходите за межі володінь Web, але і обмежуєтеся лише єдиним напрямком, в якому буде здійснена пересилання даних. Справжній обмін даних повинен бути двостороннім, дозволяючи здійснювати пересилання в Web. Такі продукти, як NetMeeting або Virtual Private Network фірми Microsoft можуть використовувати Internet для обміну даними, але при цьому в них застосовуються власні, приватні протоколи і методи обміну даними.
Незважаючи на властиві їм обмеження такі системи яскраво демонструють потенційні можливості Internet, зокрема в тому, як можна забезпечити в Web персоналізацію та обмін між локальної та дистанційної системами. Однак, для того щоб ці можливості охопили співтовариство розробників Internet, необхідно просунутися далі простого інформаційного доступу та відображення, пропонованого сучасним стандартом HTML. Замість цього Microsoft слід розробити такий стандарт подання інформації, щоб програмне забезпечення ефективніше здійснювало пошук, переміщення, відображення даних.
Якщо ви вже працювали в HTML, то знаєте, що він не забезпечує перераховані можливості, а, головним чином, описує, як повинна виглядати Web-сторінка, а не те, як повинні бути представлені дані. Вивчивши обмеження HTML, ви зрозумієте, що в буквальному сенсі неможливо за допомогою одного лише HTML забезпечити стандартний спосіб обміну для деяких типів спільно використовуваних даних.
Наприклад, в страхових компаніях це наступна інформація про клієнтів:- Дані про декодуванні і обробці електронних платежів.
- Інформація про правових спорах, якою обмінюються адвокати, суди, судді, а також сторони у судовій справі.
- Спільно використовувані дані про призначення пацієнтам, обміні ліками, між лікарями і фармацевтами.
- Дані, що містяться в каталогах компаній, які використовуються клієнтами і продавцями, що дозволяють поміщати і приймати замовлення, переглядати каталог, а також дані замовлень.
Ви вже зустрічалися з чимось подібним в Web і, ймовірно, думаєте: "чому це HTML не може управляти обміном такого роду даних?" Так, обмін такими даними відбувається, проте не HTML керує всім цим. Він лише відображає результати пошуку або форми, які повинні надсилатися віддаленого скрипту стандартного інтерфейсу шлюзу (Common Gateway Interface, CGI) або базі даних. На деяких сайтах для інтерфейсу з базами даних Access, ймовірно, використовують Cold Fusion, на інших, - можливо, Perl. Але головне, що немає єдиного стандарту, і HTML сам по собі не в силах виконати жодного з перерахованих пунктів.
Web потребує мовою, подібному HTML, який би забезпечував стандартний спосіб обміну даними. Ця мова має бути досить гнучким, щоб користувачі могли створювати, власні опису документів, незалежно від того, відправляється чи інформація про електронні платежі, або ж стандартні пошукові запити. XML є найостаннішим створеним мовою розмітки в Web, призначеним для обміну даними. Ця нова мова розмітки заснований на специфікації, наміченої консорціумом W3C - організацією стандартів Web, виконання якої реалізують і Microsoft і Netscape. Стандарт XML був створений на основі узагальнення пропозицій Microsoft, ArborText, Netscape та інших.
XML сьогодні
Ось реальний, хоча і трохи футуристичний приклад. Уявіть, що ви власник ресторану і меню зберігається в базі даних. У вас є спеціальні пристрої для відображення меню, такі маленькі, що уміщаються на долоні пристрої, якими ви забезпечили всіх своїх клієнтів. У офіціантів є пристрої такого ж типу для прийому замовлень. Замовлення передаються на кухонний приймальний модуль, який відображає замовлення. Коли кухар готує м'ясо, він викреслює його зі списку спеціальним пером.
Ресторан обслуговує тих, хто бере їжу в дорогу, а також тих, хто робить замовлення з доставкою. Вони отримують інформацію про найдешевших пропозиціях і решти меню на сайті ресторану. Деякі ваші клієнти люблять підписуватися на канал Daily Specials, встановлений за допомогою інструменту Channels в Internet Explorer, а це значить, що ваша база з даними меню буде дуже інтенсивно використовуватися. Ця база даних служить також для управління запасами. Коли хтось замовив м'ясо, і кухар викреслив виконаний замовлення, оскільки блюдо приготовлено і залишено, негайно ж будуть відкориговані дані по запасах. Застосування додаткових інструментів автоматизації дозволить автоматично формувати замовлення постачальникам, коли запаси почнуть вичерпуватися.
Саме XML забезпечує структурне уявлення даних. Ось фрагмент коду, який допоможе пояснити це:
ltMEALgtltENTREEgtChicken Cordon Bleult / ENTREEgtlt / MEALgt
Тут: Meal - їжа, Entree - основне блюдо за обідом, Chicken Cordon Bleu - курча "кордон бле".
Цей приклад підходить для індустрії продуктів і напоїв, але що якщо користувач хоче застосувати XML для опису та відстеження медичних даних, наприклад, призначень? Оскільки XML дозволяє створювати власні елементи, що відповідають конкретним потребам, то цілком можна визначити елементи, що представляють такі поняття, як дозування, загальні назви ліків, імена докторів і пацієнтів і т. Д. XML дозволяє створювати документи, що містять терміни та визначення, відповідно до конкретними побажаннями користувачів. Специфікації, які застосовуються для опису документів, можна поміщати в опис типу документа (Document Type Definition, DTD) - окремий документ, що встановлює структуру XML-документа. DTD можна помістити безпосередньо в сам документ.
Оскільки самі дані відокремлені від інформації про їх подання, одні і ті ж дані XML (будь то кулінарне меню або призначення лікаря) можуть бути представлені по-різному на екранах комп'ютерів користувачів. Вони можуть бути відображені також на екрані пристрою, вміщається в руці. Сам по собі XML-документ не вказує, чи буде, і яким чином, інформація відображена на екрані. XML-документ містить лише дані. За допомогою механізму таблиць стилів HTML відображає дані. Як Web-сервер, так і браузер управляють перетворенням XML-даних в формат HTML. До того ж дані XML можуть оновлюватися автоматично, без оновлення всієї сторінки в цілому. Таке фрагментарне оновлення XML робить HTML-сторінки більш ефективними і динамічними.