Главная страница
Навигация по странице:

  • Web- службами.Наконец, в июле 2002 года появилось новое расширение протокола SOAP —спецификация "WS-Security", разработанная фирмами IBM, Microsoft

  • http://msdn.microsoft.com/webservices/.

  • ГЛАВА 9 Развитие Web Services

  • Язык описания потоков работ WSFL

  • Листинг Вложенность элементов языка WSFL

  • Разработка веб-служб средствами Java. Ильдар ХабибуллинРазработкаWebслужбсредствами


    Скачать 9.24 Mb.
    НазваниеИльдар ХабибуллинРазработкаWebслужбсредствами
    АнкорРазработка веб-служб средствами Java.pdf
    Дата03.02.2018
    Размер9.24 Mb.
    Формат файлаpdf
    Имя файлаРазработка веб-служб средствами Java.pdf
    ТипКнига
    #15148
    КатегорияИнформатика. Вычислительная техника
    страница18 из 21
    1   ...   13   14   15   16   17   18   19   20   21
    SOAP-послания.
    Элемент
    ,
    определенные в устаревшей версии спецификации "XML Encryption" с идентификатором пространства имен http://www.w3.org/2000/10/xmlenc. По- этому этот элемент вряд ли будет использоваться в современных посланиях.
    Элемент содержит вложенный элемент , опре- деленный в спецификации "XML Signature" с идентификатором пространст- ва имен
    Он не изменился со времени создания расширения "SOAP
    Extensions" и вполне может приме- няться в SOAP-посланиях.
    У третьего элемента нет четкой структуры, в него можно вложить произвольные элементы, идентифицирующие автора послания.
    Второе расширение протокола SOAP, сделанное фирмами IBM и Microsoft в феврале 2001 года,
    созданию цифровой подписи. Оно называ- ется "SOAP Security Extensions: Digital Signature" и доступно адре-су
    Расширение уточняет элемент
    , определенный в предыдущем расширении "SOAP Security
    Extensions". Уточненный элемент , принадлежащий пространст- ву имен с идентификатором http://schemas.xmlsoap.org/soap/security/2000-12,
    тоже содержит вложенный элемент , но последний элемент определен в более новом пространстве имен с идентификатором
    Кроме того, расширение "SOAP Security Extensions: Digital Signature" задает
    Правила включения
    В заголовок
    SOAP-

    Глава 8. Безопасность предоставления услуг 359
    послания, и правила обработки промежуточными серверами и Web-
    службами.
    Наконец, в июле 2002 года появилось новое расширение протокола SOAP
    спецификация "WS-Security", разработанная фирмами IBM, Microsoft и
    VeriSign. Остановимся на ней подробнее.
    Спецификация
    Спецификация "Web Services сокращенно "WS-Security",
    доступна по адресу
    Несмотря на свое название, она не вносит какие-то новые правила шифрования или аутентификации. Она определяет всего один элемент в пространстве имен с идентификатором ws/2002/04/secext.
    Сразу же после выхода спецификации "WS-Security", в августе 2002 года, поя- вилось приложение к ней, названное "WS-Security Addendum". Его можно посмотреть по адресу http://msdn.microsoft.com/webservices/. Оно изменило идентификатор пространства имен, теперь это http://schemas.xmlsoap.org/
    ws/2002/07/secext. В приложении исправлены мелкие ошибки и сделаны не- которые дополнения к спецификации "WS-Security".
    У элемента , определенного в спецификации "WS-Security", мо- жет быть любое число любых атрибутов. В него можно вложить произволь- ные элементы XML, В ТОМ ЧИСЛе
    ,
    , определенные в расширениях протокола SOAP. Можно не использовать эти элементы, а вложить непосредственно элементы
    ,
    signature>, определенные в спецификации
    Encryption" и в рекомендации RFC 3275. Спецификация определяет и неко- торые дополнительные элементы, которые можно вложить в элемент
    , и блоки заголовка SOAP-послания. Главное же в специфика- ции "WS-Security" то, что она расширяема, и в ее расширениях можно опре- делять конкретные элементы.
    Для аутентификации пользователя по его имени и паролю спецификация определяет
    С
    и
    Необязательный атрибут туре элемента указывает тип записи пароля. Пока он принимает всего два значения: значение по умолчанию
    — пароль записывается открытым текстом, и значение "PasswordDigest" — записывается дайджест пароля в кодировке
    Base64. Дайджест создается по алгоритму SHA-1.
    Приложение к спецификации добавило два необязательных вложенных элемента, применяемых при создании дайджеста пароля: элемент содержит одноразовый 16-байтовый пароль, включаемый в дайджест, эле-

    360 Разработка Web-служб средствами Java
    мент содержит дату и время создания пароля, которые тоже включаются в дайджест. Вот полный пример заголовка SOAP-послания с записью о пользователе:


    "http://schemas.xmlsoap.org/ws/2002/07/utility">

    Глава 8. Безопасность предоставления услуг 361

    Для хранения двоичной информации, скажем, сертификата, спецификация "WS-Security" определяет элемент
    Вот, например,
    сертификат, полученный по протоколу Х.509, и записанный в кодировке
    Base64:
    Id="cert"
    EncodingType="wsse:Base64Binary">
    Спецификация, точнее, приложение к ней, рекомендует хранить сертифика- ты именно в элементе , а не в элементе
    Защищаемые элементы могут располагаться не только внутри элемента
    , но и в другом месте SOAP-послания, и даже в другом месте
    Интернета. В таком случае в элемент вкладывается определен- ный В Спецификации
    В КОТОРЫЙ ВКЛа- дываются элементы со ссылками на защищаемые ресурсы.
    Ссылки даются в виде строки URI в атрибуте
    Например:
    />
    EncodingType="wsse:Base64Binary">


    362 Разработка Web-служб средствами Java
    Элемент Призван заменить элемент ,
    обычно вкладываемый в элемент при создании цифровой
    Элемент разрешается вкладывать не в
    элемент но и в элементы цифровой
    Сам элемент рекомендуется вкладывать непосредственно в
    ,
    В элемент
    При обмене SOAP-посланиями часто имеет значение дата и время отправки послания и его обработки, а также срок действия послания. Приложение "WS-Security Addendum" определяет блок заголовка
    Этот эле- мент определен в другом пространстве имен с идентификатором
    В элемент
    , И
    с датой и временем создания, сроком действия и временем об- работки SOAP-послания промежуточным сервером. Дата и время относятся к типу языка XSD. Их рекомендуется отсчитывать по правилам
    UTC, в противном случае следует использовать атрибут в кото- ром надо записать тип, описанный в схеме XML. Например:

    2002-ll-13T08:42:00Z
    2002-12-13T09:00:00Z

    2002-ll-13T08:44:00Z





    Глава 8. Безопасность предоставления услуг 363
    Что дальше?
    Как видно из предыдущего раздела, спецификация "WS-Security" определяет только самые общие правила составления блоков заголовка SOAP-послания,
    обеспечивающих безопасность SOAP-послания. Конкретные правила долж- ны быть определены в расширениях этой спецификации. Корпорации IBM
    и Microsoft работают над дальнейшим развитием и детализацией правил обеспечения безопасности Web-служб. В настоящее время разрабатываются следующие спецификации, расширяющие спецификацию "WS-Security":
    • Спецификация описывает методы проведения той или иной политики безопасности. Она определяет ограничения доступа, форматы кодирования, используемые алгоритмы шифрования, форматы файлов политики. Спецификация расширяема и может быть дополнена новыми элементами.
    • Спецификация "WS-Trust" описывает методы установления доверитель- ных отношений между Web-службами, их клиентами и посредниками.
    Спецификация "WS-Privacy", совместно со спецификациями "WS-
    Security", "WS-Policy" и "WS-Trust", определяет правила сохранения ком- мерческой тайны предприятия или учреждения при обмене SOAP- посланиями.
    В дальнейшем IBM и Microsoft планируют выпустить следующий слой спе- цификаций, основанных уже на спецификациях "WS-Policy", "WS-Trust" и "WS-Privacy". Новые спецификации призваны конкретизировать и расши- рить требования предыдущих спецификаций.
    • Спецификация "WS-Secure Conversation" будет описывать правила обме- на конфиденциальной информацией, аутентификации сообщений, соз- дания ключей и обмена ими.
    • Спецификация будет рассматривать доверительные от- ношения в разнородных средах и в распределенных приложениях.
    • Спецификация "WS-Authorization" создаст стандарт для авторизации клиентов и сообщений.
    Все эти спецификации основаны на известных правилах и алгоритмах шиф- рования, аутентификации, авторизации. Они просто вводят стандарты при- менения этих правил в Web-службах. Работа только началась, нас ждет еще множество решений проблем безопасности Web-служб.

    ГЛАВА 9
    Развитие Web Services
    Раз вы дочитали книгу до этого места, значит, поняли, что технология
    Web Services только начинает развиваться. Плодотворная идея предста- вить информацию в виде документов XML и пересылать ее по Интерне- ту, используя только протокол HTTP, находит множество воплощений.
    Десятки фирм и рабочих групп активно развивают эту технологию. Бук- вально каждую неделю появляются новые программные продукты и но- вые версии старых продуктов. То и дело обновляются протоколы и спе- цификации Web Services и возникают новые спецификации. Расширяется сфера применения Web Services, все больше фирм создают у себя Web- службы.
    В этой главе я постараюсь дать обзор новейших тенденций развития техно- логии Web Services. Посмотрим сначала, как развиваются "три кита", на ко- торых стоят Web-службы — протоколы SOAP, WSDL и UDDI.
    Протокол SOAP
    Близится к завершению работа над версией 1.2 протокола SOAP. Сейчас,
    когда вы читаете эти строки, уже должна выйти ее окончательная редакция.
    Описание протокола, сделанное в главе 3, основано на черновой редакции
    SOAP 1.2, опубликованной в июне 2002 года. Не думаю, что эта редакция будет сильно изменена, поскольку всякие дополнения к протоколу сейчас оформляются в виде отдельных документов — расширений (extensions) про- токола SOAP.
    В версию SOAP 1.2 внесено много мелких изменений: исключен атрибут из корневого элемента атрибут actor заменен

    Глава 9. Развитие Web Services 365
    атрибутом role, значения атрибута записываются словами "true" и "false". Введены новые элементы и атрибуты, исключен HTTP- заголовок SOAPAction, определен НОВЫЙ MIME-ТИП
    изменено содержимое элемента
    Все это подробно изложено в главе 3.
    Пока не выпущена окончательная редакция SOAP 1.2, производители про- граммных продуктов, реализующих протокол SOAP, вынуждены основы- вать их на версии SOAP 1.1. Впрочем, уже в первой версии Apache Axis реализовано большинство конструкций SOAP 1.2. Как только версия 1.2
    будет утверждена, производители сразу же воплотят ее в новых версиях своих продуктов.
    Протокол SOAP, по-видимому, будет в дальнейшем заменен общим про- токолом пересылки любых документов XML, названным "XMLP" (XML
    Protocol). Но разработка этого протокола сильно затянулась, она еще не вышла из начальной стадии. Вероятнее всего, Web-службы еще некоторое время будут действовать в рамках протокола SOAP 1.2. Его текущее со- стояние и процесс разработки можно посмотреть на сайте
    http://www.w3.org/TR/xp/.
    Описание на языке WSDL
    Во время написания книги действовала версия 1.1 языка описания Web- служб но в июле 2002 года был опубликован черновой вариант вер- сии
    1.2. Он доступен по адресу
    Основные цели новой версии — привести язык WSDL в соответствие с тре- бованиями схемы XML и описать связь языка с версией SOAP 1.2. Кроме этого, в новую версию введены некоторые новые атрибуты, устаревшие ат- рибуты сделаны необязательными, уточнены многие правила описания
    Web-служб. Описание языка WSDL, сделанное в главе 4, основано на вер- сии WSDL 1.2.
    Несмотря на появление версии WSDL 1.2, ее внедрение произойдет еще не скоро. С одной стороны, судя по скорости разработки спецификации, ее окончательная редакция в ближайшее время не выйдет. С другой стороны,
    выпущено уже очень много программных средств, автоматически генери- рующих WSDL-описания Web-служб и создающих клиентские приложения по этим описаниям. Все эти средства основаны на WSDL 1.1. Будет нелегко в кратчайший срок перевести их на новую версию.
    Текущее состояние языка WSDL непрерывно отражается на сайте
    http://www.w3.org/ws/desc/.

    Разработка Web-служб средствами Java
    Реестр UDDI
    Реестры UDDI пока создаются и развиваются, основываясь на специфика- ции UDDI 2.0, изложенной в нескольких документах. В июле 2002 года вышла версия 3.0 спецификации UDDI. Она записана в одном документе
    "UDDI Version 3.0 Published Specification", доступном адресу
    По новой спецификации можно зарегистрировать данные сразу в несколь- ких реестрах, для чего введено понятие присоединенных (affiliate) реестров и изменен формат записи ключей. Усилена безопасность хранящихся в рее- стре сведений. В частности, реестры теперь могут хранить сведения, подпи- санные цифровой подписью. Новая спецификация позволяет реестру опре- делить политику обработки хранящихся в нем сведений. Для этого введен элемент
    Реестр теперь обеспечивает интернационализа- цию хранящихся в нем сведений.
    Спецификация UDDI 3.0 вносит и другие изменения в структуру сведе- ний, хранящихся в реестре, например, введены дополнительные правила поиска и сортировки с помощью шаблонов. Обеспечена согласованность документов UDDI с описанием Web-службы, сделанном на языке WSDL.
    Значительно расширен интерфейс UDDI API, в внесено много новых функций. Эти изменения приведены в главе 5, описывающей версию
    UDDI 3.0.
    Полное внедрение версии UDDI 3.0 связано с большими трудностями —
    надо привести в соответствие с ней огромное количество информации, уже хранящейся в реестрах UDDI. Поскольку версия 3.0 только расширяет вер- сию 2.0, почти ничего в ней не меняя, владельцы реестров и поставщики программного обеспечения идут проверенным путем. Они выпускают и внедряют продукты, совместимые со старыми версиями UDDI.
    Текущее состояние дел по разработке спецификации UDDI всегда можно посмотреть на сайте
    Фирменные разработки
    Правила создания и функционирования Web-служб описываются не только протоколом SOAP, языком WSDL и реестром UDDI. Определение Web
    Services, приведенное в главе 2, вообще ничего не говорит об этих "трех ки- тах". Оно даже не упоминает протокол HTTP. По этому определению для
    Web-служб характерно только использование документов XML и технологии
    WWW. Многие фирмы создают свои протоколы и спецификации Web- служб, основанные лишь на XML и WWW. В предыдущих главах уже упо- минались протоколы и спецификации XML-RPC, DIME, WS-Routing, WS-

    Глава 9. Развитие Web Services 367
    Inspection, WS-Security. Большинство нововведений принадлежит фирмам
    IBM и Microsoft и сообществу OASIS. Познакомимся подробнее с их дея- тельностью.
    Наибольшую активность в развитии Web Services, пожалуй, проявляет фир- ма IBM. Она разработала и активно внедряет несколько новых специфика- ций, ориентированных, главным образом, на организацию деловых связей и получения из них единого бизнес-процесса.
    Язык описания потоков работ WSFL
    Язык описания потоков работ WSFL (Web Services Flow Language) создан фирмой IBM с двумя целями: описать последовательность обработки ин- формации несколькими Web-службами, образующую бизнес-процесс (flow model), и описать взаимодействие Web-служб в этом процессе (global model). Для этого устанавливаются связи между SEI-интерфейсами взаимо- действующих Web-служб. При этом активно используется WSDL-описание этих Web-служб.
    Спецификация WSFL опубликована в документе http://www-4.ibm.com/
    Описание WSFL выполняется в виде документа XML с корневым элемен- том в который вкладывается любое число необязательных элементов описывающих поток информации, и элементов описывающих взаимные связи Web-служб. Кроме того, в корневой элемент можно вложить необязательные элементы и
    .
    Бизнес-поток описывается элементами, вложенными в элемент
    Начало потока указывается элементом конец потока — эле- ментом
    Элементы ОПИСЫВаюТ Web-СЛужбы,
    вовлеченные в поток, а элементы — операции, выполняемые этими Web-службами. Операции связаны либо по управлению, либо по об- рабатываемым данным. Связь по управлению описывается элементом
    , связь по данным — элементом . Имена входящей в эту связь и выходящей из нее Web-службы задаются атрибутами source и target этих элементов.
    Взаимодействие Web-служб описывается элементами, вложенными в эле- мент
    Сами Web-службы описываются элементами
    , а связи между ними — элементами в кото- рые вкладываются элементы и , описывающие две Web- службы, между которыми устанавливается связь.
    В листинге 9.1 приведена схема вложенности элементов языка WSFL.

    368 Разработка Web-служб средствами Java
    Листинг
    Вложенность элементов языка WSFL
    namespace="" location="" /> [*]
    [*]
    /> [*]
    location="" /> [*]

    />

    serviceProviderType=""> [*]
    name=""> [?]
    />
    [?]
    />
    [+]
    [*]
    portType="" operation=""> [?]
    [?]
    />



    Глава 9. Развитие Web Services 369
    [?]
    operation="" /> [?]
    [?]
    /> [?]
    [?]

    />
    />
    />




    />



    [*]
    [*]
    serviceproviderType="">
    serviceProviderType="">
    . 748

    370 Разработка Web-служб средствами Java






    serviceProvider="" portType=""
    />


    Как видно даже из такого краткого описания, язык WSFL позволяет опи- сать во всех подробностях последовательную обработку SOAP-посланий не- сколькими Web-службами.
    Корпорация Microsoft создала свой язык описания бизнес-процессов,
    непохожий на язык WSFL. Он называется XLANG и разработан для сер- вера BizTalk. С языком XLANG можно ознакомиться на сайте
    1   ...   13   14   15   16   17   18   19   20   21


    написать администратору сайта