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

  • Листинг 9.2. Элемент языка BPEL4WS

  • определенные в пространстве имен с иден- тификатором Web-служба коор- динации отвечает SOAP-посланиями с элементами

  • Деятельность организации WS-I

  • Профиль WS-Basic Профиль WS-Basic Profile создан фирмами IBM, Microsoft и BEA Systems.Его черновая версия опубликована на странице http://www.ws

  • http://www.ws-i.org/. Что дальше

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


    Скачать 9.24 Mb.
    НазваниеИльдар ХабибуллинРазработкаWebслужбсредствами
    АнкорРазработка веб-служб средствами Java.pdf
    Дата03.02.2018
    Размер9.24 Mb.
    Формат файлаpdf
    Имя файлаРазработка веб-служб средствами Java.pdf
    ТипКнига
    #15148
    КатегорияИнформатика. Вычислительная техника
    страница19 из 21
    1   ...   13   14   15   16   17   18   19   20   21
    Язык описания бизнес-процессов BPEL4WS
    Фирма IBM откликнулась на язык XLANG созданием языка BPEL4WS
    (Business Process Execution Language for Web Services), призванного объеди- нить языки WSFL и XLANG. Спецификация языка BPEL4WS доступна по адресу
    Язык BPEL4WS создает композицию Web-служб, участвующих в бизнес- процессе, и описывает ее как одну Web-службу элементами языка WSDL. Такая композиция называется процессом
    и записы- вается в теле элемента
    . Каждый шаг процесса называется дейст-
    вием (activity). В число действий входит обращение к какой-либо Web- службе для выполнения Web-услуги , ожидание результата получение запроса от клиента , создание ответа копиро- вание данных .

    Глава 9. Развитие Web Services 371
    Действия,
    ,
    ,
    , позволяют задать сложный нелинейный алгоритм обработки данных
    Web-службами, входящими в процесс BPEL4WS.
    Действия и позволяют обработать исключительные ситуа- ции, возникающие при выполнении других действий, основываясь на эле- ментах описания WSDL.
    Процесс BPEL4WS описывается, как всякая Web-служба, документом
    WSDL, в который записываются дополнительные элементы
    , определенные в пространстве имен с идентификатором
    Эти элементы вкладыва- ются непосредственно в корневой элемент
    WSDL-описания.
    Они содержат один или два элемента содержащих ссылки на
    WSDL-описание тех Web-служб, которые выполняют действия, составляю- щие процесс.
    Само же описание Web-служб, выполняющих действие, производится эле- ментами
    , вложенными в элемент
    , который, в очередь, вкладывается в элемент
    В листинге 9.2 показана схема вложенности элемента
    Листинг 9.2. Элемент языка BPEL4WS
    [?]
    [?]
    /> [+]
    [*]

    [?]


    372 Разработка Web-служб средствами Java
    /> [*]

    [?]

    [?]
    [+]
    | <Действия>


    [*]

    [*]
    [+]
    [*]


    />




    Глава 9. Развитие Web Services 373
    partner="" portType="" operation=""
    inputContainer="" outputContainer="">
    />
    [?]
    [*]
    [+]
    [?]

    container="">
    /> [*]

    operation=""
    [?]
    /> [*]


    [*]
    [+]
    [?]
    faultContainer="" />
    for=""
    />

    374 Разработка Web-служб средствами Java
    condition=""> [*]
    Фирма IBM активно продвигает язык BPEL4WS в качестве стандарта для описания взаимодействия Web-служб в бизнес-процессах. Она уже выпус- тила программный продукт BPWS4J, реализующий спецификацию
    BPEL4WS. Кроме интерфейсов и классов, реализующих BPEL4WS, в состав продукта входят примеры описаний на языке простой редактор для создания файлов с описаниями утилиты для проверки доку- ментов BPEL4WS. Пакет BPWS4J свободно доступен по адресу
    Спецификация WS-Coordination
    Спецификация WS-Coordination, разработанная фирмами IBM, Microsoft и
    BEA Systems, описывает самые общие правила взаимодействия компонентов распределенного приложения, которые можно затем детализировать други- ми, более конкретными спецификациями. Ее можно посмотреть на сайте
    Компоненты распределенного приложения [10] часто работают на разном,
    плохо совместимом оборудовании и используют самые разные протоколы.
    Для координации их деятельности создаются специальные согласующие про-
    токолы (coordination protocols). Главная задача спецификации — установить общие правила регистрации и активизации согласующих протоколов. Эту задачу должна решить Web-служба координации (coordination service). Она содержит в себе службу активизации и службу регистрации. У каждого ком- понента может быть своя Web-служба координации.
    Web-служба координации активизируется при получении SOAP-послания от клиента с блоком заголовка
    При этом про- исходит обращение к службе активизации, адрес порта которой записан во вложенном элементе . Еще два вложенных элемента
    И
    ТИП согласующего протокола и адрес клиента, приславшего запрос. Эти элементы и другие элементы, введенные в спецификацию, определены в пространстве имен с идентификатором
    После активизации Web-служба координации посылает ответное SOAP-
    С блоком заголовка , В КО- торый вложен элемент а также элемент содержащий сведения о созданном контексте Web- службы координации, в частности, ее адрес.

    Глава 9. Развитие Web
    375
    В каждое SOAP-послание, использующее Web-службу координации,
    вставляется блок заголовка . В элемент
    вкладывается
    , ОПИСЫ- ваЮЩИЙ ТИП
    Протокола, И Элемент
    В
    котором, во вложенном элементе
    , записывается порта
    Web-службы координации.
    Получив ответ, клиент регистрируется в Web-службе координации с помо- щью службы регистрации. Для этого он посылает Web-службе SOAP- послание с блоком заголовка , в который вложен элемент
    с содержимым, полученным от Web-службы коор- динации, и элемент который указывает тип согласующего протокола. Кроме того, вкладывается элемент в котором указан адрес Web-службы, реа- лизующей согласующий протокол, выбранный клиентом, и уже знакомый
    На это Web-служба координации отвечает SOAP-посланием с блоком за- головка , содержащим элемент
    и элемент содержащий адрес Web- службы, реализующей согласующий протокол, выбранный Web-службой координации.
    После регистрации происходит взаимодействие Web-служб, автоматически использующее согласующие протоколы.
    Спецификация WS-Coordination ничего не говорит о согласующих протоко- лах и способах реализации Web-службы координации. Это должны сделать другие спецификации. Одна из таких спецификаций — спецификация WS-
    Transaction, описывающая тип согласующего протокола, устанавливающего правила создания и выполнения транзакций.
    Спецификация WS-Transaction
    Спецификация созданная фирмами IBM, Microsoft и
    Systems, предлагает две модели, детализирующие правила WS-Coordination:
    модель недолговременной транзакции с ограниченным числом участников
    AT (Atomic Transaction) и модель долговременной транзакции с большим числом участников ВА (Business Activity). Спецификация представлена на сайте
    Модель AT управляет одной транзакцией по принципу "все или ничего". Со- гласующий протокол транзакции регистрируется по правилам спецификации
    WS-Coordination. В элементе , определяющем согласующего протокола, указывается строка ws/2002/08/wstx. Спецификация устанавливает правила завершения и от-

    376 Разработка Web-служб средствами Java
    ката транзакции, например, предлагается двухфазная фиксация [10] тран- закции.
    После регистрации согласующего протокола по правилам спецификации
    WS-Coordination, клиенты начинают управление транзакцией, записывая в
    SOAP-ПОСЛаниях
    ,
    ,
    , определенные в пространстве имен с иден-
    тификатором
    Web-служба коор-
    динации отвечает SOAP-посланиями с элементами
    , ,
    ,
    ,
    В каждый ИЗ
    этих элементов вкладываются элементы
    и
    содержащие адреса портов Web-служб, реали- зующих соответствующие протоколы. Для создания и выполнения транзак- ции в рамках Web-службы координации создаются соответствующие служ- бы, выполняющие описанные этими элементами действия.
    Модель ВА охватывает, как правило, несколько транзакций, образующих бизнес-процесс, описанный, возможно, на языке BPEL4WS. Во время акти- визации и регистрации, в элементе опреде- ляющем тип согласующего протокола, указывается строка http://schemas.xmlsoap.org/ws/2002/08/wstx.
    Модель ВА задает правила распределения ресурсов между участниками биз- нес-процесса и правила освобождения ресурсов, не используемых ими. Для этого спецификация WS-Transaction определяет элементы
    , ,
    ,
    Web-службой координации для опроса участников бизнес-просесса, и элементы
    ,
    ,
    меняемые участниками бизнес-процесса для ответа. Все эти элементы опреде- лены в пространстве имен с идентификатором http://schemas.xmlsoap.org/
    ws/2002/08/wsba. Получив ответ участника, Web-служба координации распо- ряжается ресурсами.
    Деятельность организации WS-I
    Список протоколов и спецификаций Web Services далеко не ограничен пе- речисленными выше документами. Можно назвать еще множество аббре- виатур, относящихся к Web-службам: SAML, WSXL, WSCL, WSCM, WSEL,
    WSML,
    WS-License,
    Пока я их перечисляю, возникают новые спецификации. Такую тенденцию необходимо упорядочить и стан- дартизировать. С этой целью весной 2002 года по инициативе IBM и
    Microsoft была создана организация, названная "Web Services Interoperability
    Organization", сокращенно WS-I. Ее целью была провозглашена выработка стандартов, обеспечивающих совместимость программных продуктов разных

    Глава 9. Развитие Web Services 377
    производителей, относящихся к разным платформам, операционным систе- мам и языкам программирования. К организации WS-I уже примкнули все крупные производители компьютерного оборудования и программного обеспечения. Официальный сайт организации http://www.ws-i.org/.
    Организация WS-I вырабатывает четыре типа документов: профили взаимо- действия, инструменты для тестирования, образцы применения и примеры приложений, построенных по этим образцам.
    Профиль взаимодействия (interoperability profile) или просто профиль — это набор протоколов и/или спецификаций, взятых в определенный момент их развития, вместе с правилами их наилучшего использования. Профиль со- держит готовое проверенное решение, которое могут сразу применить соз- датели Web-служб.
    Основой для первого профиля, разработанного организацией WS-I, послужил набор взаимодействующих протоколов и спецификаций XML Schema 1.0,
    SOAP 1.1, WSDL 1.1 и UDDI 1.2. Этот профиль назван "WS-Basic".
    Профиль WS-Basic
    Профиль WS-Basic Profile создан фирмами IBM, Microsoft и BEA Systems.
    Его черновая версия опубликована на странице http://www.ws-
    Профиль рассматри- вает четыре группы вопросов: пересылку SOAP-посланий, описание регистрацию UDDI и безопасность. Рассмотрим их подробнее.
    Пересылка SOAP-посланий
    Организация WS-1 выбрала для профиля WS-Basic следующие версии про- токолов:
    • SOAP 1.1;
    • XML 1.0 (Second Edition);
    • HTTP/1.1.
    Большинство рекомендаций использованию протокола SOAP 1.1 отно- сится к сообщениям об ошибках
    Профиль рекомендует не исполь- зовать в элементе других вложенных элементов кроме и
    Имена этих элементов рекомен- дуется записывать без префиксов. В элементе следует исполь- зовать только коды ошибок, определенные SOAP 1.1.
    Профиль не рекомендует употреблять атрибут в элементах те- ла SOAP-послания и вообще во всех элементах, определенных в про- странстве имен с идентификатором http://schemas.xmlsoap.org/soap/envelope/.

    378 Разработка Web-служб средствами Java
    Само SOAP-послание не должно содержать описаний DTD, инструкций по обработке и никаких элементов после элемента .
    Все элементы, вложенные в элемент , должны быть записаны расши- ренными именами с префиксами. Это облегчает синтаксический разбор по- слания.
    Профиль рекомендует использовать для пересылки SOAP-посланий только протокол HTTP версии 1.1, причем только метод POST. Если применен другой HTTP-метод, то сервер должен вернуть код ответа "405 Method not
    Allowed". Послание с сообщением об ошибке должно иметь код ответа "500 Server Error", а послание без элемента
    — код ответа "200
    или "202 Accepted".
    Сервер должен вернуть ответ с кодом "415 Unsupported Media если в поле заголовка запроса не был указан
    Сервер должен послать сообщение с кодом ответа "307 Temporary Redirect",
    если он направил сообщение другому серверу.
    Не следует использовать расширения протокола HTTP, сделанные в реко- мендации RFC 2774.
    Как видите, большинство этих рекомендаций учтено в версии SOAP 1.2.
    Описание WSDL
    Профиль WS-Basic содержит следующие версии спецификаций:

    1.1;
    • XML Schema 1.0.
    Профиль дает множество рекомендаций по оформлению описания Web- служб, сделанного на языке WSDL.
    Большинство рекомендаций относится к элементу описания
    WSDL. Его бездумное применение приводит к большим трудностям при разборе описания Web-службы. Профиль рекомендует записывать элемент первым в элементе и использовать его только для включения других описаний или определений на языке XSD. В первом слу- чае надо обращать особое внимание на значение атрибута targetNamespace включаемого описания. Оно должно соответствовать значению атрибута namespace элемента . В последнем случае элемент следует включать в элемент .
    Элемент следует записывать первым в элементе или сразу после элемента . В элементе не следует применять имена элементов из пространств имен, на которые нет ссылок в элементе
    .

    Глава 9. Развитие Web Services 379
    При описании посланий документного стиля в элементе следует записывать не более одного элемента
    , описывающего тело
    SOAP-послания. При этом надо обязательно использовать атрибут element,
    указывающий на XSD-определение типа элемента.
    При описании посланий процедурного стиля можно записывать сколько угодно элементов
    , при этом следует использовать их атрибут type и строго соблюдать порядок следования элементов
    . Результат выпол- нения процедуры должен содержать только один элемент может быть, сложного типа.
    В описании нельзя использовать операции типов и
    Профиль рекомендует применять для описания пересылки посланий (SOAP
    binding) только протокол SOAP 1.1. В элементе надо атри- бутом transport указать значение
    Так сделано в листинге 4.2. В атрибуте use следует указывать значение по умол- чанию "literal".
    В элементах и обязательно надо использовать атрибут part, а в элементе еще и атрибут name.
    Ни в коем случае нельзя смешивать в одном описании документный и про- цедурный
    Большая часть этих рекомендаций уже учтена в версии WSDL 1.2.
    Регистрация UDDI
    В профиль WS-Basic включены следующие версии спецификаций UDDI 2.0:
    • UDDI Version 2.04 API Published Specification;
    • UDDI Version 2.03 Data Structure Reference;
    • Version 2.0 UDDI XML Schema 2001;
    • UDDI Version 2.03 Replication Specification;
    • Published Specification, Version 2.03 Replication XML Schema 2001;
    • UDDI Version 2.03 XML Custody Schema;
    • UDDI Version 2.01 Operator's Specification, Published Specification.
    Основная рекомендация профиля WS-Basic — максимально согласовать описание Web-службы, сделанное на языке WSDL, с описанием UDDI.
    Для этого профиль советует установить взаимно однозначное соответст- вие между элементами описания и элементами описания UDDI. При этом значение атрибута

    380 Разработка Web-служб средствами Java
    location элемента должно совпадать со значением атрибута accessPoint элемента
    Если такое взаимно однозначное соответствие установлено, то следует по- метить элемент как совместимый с профилем WS-
    Для этого в элементе вложенном в элемент
    , следует указать категорию
    И дать ей значение
    .0".
    Описание технических деталей необходимо основывать на описа- нии WSDL. Для этого в элементе вложенном в элемент следует указывать адрес описания WSDL, как это сделано в лис- тинге 5.5. Кроме того, надо пометить элемент как совместимый с описанием WSDL. Для этого надо во вложенном элементе
    указать категорию uddi-org: types и дать ей значение
    Многие рекомендации профиля WS-Basic уже учтены в версии UDDI 3.0.
    Безопасность
    Для обеспечения безопасности профиль WS-Basic рекомендует протокол
    HTTPS, то есть следующие протоколы:
    HTTP Over TLS (рекомендация RFC
    • TLS Protocol Version 1.0 (рекомендация RFC 2246);
    • SSL Protocol Version 3.0;
    • Internet X.509 Public Key Infrastructure Certificate and CRL Profile (реко- мендация RFC 2459).
    Это старые испытанные средства, их применение давно отработано на прак- тике. Профиль дает лишь одну рекомендацию по использованию этих про- токолов — оговаривать с Web-службой детали их применения.
    Как видите, профиль WS-Basic дает ценные практические рекомендации по эффективной организации работы Web-службы. Эти рекомендации уже во- площаются в следующих версиях спецификаций Web Services. Работа только началась. Организация WS-I готовит новые профили, образцы их примене- ния и примеры приложений. Вы можете ознакомиться с ними на сайте ор- ганизации http://www.ws-i.org/.
    Что дальше?
    Вот и последняя страница книги. Вы познакомились с новейшей Web- технологией, широко распространяющейся по компьютерному миру и бур-

    Глава 9. Развитие Web Services 381
    но развивающейся вширь и вглубь. Станет ли эта технология доминирую- щей, затмит ли она другие Web-технологии — неизвестно. Полувековая ис- тория развития вычислительной техники знает много шумных открытий,
    которым прочили роль панацеи от всех программистских бед. Большинство этих технологий благополучно забыто, другие заняли свое место и скромно работают на благо переработки информации. Скорее всего, то же самое произойдет и с Web Services. Но пока ниша Web-служб четко не определена.
    От нас, от нашего труда и нашей активности зависит место и область при- менения Web Services. Успехов вам в ваших проектах!

    1   ...   13   14   15   16   17   18   19   20   21


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