《Java SOA Cookbook 中文版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)休依特著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302252979
  • 页数:680 页
图书介绍:本书为负责实现基于服务的架构(SOA)的开发人员提供了实用的解决方案和建议。

前言 1

第一部分 SOA基础 15

第1章 SOA入门 15

1.1 概述 15

1.2 定义服务 16

1.3 定义SOA 20

1.4 识别服务候选对象 23

1.5 识别不同种类的服务 27

1.6 为服务建模 28

1.7 使服务可组合 31

1.8 支持SOA工作 33

1.9 选择试验项目 39

1.10 建立治理机制 42

本章小结 45

第2章 XML Schema和SOA数据模型 47

2.1 概述 47

2.2 为SOA设计Schema 49

2.3 创建规范的数据模型 56

2.4 使用Chameleon命名空间设计 60

2.5 对Schema进行版本控制 62

2.6 参考Schema 64

2.7 常见Schema类型 65

2.8 根据单个Schema验证XML文档 68

2.9 根据多个Schema验证XML文档 71

2.10 使用正则表达式限制Schema类型 72

2.11 使用Schema枚举 75

2.12 从Schema生成Java类 75

2.13 从Java生成Schema 82

2.14 在Ant中从XML Schema生成Java源文件 87

2.15 从Schema生成XML文档实例 88

2.16 定制从Schema生成Java类的方式 90

2.17 在编组和解组过程中根据Schema进行验证 95

2.18 在编组和解组过程中收集Schema验证事件 98

本章小结 100

第3章 使用XML和Java 101

3.1 概述 101

3.2 读取XML数据流 102

3.3 编写XML数据流 108

3.4 过滤XML流中的数据 110

3.5 从XML文档选择值 113

3.6 更新XML文档中的值 118

3.7 将Java对象转换成XML文档实例 120

3.8 将XML文档实例转换成Java对象 124

3.9 从XML文档生成Schema 126

3.10 不使用JAXB将XML转换成Java 128

3.11 在JAXB中自定义代码生成 130

3.12 在Linux上查找包含给定类的JAR 131

3.13 透明替换XML文件 133

本章小结 136

第二部分 Web服务 139

第4章 准备工作 139

4.1 概述 139

4.2 使用公开的Web服务进行测试 140

4.3 安装Metro 146

4.4 安装Oracle WebLogic 148

4.5 创建和部署最简单的Web服务 150

4.6 创建服务并将其部署到WebLogic 152

4.7 设置Maven 2服务和客户端项目 155

4.8 理解WSDL 160

4.9 使用NetBeans中的引用来生成Web服务客户端 163

4.10 通过Metro监控SOAP流量 166

4.11 通过TCPMon监控SOAP流量 169

第5章 基于SAAJ的Web服务 173

5.1 概述 173

5.2 创建带有限定名称的SOAP元素 177

5.3 创建完整的SOAP消息 179

5.4 将SOAP响应写出到输出流 182

5.5 基于现有的SOAP信封创建Web服务客户端 183

5.6 从SOAP消息提取内容 187

5.7 使用原始XML源和DOM创建Web服务客户端 189

5.8 添加MIME头 192

5.9 添加命名空间声明 193

5.10 指定SOAPAction 193

5.11 向元素添加属性 199

5.12 从SOAP消息去掉头 200

5.13 向SOAP请求添加头 201

5.14 访问所有SOAP头元素 209

5.15 向传出的SOAP消息添加附件 211

5.16 访问传入的附件数据 212

5.17 在没有WSDL的情况下连接到SAAJ端点 213

5.18 使用SOAP Actor 215

5.19 通过Dispatch进行异步调用 216

5.20 在客户端基于Schema验证载荷 217

5.21 提供基于SAAJ的Web服务 224

5.22 发送和接收SOAP故障 229

本章小结 232

第6章 用JAX-WS创建Web服务应用程序 233

6.1 概述 233

6.2 从命令行调用Web服务 236

6.3 使用JAX-WS注解名称属性 239

6.4 调用最简单的Web服务 243

6.5 创建客户端代理 244

6.6 从Servlet或EJB使用Web服务 251

6.7 从JSP使用Web服务 255

6.8 在SOAP消息中使用JAXB注解实例 257

6.9 在Maven项目中使用wsimport 258

6.10 在wsgen和wsimport中处理版本错误 260

6.11 向SOAP请求添加头 263

6.12 截取请求以执行特定于协议的工作 274

6.13 拦截请求以对载荷执行操作 281

6.14 多个处理程序调用之间共享数据 282

6.15 在请求中传递二进制数据 287

6.16 在SOAP消息中使用二进制数据 288

6.17 在客户端启用二进制优化 291

6.18 使用Metro根据Schema验证SOAP载荷 292

6.19 对JAX-WS客户端实现异步调用 294

6.20 覆盖SEI中的端点地址 301

本章小结 302

第7章 提供基于SOAP的Web服务 303

7.1 概述 303

7.2 组装用于部署的服务 304

7.3 确定服务开发模型 306

7.4 选择编码、使用和参数样式 312

7.5 基于Java服务端点实现生成WSDL和可移植结果 318

7.6 创建基本的Web服务 322

7.7 指定命名空间 326

7.8 创建Web服务操作 327

7.9 指定Web服务消息部分 328

7.10 指定操作返回值 329

7.11 定义无参数操作 330

7.12 定义带有Void返回类型的操作 331

7.13 创建使用基于自定义WSDL和自定义Schema的复杂类型的Web服务 332

