Рассмотрены основы технологии Web-сервисов в спецификациях первого и второго уровня, реализация технологии Web-сервисов в виде стандартов платформы Java и в таких распространенных Java-стеках Web-сервисов, как Metro, СXF и Axis2. Материал книги сопровождается более 70 примерами с подробным анализом исходных кодов. На сайте издательства находятся примеры проектов из книги, а также дополнительные материалы. Оглавление......Page 4 Введение......Page 8 Глава 1. Архитектура XML Web-сервисов......Page 14 Модель Message Oriented......Page 15 Модель Service Oriented......Page 16 Модель Resource Oriented......Page 17 Архитектура Service Oriented Architecture (SOA)......Page 18 XML......Page 20 XML Namespaces......Page 22 XML Infoset......Page 23 XML Schema......Page 28 SOAP 1.2......Page 42 WSDL 2.0......Page 51 Практическое применение Web-сервисов......Page 60 UDDI......Page 63 ebXML......Page 65 DISCO......Page 68 JAXR......Page 69 WS-BPEL 2.0......Page 72 Исполняемое BPEL-описание......Page 73 Абстрактное BPEL-описание......Page 86 WS-CDL 1.0......Page 87 Глава 2 . Расширения технологии Web-сервисов......Page 98 WS-Policy, WS-PolicyAttachment и WS-PolicyAssertions......Page 99 WS-Addressing......Page 104 WS-Security......Page 109 WS-Trust......Page 118 WS-SecureConversation......Page 131 WS-SecurityPolicy......Page 137 WS-Federation......Page 161 WS-Transfer......Page 172 WS-ResourceTransfer и WS-Fragment......Page 175 WS-MetadataExchange......Page 177 WS-Enumeration......Page 180 WS-Eventing......Page 185 WS-Management......Page 189 WS-Discovery......Page 194 WS-ReliableMessaging......Page 198 WS-ReliableMessaging Policy......Page 203 WS-Coordination......Page 205 WS-AtomicTransaction......Page 207 WS-BusinessActivity......Page 209 Глава 3 . Java Web-сервисы......Page 211 Пример Web-сервиса и клиента на основе JAXM и SAAJ......Page 212 JAXP......Page 223 Пример использования JAXP......Page 224 JAXB......Page 230 Инструменты xjc и schemagen......Page 231 Binding Declaration......Page 233 JAXB API......Page 241 Пример использования JAXB......Page 242 JAX-RPC......Page 245 Инструменты wscompile и wsdeploy......Page 250 Пример использования JAX-RPC......Page 260 JAX-WS......Page 263 Модель программирования на стороне сервера......Page 265 Модель программирования на стороне клиента......Page 267 Развертывание JAX-WS Web-сервисов и JAX-WS-клиентов......Page 268 Пример создания JAX-WS Web-сервиса и JAX-WS-клиента......Page 271 JAX-RS......Page 295 Модель программирования и развертывания JAX-RS Web-сервисов......Page 296 Формат JSON......Page 298 WADL......Page 300 Применение технологии JAX-RS......Page 304 Глава 4 . Проект Metro......Page 313 Тестирование стека Metro......Page 314 Оптимизация передачи двоичных данных (MTOM)......Page 316 Адресация......Page 320 Надежная доставка сообщений......Page 322 Система безопасности......Page 326 Создание клиента Web-сервиса......Page 332 Опция Проверка подлинности имени пользователя с помощью симметричного ключа......Page 334 Опция Username Authentication with Password Derived Key......Page 342 Опция Безопасность совместных сертификатов......Page 345 Опция Симметричная привязка к маркеру Kerberos......Page 348 Опция Безопасность транспорта (SSL)......Page 352 Опция Проверка подлинности сообщения по SSL......Page 357 Опция Проверка подлинности SAML по SSL......Page 362 Опция Одобрение сертификата......Page 365 Опция Подтверждение подлинности отправителя SAML сертификатом......Page 367 Опция Держатель ключа SAML......Page 370 Опция Выпущенный STS маркер......Page 373 Опция Выпущенный STS маркер с сертификатом службы......Page 380 Опция Выпущенный STS маркер одобрения......Page 381 Опция Выпущенный STS маркер поддержки......Page 383 Поддержка протокола SOAP/TCP......Page 384 Поддержка кодировки Fast Infoset......Page 385 Поддержка WS-MakeConnection......Page 387 Глава 5 . Проект Apache CXF......Page 389 Архитектура платформы CXF......Page 390 Создание SOAP Web-сервисов с использованием CXF API......Page 394 Связывание данных Aegis......Page 401 Связывание данных XMLBeans......Page 404 Опции features и обработчики Interceptors......Page 405 Поддержка протокола SOAP/HTTP......Page 414 Поддержка протокола XML/HTTP......Page 416 Поддержка протокола HTTPS......Page 420 Проект Apache Camel......Page 423 Проект Apache ActiveMQ......Page 431 Локальный транспорт......Page 440 Поддержка MTOM......Page 441 WS-Addressing......Page 443 WS-ReliableMessaging......Page 445 WS-Security......Page 448 WS-SecurityPolicy......Page 452 WS-Trust......Page 454 WS-SecureConversation......Page 455 JAX-RS......Page 456 JavaScript......Page 462 Глава 6 . Проект Axis2......Page 465 Конфигурационный файл axis2.xml......Page 468 Архив AAR и развертывание Web-сервиса......Page 470 Модули Axis2......Page 474 Модель программирования Axis2 Web-сервисов......Page 477 Axis2 XML-модель AXIOM......Page 479 Client API......Page 485 Поддержка архитектуры REST......Page 494 Связывание данных......Page 501 ADB (Axis2 Databinding)......Page 504 JiBX......Page 505 Поддержка MTOM......Page 520 Поддержка протокола HTTPS......Page 525 HttpClient и аутентификация......Page 528 Транспортные протоколы проекта Axis2......Page 531 TCP......Page 532 JMS......Page 533 WS-ReliableMessaging......Page 538 WS-Security......Page 542 Приложение. Описание компакт-диска......Page 550 Список литературы......Page 559 Предметный указатель......Page 560 ПРИЛОЖЕНИЯ ......Page 562 JAXB API......Page 563 Пакет javax.xml.messaging......Page 576 Пакет javax.xml.soap......Page 579 Пакет javax.xml.parsers......Page 593 StAX......Page 595 DOM......Page 611 SAX......Page 625 TrAX......Page 631 XPath API......Page 639 Пакет javax.xml.validation......Page 640 Пакет javax.xml.rpc......Page 644 Пакет javax.xml.rpc.encoding......Page 647 Пакеты javax.xml.rpc.handler и javax.xml.rpc.handler.soap......Page 649 Пакет javax.xml.rpc.holders......Page 651 Пакет javax.xml.rpc.server......Page 652 Пакет javax.ws.rs......Page 653 Пакет javax.ws.rs.core......Page 654 Пакет javax.ws.rs.ext......Page 669 Пакеты javax.jws и javax.jws.soap......Page 673 Пакет javax.xml.ws......Page 675 Пакеты javax.xml.ws.handler и javax.xml.ws.handler.soap......Page 687 Пакеты javax.xml.ws.http и javax.xml.ws.soap......Page 689 Пакет javax.xml.ws.spi......Page 691 Пакет javax.xml.ws.wsaddressing......Page 692 Пакет javax.annotation......Page 694 SAML 1.1......Page 695 SAML 2.0......Page 701 WSDL 1.1......Page 724 Протокол SOAP 1.1......Page 726 Формат MIME......Page 727 XML-схема конфигурации ActiveMQ......Page 729 Дочерние элементы элемента ......Page 733 Дочерние элементы элемента ......Page 737 Дочерние элементы элемента ......Page 738 Дочерние элементы элемента ......Page 739 Дочерние элементы элемента ......Page 742 Дочерние элементы элемента ......Page 743 Дочерние элементы элемента ......Page 744 Дочерние элементы элемента ......Page 745 Дочерние элементы элемента ......Page 748 Дочерние элементы элемента ......Page 753 Дочерние элементы элемента ......Page 754 Дочерние элементы элемента ......Page 757 Протокол SOAP 1.1......Page 758 Спецификация XML Encryption......Page 761 Спецификация XML Signatures......Page 767 Язык XPath 1.0......Page 772 Язык XPath 2.0......Page 775 Язык XSLT......Page 787