что такое атрибут xml
Эта глава описывает о атрибутах XML. Атрибуты часть элементов XML. Элемент может иметь множественные уникально атрибуты. Атрибут дает больше информации о элементах XML. Для того чтобы быть точне, они определяют свойства элементов. Атрибут XML всегда пара им-значения.
Синтаксис
Атрибут XML имеет следующий синтаксис:
где attribute1 и attribute2 имеют следующее сформировать:
значение должно находиться в двойном («») или определиться (») цитаты. Здесь, attribute1 и attribute2 уникально ярлыки атрибута.
Атрибуты использованы для того чтобы добавить уникально ярлык к элементу, устанавливают ярлык в категории, добавляют булевский флаг, или в противном случае связывают его с некоторой строкой данных. Следовать пример демонстрирует пользу атрибутов:
Атрибуты использованы для того чтобы различить среди элементов такого же имени. Когда вы не хотите создать новый элемент для каждой ситуации. Следовательно, польза атрибута может добавить немного больше детали в дифференцировать два или больше подобные элементы.
В вышеуказанном примере, мы классифицировали заводы путем включать категорию атрибута и задавать различные значения к каждому из элементов. Следовательно мы имеем 2 категории заводов, одна цветет и другой цвет. Следовательно мы имеем 2 элемента завода с различными атрибутами.
Вы можете также наблюдать что мы объявляли этот атрибут в начале XML.
Типы атрибута
Следовать таблица перечисляет тип атрибутов:
Тип атрибута | Описание | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
StringType |
Правильный запрос | Неправильный запрос |
---|---|
Нет обязательного поля name | |
Опечатка в названии тега (mail вместо email) | |
. | . |
Попробуем написать для него схему. В запросе должны быть 3 элемента (email, name, password) с типом «string» (строка). Пишем:
А в WSDl сервиса она записана еще проще:
Конечно, в схеме могут быть не только строковые элементы. Это могут быть числа, даты, boolean-значения и даже какие-то свои типы:
А еще в схеме можно ссылаться на другую схему, что упрощает написание кода — можно переиспользовать схемы для разных задач.
Практика: составляем свой запрос
Ок, теперь мы знаем, как «прочитать» запрос для API-метода в формате XML. Но как его составить по ТЗ? Давайте попробуем. Смотрим в документацию. И вот почему я даю пример из Дадаты — там классная документация!
Что, если я хочу, чтобы мне вернуть только женские ФИО, начинающиеся на «Ан»? Берем наш исходный пример:
В первую очередь меняем сам запрос. Теперь это уже не «Виктор Иван», а «Ан»:
Далее смотрим в ТЗ. Как вернуть только женские подсказки? Есть специальный параметр — gender. Название параметра — это название тегов. А внутри уже ставим пол. «Женский» по английски будет FEMALE, в документации также. Итого получили:
Ненужное можно удалить. Если нас не волнует количество подсказок, параметр count выкидываем. Ведь, согласно документации, он необязательный. Получили запрос:
Вот и все! Взяли за основу пример, поменяли одно значение, один параметр добавили, один удалили. Не так уж и сложно. Особенно, когда есть подробное ТЗ и пример )))
Попробуй сам!
Напишите запрос для метода MagicSearch в Users. Мы хотим найти всех Ивановых по полному совпадению, на которых висят актуальные задачи.
Well Formed XML
Разработчик сам решает, какой XML будет считаться правильным, а какой нет. Но есть общие правила, которые нельзя нарушать. XML должен быть well formed, то есть синтаксически корректный.
Чтобы проверить XML на синтаксис, можно использовать любой XML Validator (так и гуглите). Я рекомендую сайт w3schools. Там есть сам валидатор + описание типичных ошибок с примерами.
В готовый валидатор вы просто вставляете свой XML (например, запрос для сервера) и смотрите, всё ли с ним хорошо. Но можете проверить его и сами. Пройдитесь по правилам синтаксиса и посмотрите, следует ли им ваш запрос.
Правила well formed XML:
Давайте пройдемся по каждому правилу и обсудим, как нам применять их в тестировании. То есть как правильно «ломать» запрос, проверяя его на well-formed xml. Зачем это нужно? Посмотреть на фидбек от системы. Сможете ли вы по тексту ошибки понять, где именно облажались?
1. Есть корневой элемент
Нельзя просто положить рядышком 2 XML и полагать, что «система сама разберется, что это два запроса, а не один». Не разберется. Потому что не должна.
И если у вас будет лежать несколько тегов подряд без общего родителя — это плохой xml, не well formed. Всегда должен быть корневой элемент:
Нет | Да |
---|---|
Есть элементы «test» и «dev», но они расположены рядом, а корневого, внутри которого все лежит — нету. Это скорее похоже на 2 XML документа | А вот тут уже есть элемент credential, который является корневым |
Что мы делаем для тестирования этого условия? Правильно, удаляем из нашего запроса корневые теги!
2. У каждого элемента есть закрывающийся тег
Тут все просто — если тег где-то открылся, он должен где-то закрыться. Хотите сломать? Удалите закрывающийся тег любого элемента.
Но тут стоит заметить, что тег может быть один. Если элемент пустой, мы можем обойтись одним тегом, закрыв его в конце:
Это тоже самое, что передать в нем пустое значение
Аналогично сервер может вернуть нам пустое значение тега. Можно попробовать послать пустые поля в Users в методе FullUpdateUser. И в запросе это допустимо (я отправила пустым поле name1), и в ответе SOAP Ui нам именно так и отрисовывает пустые поля.
Итого — если есть открывающийся тег, должен быть закрывающийся. Либо это будет один тег со слешом в конце.
Для тестирования удаляем в запросе любой закрывающийся тег.
3. Теги регистрозависимы
Как написали открывающий — также пишем и закрывающий. ТОЧНО ТАК ЖЕ! А не так, как захотелось.
А вот для тестирования меняем регистр одной из частей. Такой XML будет невалидным
4. Правильная вложенность элементов
Элементы могут идти друг за другом
Один элемент может быть вложен в другой
Но накладываться друг на друга элементы НЕ могут!
5. Атрибуты оформлены в кавычках
Даже если вы считаете атрибут числом, он будет в кавычках:
Для тестирования пробуем передать его без кавычек:
Итого
XML (eXtensible Markup Language) используется для хранения и передачи данных.
Передача данных — это запросы и ответы в API-методах. Если вы отправляете SOAP-запрос, вы априори работаете именно с этим форматом. Потому что SOAP передает данные только в XML. Если вы используете REST, то там возможны варианты — или XML, или JSON.
Хранение данных — это когда XML встречается внутри кода. Его легко понимает как машина, так и человек. В формате XML можно описывать какие-то правила, которые будут применяться к данным, или что-то еще.
Вот пример использования XML в коде open-source проекта folks. Я не знаю, что именно делает JacksonJsonProvider, но могу «прочитать» этот код — есть функционал, который мы будем использовать (featuresToEnable), и есть тот, что нам не нужен(featuresToDisable).
Формат XML подчиняется стандартам. Синтаксически некорректный запрос даже на сервер не уйдет, его еще клиент порежет. Сначала проверка на well formed, потом уже бизнес-логика.
Правила well formed XML:
Если вы тестировщик, то при тестировании запросов в формате XML обязательно попробуйте нарушить каждое правило! Да, система должна уметь обрабатывать такие ошибки и возвращать адекватное сообщение об ошибке. Но далеко не всегда она это делает.
А если система публичная и возвращает пустой ответ на некорректный запрос — это плохо. Потому что разработчик другой системы налажает в запросе, а по пустому ответу даже не поймет, где именно. И будет приставать к поддержке: «Что же у меня не так?», кидая информацию по кусочкам и в виде скринов исходного кода. Оно вам надо? Нет? Тогда убедитесь, что система выдает понятное сообщение об ошибке!
Что такое JSON — второй популярный формат
PS — больше полезных статей ищите в моем блоге по метке «полезное». А полезные видео — на моем youtube-канале
чЧЕДЕОЙЕ Ч XML
Doug Tidwell
07 БЧЗХУФБ 2002
уПДЕТЦБОЙЕ
XML, Extensible Markup Language (тБУЫЙТСЕНЩК сЪЩЛ тБЪНЕФЛЙ), РТЕЧТБФЙМУС ЪБ ТЕЛПТДОПЕ ЧТЕНС ЙЪ НПДОПЗП УМПЧЕЮЛБ Ч ОЕПФЯЕНМЕНХА ФЕИОПМПЗЙА ЬМЕЛФТПООПЗП ВЙЪОЕУБ. ч ЬФПН ЪБОПЧП РЕТЕУНПФТЕООПН ХЮЕВОЙЛЕ ПВУХЦДБЕФУС, ЮФП ФБЛПЕ XML, РПЮЕНХ ПО ВЩМ УПЪДБО, Й ЛБЛ ПО ЖПТНЙТХЕФ ЬМЕЛФТПООХА ЛПННЕТГЙА. ъДЕУШ ФБЛЦЕ ТБУУНБФТЙЧБАФУС ТБЪОЩЕ РТПЗТБННОЩЕ ЙОФЕТЖЕКУЩ XML Й УФБОДБТФЩ, Й ЪБЛБОЮЙЧБЕФУС ХЮЕВОЙЛ ДЧХНС РТБЛФЙЮЕУЛЙНЙ РТЙНЕТБНЙ, РПЛБЪЩЧБАЭЙНЙ, ЛБЛ ЛПНРБОЙЙ ЙУРПМШЪХАФ XML ДМС ТЕЫЕОЙС ЪБДБЮ ВЙЪОЕУБ.
тБЪДЕМ 1. пВ ЬФПН ХЮЕВОЙЛЕ
оХЦЕО МЙ НОЕ ЬФПФ ХЮЕВОЙЛ?
ьФПФ ЪБОПЧП РЕТЕУНПФТЕООЩК ХЮЕВОЙЛ ПВУХЦДБЕФ, ЮФП ФБЛПЕ XML, РПЮЕНХ ПО ВЩМ УПЪДБО, Й ЛБЛ ПО ЖПТНЙТХЕФ ЬМЕЛФТПООХА ЛПННЕТГЙА. оБ ЬФПН РХФЙ ПО ФБЛЦЕ ТБУУНБФТЙЧБЕФ ОЕУЛПМШЛП УФБОДБТФПЧ Й РТПЗТБННОЩИ ЙОФЕТЖЕКУПЧ XML, РПЛБЪЩЧБЕФ, ЛБЛ ЧЩ НПЦЕФЕ ОБЮБФШ ТБВПФБФШ У ЬФПК ФЕИОПМПЗЙЕК, Й ПРЙУЩЧБЕФ, ЛБЛ ДЧЕ ЛПНРБОЙЙ НПЗХФ РПУФТПЙФШ ТЕЫЕОЙС ОБ ПУОПЧЕ XML, ЮФПВЩ ХРТПУФЙФШ Й НПДЕТОЙЪЙТПЧБФШ УЧПЙ РТЕДРТЙСФЙС.
тБЪДЕМ 2. юФП ФБЛПЕ XML?
чЧЕДЕОЙЕ
ъБЮЕН ОБН ОХЦЕО XML?
вЕДБ HTML УПУФПЙФ Ч ФПН, ЮФП ПО ВЩМ ТБЪТБВПФБО У РТЙГЕМПН ОБ ЮЕМПЧЕЛБ. дБЦЕ ОЕ РТПУНБФТЙЧБС РТЙЧЕДЕООЩК ЧЩЫЕ HTML-ДПЛХНЕОФ Ч ВТБХЪЕТЕ, ЧЩ Й С НПЦЕН РПОСФШ, ЮФП ЬФП ЮЕК-ФП РПЮФПЧЩК БДТЕУ. (ч ЮБУФОПУФЙ, ЬФП РПЮФПЧЩК БДТЕУ Ч уПЕДЙОЕООЩИ ыФБФБИ; ДБЦЕ ЕУМЙ ЧЩ ОЕЪОБЛПНЩ У ЛПНРПОЕОФБНЙ РПЮФПЧПЗП БДТЕУБ Ч уыб, ЧЩ, ЧПЪНПЦОП, ДПЗБДБЕФЕУШ, ЮФП ЪДЕУШ РТЕДУФБЧМЕОП.)
пФПВТБЦЕОЙЕ HTML
юФПВЩ ПФПВТБЪЙФШ HTML, ВТБХЪЕТ РТПУФП УМЕДХЕФ ЙОУФТХЛГЙСН Ч HTML-ДПЛХНЕОФЕ. фЕЗ РБТБЗТБЖБ (
) УППВЭБЕФ ВТБХЪЕТХ, ЮФП ОХЦОП ПФПВТБЪЙФШ ОПЧХА УФТПЛХ, ПВЩЮОП, У РТПРХУЛПН УФТПЛЙ РЕТЕД ОЕК, Б ДЧБ ФЕЗБ ТБЪТЩЧБ (
) УППВЭБАФ ВТБХЪЕТХ, ЮФП ОХЦОП РЕТЕКФЙ ОБ ОПЧХА УФТПЛХ ВЕЪ РТПРХУЛПЧ НЕЦДХ УФТПЛБНЙ. вТБХЪЕТ РТЕЛТБУОП ЖПТНБФЙТХЕФ ДПЛХНЕОФ, ОП НБЫЙОБ ЧУЕ ЦЕ ОЕ ЪОБЕФ, ЮФП ЬФП БДТЕУ.
тЙУХОПЛ 1 бДТЕУ HTML
пВТБВПФЛБ HTML
юФПВЩ ЪБЧЕТЫЙФШ ПВУХЦДЕОЙЕ РТЙНЕТБ HTML-ДПЛХНЕОФБ, ТБУУНПФТЙН ЪБДБЮХ ЧЩДЕМЕОЙС ЙЪ БДТЕУБ РПЮФПЧПЗП ЛПДБ. чПФ БМЗПТЙФН (РТЙВМЙЪЙФЕМШОЩК) ОБИПЦДЕОЙС РПЮФПЧПЗП ЛПДБ Ч ТБЪНЕФЛЕ HTML:
еУМЙ ЧЩ ОБЫМЙ РБТБЗТБЖ У ДЧХНС ФЕЗБНЙ
, РПЮФПЧЩК ЛПД СЧМСЕФУС ЧФПТЩН УМПЧПН РПУМЕ РЕТЧПК ЪБРСФПК РПУМЕ ЧФПТПЗП ФЕЗБ ТБЪТЩЧБ.
иПФС ЬФПФ БМЗПТЙФН Й ТБВПФБЕФ У ДБООЩН РТЙНЕТПН, ЕУФШ НОПЗП РТБЧЙМШОЩИ БДТЕУПЧ ЧП ЧУЕН НЙТЕ, У ЛПФПТЩНЙ ПО ТБВПФБФШ ОЕ ВХДЕФ. дБЦЕ ЕУМЙ ЧЩ УНПЦЕФЕ ОБРЙУБФШ БМЗПТЙФН, ЛПФПТЩК ВХДЕФ ОБИПДЙФШ РПЮФПЧЩК ЛПД ДМС МАВПЗП БДТЕУБ, ЪБРЙУБООПЗП Ч HTML, НПЦЕФ ВЩФШ УЛПМШЛП ХЗПДОП РБТБЗТБЖПЧ У ДЧХНС ФЕЗБНЙ ТБЪТЩЧБ, ЛПФПТЩЕ ОЕ УПДЕТЦБФ БДТЕУПЧ ЧППВЭЕ. оБРЙУБОЙЕ БМЗПТЙФНБ ЛПФПТЩК ЙЭЕФ Ч МАВПН РБТБЗТБЖЕ HTML Й ОБИПДЙФ Ч ОЕН МАВПК РПЮФПЧЩК ЛПД ДПМЦОП ВЩФШ ПЮЕОШ ФТХДОЩН, ЕУМЙ ОЕ ОЕЧПЪНПЦОЩН.
рТЙНЕТ XML-ДПЛХНЕОФБ
фЕРЕТШ ДБЧБКФЕ ТБУУНПФТЙН РТЙНЕТ XML-ДПЛХНЕОФБ. ч XML ЧЩ НПЦЕФЕ ОБЪОБЮЙФШ ОЕЛПФПТПЕ ЪОБЮЕОЙЕ ФЕЗБН Ч ДПЛХНЕОФЕ. юФП ЕЭЕ ВПМЕЕ ЧБЦОП, ЬФХ ЙОЖПТНБГЙА ФБЛЦЕ МЕЗЛП ПВТБВПФБФШ ДМС НБЫЙОЩ. чЩ НПЦЕФЕ ЧЩДЕМЙФШ РПЮФПЧЩК ЛПД ЙЪ ЬФПЗП ДПЛХНЕОФБ РТПУФП ОБКДС УПДЕТЦЙНПЕ, ПВТБНМЕООПЕ ФЕЗБНЙ
фЕЗЙ, ЬМЕНЕОФЩ Й БФТЙВХФЩ
лБЛ XML ЙЪНЕОСЕФ Web
тБЪДЕМ 3. рТБЧЙМБ XML-ДПЛХНЕОФБ
пВЪПТ: РТБЧЙМБ XML-ДПЛХНЕОФБ
еУМЙ ЧЩ ТБУУНБФТЙЧБМЙ HTML-ДПЛХНЕОФЩ, ЧЩ ЪОБЛПНЩ У ВБЪПЧЩНЙ ЛПОГЕРГЙСНЙ ЙУРПМШЪПЧБОЙС ФЕЗПЧ ДМС ТБЪНЕФЛЙ ФЕЛУФБ ДПЛХНЕОФБ. ьФПФ ТБЪДЕМ ПВУХЦДБЕФ ТБЪМЙЮЙС НЕЦДХ HTML-ДПЛХНЕОФБНЙ Й XML-ДПЛХНЕОФБНЙ. ч ОЕН НЩ РТПИПДЙН РП ПУОПЧОЩН РТБЧЙМБН XML-ДПЛХНЕОФПЧ Й ПВУХЦДБЕН ФЕТНЙОПМПЗЙА, ЙУРПМШЪХЕНХА ДМС ЙИ ПРЙУБОЙС.
пДОП ЧБЦОПЕ ЪБНЕЮБОЙЕ РП РПЧПДХ XML-ДПЛХНЕОФПЧ: уРЕГЙЖЙЛБГЙС XML ФТЕВХЕФ, ЮФПВЩ РБТУЕТ ВТБЛПЧБМ МАВПК XML-ДПЛХНЕОФ, ЛПФПТЩК ОЕ ЧЩДЕТЦЙЧБЕФ ПУОПЧОЩЕ РТБЧЙМБ. вПМШЫЙОУФЧП РБТУЕТПЧ HTML РТЙОЙНБЕФ ОЕВТЕЦОХА ТБЪНЕФЛХ, ДЕМБС РТЕДРПМПЦЕОЙС П ФПН, ЮФП БЧФПТ ДПЛХНЕОФБ ЙНЕМ Ч ЧЙДХ. юФПВЩ ПВПКФЙ РХФБОЙГХ, ЧПЪОЙЛБАЭХА ДМС РМПИП УФТХЛФХТЙТПЧБООЩИ HTML-ДПЛХНЕОФБИ, УПЪДБФЕМЙ XML У УБНПЗП ОБЮБМБ УДЕМБФШ УФТХЛФХТХ ДПЛХНЕОФБ ЪБЛПОПН.
оЕРТБЧЙМШОЩЕ, РТБЧЙМШОЩЕ, Й РТБЧЙМШОП-ЖПТНБФЙТПЧБООЩЕ ДПЛХНЕОФЩ
лПТОЕЧПК ЬМЕНЕОФ
б ЧПФ ДПЛХНЕОФ, ЛПФПТЩК ОЕ УПДЕТЦЙФ ЕДЙОУФЧЕООПЗП ЛПТОЕЧПЗП ЬМЕНЕОФБ:
пФ XML-РБТУЕТБ ФТЕВХЕФУС ЪБВТБЛПЧБФШ ЬФПФ ДПЛХНЕОФ ОЕЪБЧЙУЙНП ПФ ЕЗП УПДЕТЦБОЙС.
ьМЕНЕОФЩ ОЕ НПЗХФ РЕТЕЛТЩЧБФШУС
ьМЕНЕОФЩ XML ОЕ НПЗХФ РЕТЕЛТЩЧБФШ ДТХЗ ДТХЗБ. чПФ ОЕЛПФПТБС ТБЪНЕФЛБ, ЛПФПТБС ОЕ СЧМСЕФУС РТБЧЙМШОПК:
еУМЙ ЧЩ ОБЮЙОБЕФЕ ЬМЕНЕОФ ЧОХФТЙ ЬМЕНЕОФБ , ЧЩ ДПМЦОЩ ЕЗП ФБН ЦЕ Й ЪБЛПОЮЙФШ. еУМЙ ЧЩ ИПФЙФЕ, ЮФПВЩ ФЕЛУФ XML РПСЧМСМУС Ч ОБЛМПООПН ЫТЙЖФЕ, ЧБН ОХЦОП ДПВБЧЙФШ Ч ТБЪНЕФЛХ ЧФПТПК ЬМЕНЕОФ : XML-РБТУЕТ ВХДЕФ РТЙОЙНБФШ ФПМШЛП ЬФХ ТБЪНЕФЛХ; HTML-РБТУЕТЩ Ч ВПМШЫЙОУФЧЕ Web-ВТБХЪЕТПЧ ВХДХФ РТЙОЙНБФШ ПВЕ.
лПОЕЮОЩЕ ФЕЗЙ СЧМСАФУС ПВСЪБФЕМШОЩНЙ
чЩ ОЕ НПЦЕФЕ ПРХУЛБФШ ЛБЛЙЕ-МЙВП ЪБЛТЩЧБАЭЙЕ ФЕЗЙ. ч РЕТЧПН РТЙНЕТЕ, РТЙЧЕДЕООПН ЧЩЫЕ, ТБЪНЕФЛБ ОЕРТБЧЙМШОБ РПФПНХ, ЮФП ОЕФ ЪБЛТЩЧБАЭЕЗП ФЕЗБ РБТБЗТБЖБ (
). иПФС ЬФП РТЙЕНМЕНП ДМС HTML (Й, Ч ОЕЛПФПТЩИ УМХЮБСИ, ДМС SGML), XML-РБТУЕТ ЬФП ЪБВТБЛХЕФ.
еУМЙ ЬМЕНЕОФ ЧППВЭЕ ОЕ УПДЕТЦЙФ ТБЪНЕФЛЙ, ПО ОБЪЩЧБЕФУС РХУФЩН ЬМЕНЕОФПН; HTML-ЬМЕНЕОФЩ ТБЪТЩЧБ (
) Й ЙЪПВТБЦЕОЙС ( ) СЧМСАФУС РТЙНЕТБНЙ ЬФПЗП. ч РХУФПН ЬМЕНЕОФЕ XML-ДПЛХНЕОФБ ЧЩ НПЦЕФЕ РПНЕУФЙФШ ЪБЛТЩЧБАЭХА ЛПУХА ЮЕТФХ Ч ОБЮБМШОЩК ФЕЗ. уМЕДХАЭЙЕ ДЧБ ЬМЕНЕОФБ ТБЪТЩЧБ Й ДЧБ ЬМЕНЕОФБ ЙЪПВТБЦЕОЙС СЧМСАФУС ДМС XML-РБТУЕТБ ПДОЙН Й ФЕН ЦЕ:
ьМЕНЕОФЩ ЮХЧУФЧЙФЕМШОЩ Л ТЕЗЙУФТХ
ьМЕНЕОФЩ XML ЮХЧУФЧЙФЕМШОЩ Л ТЕЗЙУФТХ. ч HTML
ФЕЗПН
бФТЙВХФЩ ДПМЦОЩ ЙНЕФШ ЪОБЮЕОЙС Ч ЛБЧЩЮЛБИ
уТБЧОЙФЕ ДЧБ РТЙНЕТБ ОЙЦЕ. тБЪНЕФЛБ ЧЧЕТИХ РТБЧЙМШОБ Ч HTML, ОП ОЕ Ч XML. юФПВЩ УДЕМБФШ ЕЕ ЬЛЧЙЧБМЕОФ Ч XML, ЧЩ ДПМЦОЩ ДБФШ БФТЙВХФХ ЪОБЮЕОЙЕ Й ЧЪСФШ ЕЗП Ч ЛБЧЩЮЛЙ.
чЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ПДЙОБТОЩЕ ЙМЙ ДЧПКОЩЕ ЛБЧЩЮЛЙ, ОП ФПМШЛП УПЗМБУПЧБООП.
пВЯСЧМЕОЙС XML
дТХЗЙЕ ЧЕЭЙ Ч XML-ДПЛХНЕОФБИ
рТПУФТБОУФЧБ ЙНЕО
юФПВЩ ЙУРПМШЪПЧБФШ РТПУФТБОУФЧП ЙНЕО, ЧЩ ПРТЕДЕМСЕФЕ РТЕЖЙЛУ РТПУФТБОУФЧБ ЙНЕО Й ПФПВТБЦБЕФЕ ЕЗП ОБ ПРТЕДЕМЕООХА УФТПЛХ. чПФ ФБЛ ЧЩ НПЦЕФЕ ТБЪМЙЮЙФШ РТЕЖЙЛУЩ РТПУФТБОУФЧБ ЙНЕО ДМС ОБЫЙИ ФТЕИ ЬМЕНЕОФПЧ :
тБЪДЕМ 4. пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ДПЛХНЕОФБ
пВЪПТ: пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ДПЛХНЕОФБ
иПФС DTD РТПУФПЕ, ПОП РТПСУОСЕФ, ЛБЛЙЕ ЛПНВЙОБГЙЙ ЬМЕНЕОФПЧ СЧМСАФУС ДПРХУФЙНЩНЙ. дПЛХНЕОФ БДТЕУБ, ЛПФПТЩК ЙНЕЕФ ЬМЕНЕОФ
фБЛЦЕ ЪБНЕФШФЕ, ЮФП УЙОФБЛУЙУ DTD ПФМЙЮБЕФУС ПФ ПВЩЮОПЗП УЙОФБЛУЙУБ XML. (дПЛХНЕОФЩ XML Schema, ОБПВПТПФ, УБНЙ СЧМСАФУС XML-ДПЛХНЕОФБНЙ, ЮФП ДБЕФ ОЕЛПФПТЩЕ ЙОФЕТЕУОЩЕ ТЕЪХМШФБФЩ.) оЕУНПФТС ОБ ЙОПК УЙОФБЛУЙУ DTD, ЧЩ НПЦЕФЕ РПНЕЭБФШ Ч УБНП DTD ПВЩЮОЩЕ ЛПННЕОФБТЙЙ.
уЙНЧПМЩ Ч DTD
ъБНЕЮБОЙЕ РП РПЧПДХ ЗЙВЛПУФЙ
. оБЛПОЕГ, ЧП НОПЗЙИ ЮБУФСИ УЧЕФБ ФБЛЙЕ ЛПОГЕРГЙЙ, ЛБЛ ЙНЕОПЧБОЙЕ, РЕТЧПЕ ЙНС Й РПУМЕДОЕЕ ЙНС ОЕ ЙНЕАФ УНЩУМБ.
й РПУМЕДОЕЕ: еУМЙ ЧЩ УПВЙТБЕФЕУШ ПРТЕДЕМЙФШ УФТХЛФХТХ XML-ДПЛХНЕОФБ, ЧЩ ДПМЦОЩ РТЕДХУНПФТЕФШ Ч ЧБЫЕК DTD ЙМЙ УИЕНЕ УФПМШЛП ЦЕ, УЛПМШЛП ЧЩ РТЕДХУНБФТЙЧБЕФЕ, РТПЕЛФЙТХС УИЕНХ ВБЪЩ ДБООЩИ ЙМЙ УФТХЛФХТХ ДБООЩИ ДМС РТЙМПЦЕОЙС. юЕН ВПМШЫЕ ФТЕВПЧБОЙК ЧЩ РТЕДХУНПФТЙФЕ, ФЕН МЕЗЮЕ Й ДЕЫЕЧМЕ ВХДЕФ ДМС ЧБУ ТЕБМЙЪПЧБФШ ЙЪ РПФПН.
пРТЕДЕМЕОЙЕ БФТЙВХФПЧ
оБЛПОЕГ, DTD РПЪЧПМСАФ ЧБН ПРТЕДЕМСФШ ЪОБЮЕОЙС РП ХНПМЮБОЙА ДМС БФТЙВХФПЧ Й РЕТЕЮЙУМСФШ ЧУЕ ДПРХУФЙНЩЕ ЪОБЮЕОЙС ДМС БФТЙВХФБ:
уИЕНЩ XML
оЙЮЕЗП ЙЪ ЬФПЗП ЧЩ ОЕ НПЦЕФЕ УДЕМБФШ РТЙ РПНПЭЙ DTD.
рТЙНЕТ УИЕНЩ XML
чПФ УИЕНБ XML, ЛПФПТБС УППФЧЕФУФЧХЕФ ЙУИПДОПНХ DTD ЙНЕОЙ Й БДТЕУБ. ч ОЕК ДПВБЧМЕОП ДЧБ ПЗТБОЙЮЕОЙС. ъОБЮЕОЙЕ ЬМЕНЕОФБ ДПМЦОП УПУФПСФШ ФПЮОП ЙЪ ДЧХИ УЙНЧПМПЧ, Б ЪОБЮЕОЙЕ ЬМЕНЕОФБ
пРТЕДЕМЕОЙЕ ЬМЕНЕОФПЧ Ч УИЕНБИ
пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ЬМЕНЕОФБ Ч УИЕНБИ
рТЙНЕТ УИЕНЩ ПРТЕДЕМСЕФ ПЗТБОЙЮЕОЙС ДМС УПДЕТЦЙНПЗП ДЧХИ ЬМЕНЕОФПЧ: уПДЕТЦЙНПЕ ЬМЕНЕОФБ ДПМЦОП ЙНЕФШ ДМЙОХ Ч ДЧБ УЙНЧПМБ, Б УПДЕТЦЙНПЕ ЬМЕНЕОФБ
ьФП ЛТБФЛПЕ ЙЪМПЦЕОЙЕ МЙЫШ ЕДЧБ ЛБУБЕФУС РПЧЕТИОПУФЙ ФПЗП, ЮФП НПЗХФ ДЕМБФШ УИЕНЩ XML; ОБ ЬФХ ФЕНХ ОБРЙУБОЩ ГЕМЩЕ ЛОЙЗЙ. дМС ГЕМЕК ЬФПЗП ЧЧЕДЕОЙС ДПУФБФПЮОП УЛБЪБФШ, ЮФП УИЕНЩ XML СЧМСАФУС ПЮЕОШ НПЭОЩН Й ЗЙВЛЙН УРПУПВПН ПРЙУБОЙС ФПЗП, ЛБЛ ДПМЦЕО ЧЩЗМСДЕФШ РТБЧЙМШОЩК XML-ДПЛХНЕОФ.
тБЪДЕМ 5. рТПЗТБННОЩЕ ЙОФЕТЖЕКУЩ XML
пВЪПТ: рТПЗТБННОЩЕ ЙОФЕТЖЕКУЩ XML
пВЯЕЛФОБС нПДЕМШ дПЛХНЕОФБ
рТПВМЕНЩ DOM
DOM ПВЕУРЕЮЙЧБЕФ ВПЗБФЩК ОБВПТ ЖХОЛГЙК, ЛПФПТЩЕ ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ДМС ЙОФЕТРТЕФБГЙЙ XML-ДПЛХНЕОФБ Й НБОЙРХМЙТПЧБОЙС ЙН, ОП ЪБ ЬФЙ ЖХОЛГЙЙ ОБДП РМБФЙФШ.
ьФП ФПМШЛП УРПТОЩЕ ЧПРТПУЩ, ЧПЪОЙЛЫЙЕ РТЙ РТПЕЛФЙТПЧБОЙЙ DOM; ОЕУНПФТС ОБ ЬФП, API DOM СЧМСЕФУС ПЮЕОШ ХДПВОЩН УРПУПВПН ДМС ТБЪВПТБ XML-ДПЛХНЕОФПЧ.
Simple API for XML
у ХЮЕФПН ЧУЕЗП УЛБЪБООПЗП, Й SAX, Й DOM ЙНЕАФ УЧПЕ НЕУФП. пУФБФПЛ ЬФПЗП ТБЪДЕМБ РПУЧСЭЕО ПВУХЦДЕОЙА ФПЗП, РПЮЕНХ ЧЩ НПЦЕФЕ ЪБИПФЕФШ ЙУРПМШЪПЧБФШ ФПФ ЙМЙ ЙОПК ЙОФЕТЖЕКУ.
рТПВМЕНЩ SAX
зМБЧОЩН УЧПКУФЧПН JDOM СЧМСЕФУС ФП, ЮФП ПО ЪОБЮЙФЕМШОП ХНЕОШЫБЕФ ПВЯЕН ЛПДБ, ЛПФПТЩК ЧБН РТЙИПДЙФУС РЙУБФШ. иПФС ЬФПФ ЧЧПДОЩК ХЮЕВОЙЛ ОЕ ПВУХЦДБЕФ РТПЗТБННОЩЕ ФЕНЩ РПДТПВОП, РТЙМПЦЕОЙС JDOM ПВЩЮОП РП ТБЪНЕТХ Ч ФТЙ ТБЪБ НЕОШЫЕ, ЮЕН РТЙМПЦЕОЙС DOM Й РТЙНЕТОП ЧРПМПЧЙОХ НЕОШЫЕ, ЮЕН РТЙМПЦЕОЙС SAX. (уФПТПООЙЛЙ DOM, ЛПОЕЮОП, УЮЙФБАФ, ЮФП ЙЪХЮЕОЙЕ Й ЙУРПМШЪПЧБОЙЕ DOM СЧМСЕФУС ИПТПЫЙН Й ДЙУГЙРМЙОЙТХАЭЙН ДЕМПН, ЛПФПТПЕ ПЛХРБЕФ УЕВС УП ЧТЕНЕОЕН.) JDOM ОЕ ДЕМБЕФ ОЙЮЕЗП, ОП ДМС ВПМШЫЙОУФЧБ ТБЪВПТПЧ, ЛПФПТЩЕ ЧЩ ВХДЕФЕ ДЕМБФШ, ЬФП, ЧПЪНПЦОП, ФП, ЮФП ОХЦОП.
Java API for XML Parsing
иПФС DOM, SAX Й JDOM ПВЕУРЕЮЙЧБАФ УФБОДБТФОЩЕ ЙОФЕТЖЕКУЩ ДМС ОБЙВПМЕЕ ПВЭЙИ ЪБДБЮ, ЕУФШ ЧУЕ ЦЕ ОЕУЛПМШЛП ЧЕЭЕК, ОБ ЛПФПТЩЕ ПОЙ ОЕ ТБУУЮЙФБОЩ. оБРТЙНЕТ, РТПГЕУУ УПЪДБОЙС ПВЯЕЛФБ DOMParser Ч РТПЗТБННЕ Java ПФМЙЮБЕФУС ПФ РБТУЕТБ DOM Ч ДТХЗПК. дМС ТЕЫЕОЙС ЬФПК РТПВМЕНЩ ЖЙТНБ Sun ТЕБМЙЪПЧБМБ JAXP, Java API for XML Parsing. ьФПФ API ПВЕУРЕЮЙЧБЕФ ПВЭЙЕ ЙОФЕТЖЕКУЩ ДМС ПВТБВПФЛЙ XML-ДПЛХНЕОФПЧ У ЙУРПМШЪПЧБОЙЕН DOM, SAX Й XSLT.
лБЛПК ЙОФЕТЖЕКУ РПДИПДЙФ ДМС ЧБУ?
тБЪХНЕЕФУС, API XML УХЭЕУФЧХАФ Й ДМС ДТХЗЙИ СЪЩЛПЧ, Ч ЮБУФОПУФЙ, УППВЭЕУФЧБ Perl Й Python ЙНЕАФ ПЮЕОШ ИПТПЫЙК ЙОУФТХНЕОФБТЙК XML.
тБЪДЕМ 6. уФБОДБТФЩ XML
пВЪПТ: уФБОДБТФЩ XML
ч НЙТЕ XML УХЭЕУФЧХЕФ НОПЦЕУФЧП УФБОДБТФПЧ. ч ДПРПМОЕОЙЕ Л ВБЪПЧПНХ УФБОДБТФХ XML, ДТХЗЙЕ УФБОДБТФЩ ПРТЕДЕМСАФ УИЕНЩ, ФБВМЙГЩ УФЙМЕК, УЧСЪЙ, Web-УЕТЧЙУЩ, ВЕЪПРБУОПУФШ Й ДТХЗЙЕ ЧБЦОЩЕ ЬМЕНЕОФЩ. ч ЬФПН ТБЪДЕМЕ ТБУУНБФТЙЧБАФУС ОБЙВПМЕЕ РПРХМСТОЩЕ УФБОДБТФЩ Й ХЛБЪЩЧБЕФУС, ЗДЕ ЧЩ НПЦЕФЕ ОБКФЙ ДТХЗЙЕ УФБОДБТФЩ.
уРЕГЙЖЙЛБГЙС XML
ьФБ УРЕГЙЖЙЛБГЙС, ОБИПДСЭБСУС ОБ w3.org/TR/REC-xml, ПРТЕДЕМСЕФ ВБЪПЧЩЕ РТБЧЙМБ ДМС XML-ДПЛХНЕОФПЧ. чУЕ РТБЧЙМБ XML-ДПЛХНЕОФБ, ПВУХЦДБЧЫЙЕУС ТБОЕЕ Ч ЬФПН ХЮЕВОЙЛЕ, ПРТЕДЕМЕОЩ ЪДЕУШ.
чДПВБЧПЛ Л ВБЪПЧПНХ УФБОДБТФХ XML, ДТХЗПК ЧБЦОПК ЮБУФША XML СЧМСЕФУС УРЕГЙЖЙЛБГЙС Namespaces. чЩ НПЦЕФЕ ОБКФЙ УФБОДБТФ ОБ РТПУФТБОУФЧБ ЙНЕО ФБЛЦЕ Ч W3C: w3.org/TR/REC-xml-names/.
XML Schema
ч ЬФПН ХЮЕВОЙЛЕ ЛТБФЛП ПВУХЦДБАФУС УИЕНЩ Ч пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ДПЛХНЕОФБ; ЕУМЙ ЧБН ОХЦОП РПДТПВОП ЪОБФШ ПВП ЧУЕН, ЮФП ЧЩ НПЦЕФЕ ДЕМБФШ РТЙ РПНПЭЙ УИЕН XML, МХЮЫЕ ЧУЕЗП ОБЮБФШ У РТЙНЕТБ.
XSL, XSLT Й XPath
SAX, JDOM Й JAXP
Simple API for XML ПРТЕДЕМСЕФ УПВЩФЙС Й ЙОФЕТЖЕКУЩ, ЙУРПМШЪХЕНЩЕ ДМС ЧЪБЙНПДЕКУФЧЙС У SAX-УПЧНЕУФЙНЩН РБТУЕТПН XML. чЩ ОБКДЕФЕ РПМОХА УРЕГЙЖЙЛБГЙА SAX ОБ www.saxproject.org.
чБЦОПЕ ПВУФПСФЕМШУФЧП ПФОПУЙФЕМШОП SAX Й JDOM УПУФПЙФ Ч ФПН, ЮФП ПВБ ПОЙ РТЙЫМЙ ЙЪ УППВЭЕУФЧБ ТБЪТБВПФЮЙЛПЧ XML, Б ОЕ ЙЪ УФБОДБТФПЧ. йИ ЫЙТПЛПЕ РТЙЪОБОЙЕ СЧМСЕФУС ОБЗТБДПК БЛФЙЧОЩН ХЮБУФОЙЛБН УППВЭЕУФЧБ ТБЪТБВПФЮЙЛПЧ XML.
чЩ ОБКДЕФЕ ЧУЕ, ЮФП ЙЪЧЕУФОП П JAXP ОБ java.sun.com/xml/jaxp/.
уЧСЪЩЧБОЙЕ Й УУЩМЛЙ
вЕЪПРБУОПУФШ
дТХЗПК УФБОДБТФ ПФОПУЙФУС Л ЫЙЖТПЧБОЙА XML-ДПЛХНЕОФПЧ. иПФС ЪБНЕЮБФЕМШОП, ЮФП XML-ДПЛХНЕОФЩ НПЗХФ ВЩФШ ОБРЙУБОЩ ФБЛ, ЮФП ЙИ НПЦЕФ ЮЙФБФШ Й РПОЙНБФШ ЮЕМПЧЕЛ, НПЗХФ ЧПЪОЙЛОХФШ ОЕРТЙСФОПУФЙ, ЕУМЙ ДПЛХНЕОФ РПРБДЕФ Ч РМПИЙЕ ТХЛЙ. уФБОДБТФ XML Encryption (w3.org/TR/xmlenc-core/) ПРТЕДЕМСЕФ, ЛБЛ ЮБУФЙ XML-ДПЛХНЕОФБ НПЗХФ ВЩФШ ЪБЫЙЖТПЧБОЩ.
йУРПМШЪХС ЧНЕУФЕ ЬФЙ УФБОДБТФЩ, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ XML-ДПЛХНЕОФЩ Ч ЛПОЖЙДЕОГЙБМШОПН ТЕЦЙНЕ. с НПЗХ РТЙДБФШ ГЙЖТПЧХА РПДРЙУШ ЧБЦОПНХ XML-ДПЛХНЕОФХ, УЗЕОЕТЙТПЧБЧ РПДРЙУШ, ЛПФПТБС ВХДЕФ ЧЛМАЮБФШ Ч УЕВС УБН XML-ДПЛХНЕОФ. с НПЗХ ЪБФЕН ЪБЫЙЖТПЧБФШ ДПЛХНЕОФ (ЙУРПМШЪХС УЧПК ЪБЛТЩФЩК ЛМАЮ Й ЧБЫ ПФЛТЩФЩК ЛМАЮ) Й РПУМБФШ ЕЗП ЧБН. лПЗДБ ЧЩ РПМХЮЙФЕ ЕЗП, ЧЩ НПЦЕФЕ ТБУЫЙЖТПЧБФШ ДПЛХНЕОФ РТЙ РПНПЭЙ ЧБЫЕЗП ЪБЛТЩФПЗП Й НПЕЗП ПФЛТЩФПЗП ЛМАЮЕК, ЮФП ДБУФ ЧБН ЧПЪНПЦОПУФШ ХВЕДЙФШУС Ч ФПН, ЮФП ЙНЕООП С РПУМБМ ЧБН ДПЛХНЕОФ. (еУМЙ РПОБДПВЙФУС, ЧЩ УНПЦЕФЕ ФБЛЦЕ РПДФЧЕТДЙФШ, ЮФП С РПУМБМ ДПЛХНЕОФ.) тБУЫЙЖТПЧБЧ ДПЛХНЕОФ, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ГЙЖТПЧХА РПДРЙУШ, ЮФПВЩ ХВЕДЙФШУС, ЮФП ДПЛХНЕОФ ОЕ ВЩМ НПДЙЖЙГЙТПЧБО ЛБЛЙН-ФП УРПУПВПН.
Web-УЕТЧЙУЩ
дТХЗЙЕ УФБОДБТФЩ
уХЭЕУФЧХЕФ НОПЗП ДТХЗЙИ УФБОДБТФПЧ XML, П ЛПФПТЩИ НЩ ОЕ ЗПЧПТЙН ЪДЕУШ. чДПВБЧПЛ Л УФБОДБТФБН ЫЙТПЛПЗП РТЙНЕОЕОЙС, РПДПВОЩН Scalable Vector Graphics (www.w3.org/TR/SVG/) Й SMIL, Synchronized Multimedia Integration Language (www.w3.org/TR/smil20/), ЕУФШ НОПЗП УФБОДБТФПЧ, ПФОПУСЭЙИУС Л ПФДЕМШОЩН ПФТБУМСН. оБРТЙНЕТ, ЛПОУПТГЙХН HR-XML ПРТЕДЕМЙМ ОЕУЛПМШЛП УФБОДБТФПЧ XML ДМС ФТХДПЧЩИ ТЕУХТУПЧ, ЧЩ НПЦЕФЕ ОБКФЙ ЬФЙ УФБОДБТФЩ ОБ hr-xml.org.
оБЛПОЕГ, ИПТПЫЙН ЙУФПЮОЙЛПН УФБОДБТФПЧ XML СЧМСЕФУС XML Repository ОБ xml.org/xml/registry.jsp. ьФПФ УБКФ РТЕДУФБЧМСЕФ УПФОЙ УФБОДБТФПЧ ДМС ЫЙТПЛПЗП УРЕЛФТБ ПФТБУМЕК.
тБЪДЕМ 7. рТБЛФЙЮЕУЛЙЕ РТЙНЕТЩ
рТЙНЕТЩ ЙЪ ТЕБМШОПК ЦЙЪОЙ
уЕКЮБУ, С ОБДЕАУШ, ЧЩ ХЦЕ ХВЕДЙМЙУШ, ЮФП XML ЙНЕЕФ ЗТБОДЙПЪОЩК РПФЕОГЙБМ ДМС ФПЗП, ЮФПВЩ ТЕЧПМАГЙПОЙЪЙТПЧБФШ УРПУПВЩ ТБВПФЩ ЬМЕЛФТПООПЗП ВЙЪОЕУБ. б РПУЛПМШЛХ РПФЕОГЙБМ ВПМШЫПК, НЩ ЙНЕЕН ТЕБМШОЩЕ ТЕЪХМШФБФЩ ОБ ТЩОЛЕ. ч ЬФПН ТБЪДЕМЕ ПВУХЦДБАФУС ФТЙ РТБЛФЙЮЕУЛЙИ РТЙНЕТБ, Ч ЛПФПТЩИ ПТЗБОЙЪБГЙЙ ЙУРПМШЪПЧБМЙ XML ДМС ХУПЧЕТЫЕОУФЧПЧБОЙС УЧПЙИ ВЙЪОЕУ-РТПГЕУУПЧ Й ХМХЮЫЕОЙС ЙИ ТЕЪХМШФБФПЧ.
чУЕ РТБЛФЙЮЕУЛЙЕ РТЙНЕТЩ, ПВУХЦДБЕНЩЕ ЪДЕУШ, РТЙЫМЙ ЙЪ РТПЗТБННЩ IBM jStart. лПНБОДБ jStart УХЭЕУФЧХЕФ, ЮФПВЩ РПНПЗБФШ РПФТЕВЙФЕМСН ЙУРПМШЪПЧБФШ ОПЧЩЕ ФЕИОПМПЗЙЙ ДМС ТЕЫЕОЙС РТПВМЕН. еУМЙ РПФТЕВЙФЕМШ УПЗМБЫБЕФУС У ХУМПЧЙСНЙ jStart, ПО РПМХЮБЕФ ЛПОУХМШФБГЙЙ Й УЕТЧЙУ ТБЪТБВПФЛЙ ПФ IBM УП УЛЙДЛПК, У РПОЙНБОЙЕН ФПЗП, ЮФП ТЕЪХМШФЙТХАЭЙК РТПЕЛФ НПЦЕФ ВЩФШ ЙУРПМШЪПЧБО ЛБЛ РТБЛФЙЮЕУЛЙК РТЙНЕТ. еУМЙ ЧЩ ИПФЙФЕ ХЧЙДЕФШ ВПМШЫЕ РТБЛФЙЮЕУЛЙИ РТЙНЕТПЧ, ЧЛМАЮБС РТЙНЕТЩ Web-УЕТЧЙУПЧ Й ДТХЗЙИ ОПЧЩИ ФЕИОПМПЗЙК, РПУЕФЙФЕ Web-УФТБОЙГХ jStart ibm.com/software/jstart.
ъОБКФЕ, ЮФП ЛПНБОДБ jStart ВПМШЫЕ ОЕ ЪБЛМАЮБЕФ УПЗМБЫЕОЙК РП РТПЕЛФБН XML; УЕКЮБУ ЛПНБОДБ ЖПЛХУЙТХЕФУС ОБ УПЗМБЫЕОЙСИ РП Web-УЕТЧЙУБН. Web-УЕТЧЙУЩ ЙУРПМШЪХАФ XML УРЕГЙЖЙЮЕУЛЙН ПВТБЪПН, ПВЩЮОП ЮЕТЕЪ УФБОДБТФЩ SOAP, WSDL Й UDDI, ХРПНСОХФЩЕ ЧЩЫЕ.
рТПЧЙОГЙС нБОЙФПВБ
тЙУХОПЛ 2. рТПЧЙОГЙС нБОЙФПВБ
рТБЧЙФЕМШУФЧП РТПЧЙОГЙЙ нБОЙФПВБ УПЪДБЕФ тЕЕУФТ юБУФОЩИ чМБДЕОЙК, ЮФПВЩ ПВЕУРЕЮЙФШ ЧМБДЕМШГЕЧ УПВУФЧЕООПУФЙ ТЕБМШОЩН ЛТХЗМПУХФПЮОЩН Internet-УЕТЧЙУПН. пУОПЧОЩНЙ РТЕЙНХЭЕУФЧБНЙ ЬФПЗП РТЙМПЦЕОЙС СЧМСАФУС ВПМЕЕ ВЩУФТЩК Й ВПМЕЕ ХДПВОЩК ДПУФХР Л ДБООЩН П УПВУФЧЕООПУФЙ, ХНЕОШЫЕОЙЕ ТХЮОЩИ ПРЕТБГЙК Ч РТПГЕУУЕ ХРТБЧМЕОЙС УПВУФЧЕООПУФША, ХНЕОШЫЕОЙЕ ЮЙУМБ ЪЧПОЛПЧ Ч РТБЧЙФЕМШУФЧЕООЩК ГЕОФТ ПВУМХЦЙЧБОЙС. дТХЗЙНЙ УМПЧБНЙ, ДБЧБФШ РПФТЕВЙФЕМСН МХЮЫЙК УЕТЧЙУ, РТЙ ЬФПН УВЕТЕЗБС РТБЧЙФЕМШУФЧЕООЩЕ ДЕОШЗЙ Й ХНЕОШЫБС ОБЗТХЪЛХ ОБ РТБЧЙФЕМШУФЧП.
лБЛ Й Ч МАВПН РТЙМПЦЕОЙЙ, РПМШЪПЧБФЕМШУЛЙК ЙОФЕТЖЕКУ РТЙМПЦЕОЙС ВЩМ ЮТЕЪЧЩЮБКОП ЧБЦЕО. юФПВЩ ХРТПУФЙФШ РЕТЧХА ТЕБМЙЪБГЙА, ОЕПВИПДЙНЩЕ XML-ДБООЩЕ РТЕПВТБЪПЧЩЧБМЙУШ Ч HTML. ьФП ДБЧБМП РПМШЪПЧБФЕМШ ЧПЪНПЦОПУФШ ЙУРПМШЪПЧБФШ ВТБХЪЕТ ДМС ЙОФЕТЖЕКУБ РТЙМПЦЕОЙС. тЕЕУФТ ВЩМ РПУФТПЕО У РПНПЭША VisualAge for Java, Ч ЮБУФОПУФЙ, ЛПНРПОЕОФБ Visual Servlet Builder. пО ФБЛЦЕ ЙУРПМШЪПЧБМ Enterprise Java Beans (EJB), ЧЛМАЮБС ВЙОЩ УЕБОУБ Й ВЙОЩ УХЭОПУФЙ.
зЕОЕТБГЙС ТБЪМЙЮОЩИ РПМШЪПЧБФЕМШУЛЙИ ЙОФЕТЖЕКУПЧ РТЙ РПНПЭЙ XML
лТПНЕ ЙОФЕТЖЕКУБ HTML, РМБОЙТХЕФУС ФБЛЦЕ ЙОФЕТЖЕКУ Java-ЛМЙЕОФБ Й ЬМЕЛФТПООЩК ЙОФЕТЖЕКУ B2B. дМС ЧУЕИ ЬФЙИ ЙОФЕТЖЕКУПЧ УФТХЛФХТЙТПЧБООЩЕ ДБООЩЕ XML РТЕПВТБЪХАФУС Ч УППФЧЕФУФЧХАЭЙЕ УФТХЛФХТЩ Й ДПЛХНЕОФЩ. оБЮБМШОБС ЧЩЗТХЪЛБ УЕТЧЙУБ РПЪЧПМСЕФ ПДОПНХ ВЙЪОЕУ-РБТФОЕТХ, Canadian Securities Registration Systems, РПУЩМБФШ ДБООЩЕ ФТБОЪБЛГЙЙ XML, ЙУРПМШЪХС Secure Sockets Layer. дБООЩЕ ФТБОЪБЛГЙЙ XML РТЕПВТБЪХАФУС Ч УППФЧЕФУФЧХАЭЙК ЖПТНБФ ДМС ФТБОЪБЛГЙК ОБ УФПТПОЕ УЕТЧЕТБ.
лПОЕЮОЩН ТЕЪХМШФБФПН СЧЙМПУШ ФП, ЮФП РТПЧЙОГЙС нБОЙФПВБ УПЪДБМБ ЗЙВЛПЕ ОПЧПЕ РТЙМПЦЕОЙЕ, Й ЕЗП ЛПОЕЮОЩЕ РПМШЪПЧБФЕМЙ НПЗХФ ПВТБЭБФШУС Л ТЕЕУФТХ УПВУФЧЕООПУФЙ ВПМЕЕ МЕЗЛП Й ВЩУФТП. рПУЛПМШЛХ РТПЧЙОГЙС ЙУРПМШЪХЕФ XML Ч ЛБЮЕУФЧЕ ЖПТНБФБ ДБООЩИ, РТБЧЙФЕМШУФЧЕООБС IT-ЛПНБОДБ ЙНЕЕФ ВПМШЫХА ЗЙВЛПУФШ Ч ТБЪТБВПФЛЕ ОПЧЩИ ЙОФЕТЖЕКУПЧ Й НЕФПДПЧ ДПУФХРБ. уБНПЕ МХЮЫЕЕ, ЮФП УЙУФЕНЩ ОБ УФПТПОЕ УЕТЧЕТБ ОЕ ЙЪНЕОЙМЙУШ ЧППВЭЕ.
вБОЛ First Union ОБ XML
тЙУХОПЛ 3. вБОЛ First Union ОБ XML
First Union National Bank, ПДЙО ЙЪ УБНЩИ ВПМШЫЙИ ВБОЛПЧ Ч уыб, ОБИПДЙФУС Ч РТПГЕУУЕ ТЕЙОЦЕОЙТЙОЗБ НОПЗЙИ УЧПЙИ РТЙМПЦЕОЙК РТЙ РПНПЭЙ Java Й XML. лБЛ Й Х ВПМШЫЙОУФЧБ ВПМШЫЙИ ЛПНРБОЙК, ЕЗП УТЕДБ ЗЕФЕТПЗЕООБ У УЕТЧЕТБНЙ OS/390, AIX, Solaris, HP/9000 Й Windows NT Й ЛМЙЕОФБНЙ Windows NT, Windows 98, Solaris Й AIX. йНЕС ФБЛХА УТЕДХ, First Union ЧЩВТБМ Java ДМС РМБФЖПТНЕООП-ОЕЪБЧЙУЙНЩИ ЛПДПЧ Й XML ДМС РМБФЖПТНЕООП-ОЕЪБЧЙУЙНЩИ ДБООЩИ.
уЙУФЕНБ ОБ ВБЪЕ УППВЭЕОЙК
тБУРТЕДЕМЕООПЕ РТЙМПЦЕОЙЕ ВБОЛБ РПУФТПЕОП ОБ ЙОЖТБУФТХЛФХТЕ ПВНЕОБ УППВЭЕОЙСНЙ У ЙУРПМШЪПЧБОЙЕ ДМС ДПУФБЧЛЙ УППВЭЕОЙК IBM’s MQSeries ДМС УЙУФЕНЩ OS/390. уПДЕТЦБОЙЕ УППВЭЕОЙЕ ВБЪЙТХЕФУС ОБ УРЕГЙЖЙЛБГЙЙ, ОБЪЩЧБЕНПК Common Interface Message (CIM), УПВУФЧЕООПН УФБОДБТФЕ First Union. й ЛМЙЕОФУЛЙЕ, Й УЕТЧЕТОЩЕ ЛПНРПОЕОФЩ РТЙМПЦЕОЙС ЪБЧЙУСФ ПФ ЖПТНБФБ УППВЭЕОЙС. л РТПФПЛПМХ ПВНЕОБ УППВЭЕОЙСНЙ ДПВБЧМЕОП ЙУРПМШЪПЧБОЙЕ XML, ЛБЛ ЖПТНБФБ ДБООЩИ, ЙЪПМЙТХАЭЕЗП ПВЕ УФПТПОЩ РТЙМПЦЕОЙС ПФ ВХДХЭЙИ ЙЪНЕОЕОЙК.
йУРПМШЪПЧБОЙЕ ЙОУФТХНЕОФПЧ XML ДМС БЧФПНБФЙЪБГЙЙ РПФПЛПЧ ДБООЩИ
рТЙ ТБЪТБВПФЛЕ ЬФПЗП РТЙМПЦЕОЙС ОБ ВБЪЕ XML First Union Й ЛПНБОДБ IBM УПЪДБМЙ УМХЦВХ, ЛПФПТБС ЛПОЧЕТФЙТХЕФ CIM Ч XML-ДПЛХНЕОФ. дТХЗБС ЮБУФШ РТЙМПЦЕОЙС ЛПОЧЕТФЙТХЕФ XML-ЪБРТПУ Ч ПРТЕДЕМЕООЩК ЖПТНБФ УЕТЧЕТОЩИ УЙУФЕН ПВТБВПФЛЙ. оБЛПОЕГ, ФТЕФШС УМХЦВБ ЛПОЧЕТФЙТХЕФ ПРЙУБОЙС ОБ COBOL Ч DTD. тБЪ ПРЙУБОЙС ЛПОЧЕТФЙТПЧБОЩ Ч DTD, First Union НПЦЕФ ЙУРПМШЪПЧБФШ DTD Й РБТУЕТ XML4J ДМС БЧФПНБФЙЮЕУЛПК РТПЧЕТЛЙ РТБЧЙМШОПУФЙ XML-ДПЛХНЕОФБ, ВБОЛ, УМЕДПЧБФЕМШОП, НПЦЕФ ВЩФШ ХЧЕТЕО, ЮФП XML-ДПЛХНЕОФ УППФЧЕФУФЧХЕФ УФТХЛФХТЕ ДБООЩИ COBOL, ЮЕЗП ПЦЙДБЕФ OS/390. йУРПМШЪПЧБОЙЕ ФЕИОПМПЗЙЙ Java Й XML ПЛБЪБМПУШ ПЮЕОШ ХУРЕЫОЩН ДМС First Union. рП УМПЧБН Bill Barnett, НЕОЕДЦЕТБ зТХРРЩ йОФЕЗТБГЙЙ тБУРТЕДЕМЕООЩИ пВЯЕЛФПЧ Ч First Union, «лПНВЙОБГЙС Java Й XML ДЕКУФЧЙФЕМШОП УРБУЙФЕМШОБ ДМС ОБУ. вЕЪ ФБЛПК РМБФЖПТНЕООП-ОЕЪБЧЙУЙНПК УТЕДЩ, ЛБЛ Java, Й ОЕЪБЧЙУЙНПУФЙ РТПФПЛПМБ ПВНЕОБ УППВЭЕОЙСНЙ, РПМХЮЕООПК ПФ ЙУРПМШЪПЧБОЙС XML, НЩ ОЕ НПЗМЙ ВЩФШ ХЧЕТЕОЩ, ЮФП ОБЫБ ТБУРТЕДЕМЕООБС ЙОЖТБУФТХЛФХТБ УНПЦЕФ ТБЪЧЙЧБФШУС, ЮФПВЩ ХДПЧМЕФЧПТСФШ ФТЕВПЧБОЙСН ОБЫЕК РПУФПСООП ТБУФХЭЕК НБУУЩ РПФТЕВЙФЕМЕК.»
Hewitt Associates LLC
тЙУХОПЛ 4. Hewitt Associates LLC
дП ЪБЛМАЮЕОЙС УПЗМБЫЕОЙС У jStart Hewitt УФТПЙМБ УПВУФЧЕООЩЕ ЪБЛБЪОЩЕ ТЕЫЕОЙС, ЛПЗДБ ЕЕ ЛМЙЕОФЩ ЪБРТБЫЙЧБМЙ ДБООЩЕ П ФТХДПЧЩИ ТЕУХТУБИ. ьФЙ ЪБЛБЪОЩЕ ТЕЫЕОЙС ПВЩЮОП ВЩМЙ РЕТЕИПДОЙЛБНЙ Л УХЭЕУФЧХАЭЙН ХОБУМЕДПЧБООЩН РТЙМПЦЕОЙСН Hewitt, Ч ОЕЛПФПТЩИ УМХЮБСИ ТЕЫЕОЙС ТБВПФБМЙ У ТЕБМШОЩНЙ РПФПЛБНЙ ВБКФПЧ. ьФЙ ЪБЛБЪОЩЕ ТЕЫЕОЙС ПЮЕОШ ДПТПЗП ПВИПДЙМЙУШ Ч ТБЪТБВПФЛЕ, ФЕУФЙТПЧБОЙЙ Й ЧОЕДТЕОЙЙ, ЮФП РТЙЧЕМП Л ФПНХ, ЮФП Hewitt УФБМБ ТБУУНБФТЙЧБФШ ЧПЪНПЦОПУФШ РТЙНЕОЕОЙС Web-УЕТЧЙУПЧ.
уРБУЕОЙЕ Ч Web-УЕТЧЙУБИ!
пВБ ЬФЙ РТЙМПЦЕОЙС ЧЩВЙТБАФ ДБООЩЕ ЙЪ УХЭЕУФЧХАЭЙИ ХОБУМЕДПЧБООЩИ УЙУФЕН, ЙУРПМШЪХАФ XML ДМС ЖПТНБФЙТПЧБОЙС ДБООЩИ Й ДПУФБЧМСАФ ЖПТНБФЙТПЧБООХА ЙОЖПТНБГЙА ЮЕТЕЪ Web. рПУЛПМШЛХ ЬФЙ РТЙМПЦЕОЙС РПУФТПЕОЩ ОБ ПФЛТЩФЩИ УФБОДБТФБИ, Hewitt НПЦЕФ ДПУФБЧМСФШ ЙИ ВЩУФТП. мХЮЫЕ ЧУЕЗП ФП, ЮФП ЗЙВЛПУФШ ЬФЙИ РТЙМПЦЕОЙК РПНПЗБЕФ Hewitt ЧЩДЕМЙФШУС УТЕДЙ УЧПЙИ ЛПОЛХТЕОФПЧ.
йФПЗ РП РТБЛФЙЮЕУЛЙН РТЙНЕТБН
чП ЧУЕИ ЬФЙИ РТБЛФЙЮЕУЛЙИ РТЙНЕТБИ ЛПНРБОЙЙ ЙУРПМШЪПЧБМЙ XML ДМС УПЪДБОЙС УЙУФЕНОП-ОЕЪБЧЙУЙНПЗП ЖПТНБФБ ДБООЩИ. XML-ДПЛХНЕОФЩ, РТЕДУФБЧМСАЭЙЕ УФТХЛФХТЙТПЧБООЩЕ ДБООЩЕ, НПЗХФ ВЩФШ РЕТЕНЕЭЕОЩ У ПДОПК УЙУФЕНЩ ЙМЙ РТПГЕУУБ ОБ ДТХЗХА. лМЙЕОФУЛЙЕ Й УЕТЧЕТОЩЕ РТЙМПЦЕОЙС НЕОСАФУС, Б XML-ДБООЩЕ, РЕТЕНЕЭБАЭЙЕУС НЕЦДХ ОЙНЙ ОЕЙЪНЕООЩ. вПМЕЕ ФПЗП, ЛПЗДБ ЛМЙЕОФУЛЙЕ Й УЕТЧЕТОЩЕ РТЙМПЦЕОЙС РЕТЕНЕЫЙЧБАФУС, ЙУРПМШЪПЧБОЙЕ XML РТЕДПИТБОСЕФ УХЭЕУФЧХАЭЙЕ РТЙМПЦЕОЙС ПФ МАВЩИ ЙЪНЕОЕОЙК. рП НЕТЕ ФПЗП, ЛБЛ Web-УЕТЧЙУЩ УФБОПЧСФУС ВПМЕЕ ПВЭЙНЙ, XML ФБЛЦЕ ВХДЕФ ЙУРПМШЪПЧБФШУС ДМС РЕТЕДБЮЙ ДБООЩИ.
- что такое псс в истории
- что такое многопоточные приложения