7.14 指定SOAP绑定样式、使用和参数样式 347

7.15 配置标准自定义绑定 348

7.16 从服务排除Public方法 351

7.17 创建带有XML视图的服务提供类 351

7.18 实现服务器端处理程序链 359

7.19 提供有状态的服务 362

7.20 添加带有方法参数的头 365

7.21 访问服务中的传入头参数 367

7.22 为SOAP操作或WS-Addressing操作提供值 367

7.23 优化服务器上二进制内容的传输 369

7.24 获得和共享有关用户和请求的数据 370

7.25 通过Holder<T>使用头引用 371

本章小结 374

第8章 REST式Web服务 375

8.1 概述 375

8.2 使用Servlet在HTTP服务上创建POX 385

8.3 使用JAX-WS创建REST式服务 390

8.4 使用套接字创建REST式服务的客户端 391

8.5 应用:使用SSL、Atom发布和Google Finance REST API 394

8.6 创建Jersey JAX-RS实现 404

8.7 使用Eclipse和Tomcat创建Jersey项目 406

8.8 使用Jersey创建Hello World程序 408

8.9 为同一类型的多个资源创建单一路径 410

8.10 在路径模板中限制值的结构 411

8.11 访问查询参数 412

8.12 在响应中将自定义类型汇集到XML中 414

8.13 为同一资源提供不同的具象 416

8.14 创建资源 423

8.15 使用表单和URI工作 429

8.16 使用SAAJ访问REST式服务 436

8.17 在具象上设置元数据 439

8.18 删除资源 441

8.19 重定向到其他服务 442

8.20 访问HTTP头 445

8.21 使用Cookie工作 447

8.22 使用异常和响应状态码 451

8.23 使用WADL 455

8.24 使用自定义Reader和Writer与资源交互 456

本章小结 465

第三部分 业务流程 469

第9章 使用BPEL编排服务 469

9.1 概述 469

9.2 确定业务设计方法 473

9.3 选择业务流程建模语言 474

9.4 获取Apache ODE BPEL引擎 476

9.5 将流程部署到Apache ODE 478

9.6 理解BPEL流程基础 480

9.7 使用免费的图形设计器创建BPEL流程 485

9.8 创建调用伙伴服务的BPEL流程 486

9.9 将BPEL流程部署到OpenESB的BPEL服务引擎 509

9.10 测试已经部署的BPEL流程 512

9.11 安装Active Endpoints BPEL设计器 515

9.12 安装Active Endpoints BPEL引擎 516

9.13 在Active Endpoints设计器中创建BPEL流程 518

9.14 将流程部署到Active Endpoints服务器 520

9.15 使用网络服务伙伴 521

9.16 从BPEL流程调用伙伴服务 522

9.17 使用BPEL变量操作数据 524

9.18 使用文字 527

9.19 合并值 528

9.20 根据运行时条件选择要执行的活动 529

9.21 在一个序列中执行多个活动 531

9.22 使用逻辑划分分组活动 532

第10章 高级BPEL编排 535

10.1 概述 535

10.2 并行执行活动 535

10.3 同步并行执行的活动 536

10.4 什么也不做 538

10.5 在特定时间点执行活动 539

10.6 在指定延时后执行活动 540

10.7 选择性的事件处理 541

10.8 异常处理 542

10.9 显式抛出异常 545

10.10 停止流程 547

10.11 对BPEL消息数据执行XSL转换 547

10.12 校验带内消息数据 549

10.13 相关集 550

10.14 循环 554

10.15 给业务流程添加人工任务 558

10.16 从BPEL调用REST式网络服务 559

本章小结 560

第11章 SOA管理 561

11.1 概述 561

11.2 分配角色 562

11.3 创建SOA路线图 564

11.4 跟踪服务 567

11.5 确定服务的数据所有权方案 569

11.6 在SOA中处理遗留程序和异质性 572

11.7 文档化服务 573

11.8 建立服务注册表 574

11.9 打包相关服务 580

11.10 撤销服务 581

11.11 浏览UDDI注册表 582

11.12 编程查询UDDI注册表 582

11.13 理解SOA投资收益率 585

第四部分 互操作性和服务质量第12章 Web服务的互操作性 595

12.1 概述 595

12.2 处理数组 596

12.3 抽象寻址 598

12.4 在Java服务中使用寻址 600

12.5 在客户端上显式启用寻址 602

12.6 在客户端上显式地禁用寻址 605

12.7 在WSDL的传输层上进行抽象寻址 606

12.8 对异常寻址 606

12.9 在Visual Studio中创建.NET网络服务 610

12.10 在C#中创建.NET网络服务 612

12.11 创建.NET网络服务 619

12.12 为网络服务创建Ruby客户端 625

12.13 为.NET服务创建Ruby客户端 627

12.14 遵守基本概要 629

12.15 基本概要符合度的自动化测试 632

12.16 互操作性最佳做法 633

12.17 使用模块化的WSDL 634

第13章 服务质量 637

13.1 概述 637

13.2 理解可靠的消息传输 639

13.3 使用可靠的消息传输配置Java Web服务 646

13.4 使用可靠的消息传输配置Java客户端 648

13.5 配置Java Web服务在WebLogic上具有可靠的消息传输 649

13.6 WebLogic可靠消息传输错误处理器 650

第14章 企业服务总线 652

14.1 概述 652

14.2 什么是ESB 653

14.3 作为模式集合的ESB 659

14.4 JBI 660

14.5 商业ESB 664

14.6 开源ESB 671

本章小结 678