В книге
Web-сервисы Java. Машнин рассмотрены основы технологии Web-сервисов в спецификациях I-го и II-го уровня, реализация технологии Web-сервисов в виде стандартов платформы Java и в этих распространенных Java-стеках Web-сервисов, как Metro, СXF и Axis2. Материал книжки сопровождается более 70 примерами с подробным анализом исходных кодов. На веб-ресурсе издательства располагаются примеры проектов из книжки, и дополнительные материалы.
Оглавление книги
Web-сервисы Java. Машнин
Глава 1. Архитектура XML Web-сервисов
13
Модель Message Oriented 14
Модель Service Oriented 15
Модель Resource Oriented 16
Модель Policy 17
Архитектура Service Oriented Architecture (SOA) 17
Основные технологии архитектуры Web-сервисов 19
XML 19
XML Namespaces 21
XML Infoset 22
XML Schema 27
SOAP 1.2 41
WSDL 2.0 50
Практическое применение Web-сервисов 59
UDDI 62
ebXML 64
DISCO 67
JAXR 68
Языки WS-BPEL и WS-CDL 71
WS-BPEL 2.0 71
WS-CDL 1.0 86
Глава 2. Расширения технологии Web-сервисов
97
WS-Policy, WS-PolicyAttachment и WS-PolicyAssertions 98
WS-Addressing 103
WS-Security 108
WS-Trust 117
WS-SecureConversation 130
WS-SecurityPolicy 136
WS-Federation 160
WS-Transfer 171
WS-ResourceTransfer и WS-Fragment 174
WS-MetadataExchange 176
WS-Enumeration 179
WS-Eventing 184
WS-Management 188
WS-Discovery 193
WS-ReliableMessaging 197
WS-ReliableMessaging Policy 202
WS-MakeConnection 204
WS-Coordination 204
WS-AtomicTransaction 206
WS-BusinessActivity 208
Глава 3. Java Web-сервисы
210
JAXM и SAAJ 211
Пример Web-сервиса и клиента на основе JAXM и SAAJ 211
JAXP 222
Пример использования JAXP 223
JAXB 229
Инструменты xjc и schemagen 230
Binding Declaration 232
JAXB API 240
Пример использования JAXB 241
JAX-RPC 244
Инструменты wscompile и wsdeploy 249
JAX-RPC API 259
Пример использования JAX-RPC 259
JAX-WS 262
JAX-WS API 264
Модель программирования JAX-WS 264
Модель программирования на стороне сервера 264
Модель программирования на стороне клиента 266
Развертывание JAX-WS Web-сервисов и JAX-WS-клиентов 267
Пример создания JAX-WS Web-сервиса и JAX-WS-клиента 270
JAX-RS 294
JAX-RS API 295
Модель программирования и развертывания JAX-RS Web-сервисов 295
Формат JSON 297
WADL 299
Применение технологии JAX-RS 303
Глава 4. Проект Metro
312
Тестирование стека Metro 313
Оптимизация передачи двоичных данных (MTOM) 315
Адресация 319
Надежная доставка сообщений 321
Система безопасности 325
Создание клиента Web-сервиса 331
Опция Проверка подлинности имени пользователя с помощью симметричного ключа 333
Опция Username Authentication with Password Derived Key 341
Опция Безопасность совместных сертификатов 344
Опция Симметричная привязка к маркеру Kerberos 347
Опция Безопасность транспорта (SSL) 351
Опция Проверка подлинности сообщения по SSL 356
Опция Проверка подлинности SAML по SSL 361
Опция Одобрение сертификата 364
Опция Подтверждение подлинности отправителя SAML сертификатом 366
Опция Держатель ключа SAML 369
Опция Выпущенный STS маркер 372
Опция Выпущенный STS маркер с сертификатом службы 379
Опция Выпущенный STS маркер одобрения 380
Опция Выпущенный STS маркер поддержки 382
Поддержка протокола SOAP/TCP 383
Поддержка кодировки Fast Infoset 384
Поддержка WS-MakeConnection 386
Глава 5. Проект Apache CXF
388
Архитектура платформы CXF 389
Создание SOAP Web-сервисов с использованием CXF API 393
Связывание данных Aegis 400
Связывание данных XMLBeans 403
Опции features и обработчики Interceptors 404
Протоколы передачи сообщений 413
Поддержка протокола SOAP/HTTP 413
Поддержка протокола XML/HTTP 415
Поддержка протокола HTTPS 419
Apache Camel, JMS и Apache ActiveMQ 422
Проект Apache Camel 422
Проект Apache ActiveMQ 430
Локальный транспорт 439
Поддержка MTOM 440
Поддержка спецификаций WS-* 442
WS-Addressing 442
WS-ReliableMessaging 444
WS-Security 447
WS-SecurityPolicy 451
WS-Trust 453
WS-SecureConversation 454
JAX-RS 455
JavaScript 461
Глава 6. Проект Axis2
464
Конфигурационный файл axis2.xml 467
Архив AAR и развертывание Web-сервиса 469
Модули Axis2 473
Модель программирования Axis2 Web-сервисов 476
Axis2 XML-модель AXIOM 478
Client API 484
Поддержка архитектуры REST 493
Связывание данных 500
ADB (Axis2 Databinding) 503
XMLBeans 504
JiBX 504
JAXB 519
Поддержка MTOM 519
Поддержка протокола HTTPS 524
HttpClient и аутентификация 527
Транспортные протоколы проекта Axis2 530
TCP 531
JMS 532
WS-ReliableMessaging 537
WS-Security 541
Приложение. Описание электронного архива 549
Список литературы 558
Предметный указатель