第1章 Web Services, 第三次革命 1
1.1 Web Services的兴起 1
1.2 Web Services规范 2
1.3 Web Services技术平台 4
1.4 市场趋势 6
1.5 本书的内容安排 8
第2章 Web Services带来了什么 10
2.1 什么是Web Services 10
2.1.1 Web Services的概念 10
2.1.2 Web对象 11
2.1.3 Web Services体系架构模型 12
2.1.4 Web Services协议栈 14
2.1.5 扩展Web Services协议栈 16
2.1.6 Web Services的类别 17
2.2 Web Services与应用集成 18
2.2.1 什么是企业应用集成 18
2.2.2 企业应用集成EAI的类型 19
2.2.3 商业需求驱动Web Services 21
2.2.4 Web Services和EAI 24
2.2.5 Web Services与B2Bi 29
2.3 J2EE与.NET, 对抗与整合 30
2.3.1 J2EE与.NET概述 30
2.3.2 J2EE与.NET的比较 31
2.3.3 整合J2EE和.NET 38
2.3.4 发展方向 39
2.3.5 J2EE与.NET总结 40
2.4 小结 41
第3章 XML技术简述 42
3.1 了解XML 43
3.2 XML语法简述 46
3.2.1 XML标签 46
3.2.2 XML文档 49
3.2.3 元素, 组成XML文档的基本实体 50
3.2.4 字符数据 54
3.2.5 使用属性修饰元素 54
3.2.6 字符引用和实体引用 56
3.2.7 一些其他特性 57
3.2.8 格式正规的文档 58
3.3 XML命名空间 59
3.3.1 什么是命名空间 60
3.3.2 定义和声明命名空间 60
3.4 XML相关技术 64
3.4.1 DOM 64
3.4.2 SAX 65
3.4.3 XSL/XSLT/XPath 65
3.4.4 XLink/XPointer 66
3.4.5 XQuery 67
3.5 小结 68
第4章 XML Schema建模 69
4.1 XML Schema入门 69
4.1.1 购买订单模式文档 71
4.1.2 复合类型定义, 元素和属性声明 73
4.1.3 使用简单类型 77
4.1.4 元素内容 84
4.1.5 模式注释 87
4.1.6 构造内容模型 88
4.1.7 属性组 90
4.1.8 空值 92
4.2 案例研究--认证考试系统数据建模 93
4.2.1 Applicaion 94
4.2.2 CourseSession 99
4.2.3 ExamSession 103
4.3 模式的命名空间 105
4.3.1 目标命名空间和未限定的局部元素/属性 105
4.3.2 带有命名空间限定的局部元素和属性 108
4.3.3 全局声明与局部声明 111
4.3.4 未声明的目标命名空间 112
4.4 模式文档的重用和扩展 113
4.4.1 由多个文档组成的模式文档 113
4.4.2 通过扩展来派生类型 118
4.4.3 在实例文档中使用派生类型 119
4.4.4 通过约束来派生复合类型 120
4.4.5 重新定义类型 122
4.4.6 置换组 123
4.4.7 抽象元素和类型 125
4.4.8 控制对派生类型的创建和使用 126
4.5 高级模式约束 128
4.5.1 描述惟一性 131
4.5.2 定义键和键的引用 132
4.5.3 XML Schema约束与XML 1.0的ID属性 133
4.5.4 导入类型 133
4.5.5 any元素和any属性 136
4.5.6 schemaLocation 140
4.5.7 一致性 141
4.6 小结 142
第5章 开发工具简介 143
5.1 Visual Studio.NET 143
5.1.1 Visual Studio.NET简介 143
5.1.2 .NET Framework 143
5.2 C#语言 145
5.2.1 C#语言特征 146
5.2.2 C#程序结构 146
5.2.3 C#语法介绍 147
5.3 数据访问技术ADO.NET 152
5.4 Web Services设计基础 153
5.4.1 第一个Web Service - "Hello World" 153
5.4.2 Web Services与ADO.NET结合 155
5.5 小结 158
第6章 调用Web Services 150
6.1 SOAP的起源 153
6.1.1 CORBA 153
6.1.2 COM+ 155
6.1.3 EJB 157
6.1.4 抹平平台差异的SOAP 159
6.2 SOAP概览 160
6.2.1 需求. 目标与约定 161
6.2.2 SOAP消息示例 162
6.2.3 基本概念 164
6.2.4 消息交换模型 166
6.2.5 SOAP和XML的关系 175
6.3 SOAP消息结构 175
6.3.1 编码风格定义 176
6.3.2 信封版本模型 176
6.3.3 SOAP信封的模式定义 180
6.3.4 SOAP Header 184
6.3.5 SOAP Body 189
6.3.6 SOAP Fault 197
6.4 SOAP编码规则简述 202
6.5 SOAP消息编程 203
6.5.1 定制SOAP客户端发送的SOAP消息格式 203
6.5.2 定制Web Services期望的SOAP消息格式 211
6.5.3 利用XML Serialization定制SOAP消息 212
6.6 在SOAP中使用URI 213
6.7 小结 214
第7章 SOAP技术进阶 215
7.1 SOAP编码规则 215
7.1.1 SOAP类型编码规则 215
7.1.2 简单类型 218
7.1.3 多态存取 222
7.1.4 复合类型 222
7.2 SOAP的RPC表示 238
7.2.1 RPC和SOAP Body 238
7.2.2 将应用程序定义的名称映射成为XML名称 239
7.2.3 RPC和SOAP Header 240
7.2.4 RPC错误 240
7.2.5 SOAP RPC表示示例 240
7.3 SOAP协议绑定框架 245
7.3.1 绑定框架概述 245
7.3.2 绑定框架的目标 246
7.3.3 绑定框架 246
7.3.4 消息交换模式 247
7.3.5 与应用相关的协议实施绑定 248
7.3.6 描述特性和绑定 248
7.4 单一请求响应传输消息交换模式 250
7.4.1 传输消息交换模式概述 250
7.4.2 消息交换模式名称 251
7.4.3 单一请求响应简介 251
7.4.4 正式定义 252
7.4.5 错误处理 254
7.4.6 经由SOAP中介的操作 254
7.5 SOAP HTTP绑定 255
7.5.1 单一请求响应交换 255
7.5.2 SOAPAction 261
7.6 SOAP Header编程 264
7.6.1 如何构建SOAP处理程序 264
7.6.2 自定义SOAP Header类 266
7.6.3 在Web Services中处理SOAP Header 267
7.6.4 在Web Services的客户端处理SOAP Header 269
7.6.5 控制SOAP Header 接收者 270
7.6.6 Web Services期待的可选SOAP Header 271
7.6.7 处理未知SOAP Header 272
7.6.8 处理mustUnderstand要求的SOAP Header 274
7.6.9 错误处理 276
7.7 SOAP扩展编程 277
7.7.1 自定义一个SOAP Extension类 278
7.7.2 保存代表SOAP消息的Stream引用类型 278
7.7.3 初始化SOAP Extension特殊数据 279
7.7.4 处理SOAP消息 280
7.7.5 SOAP Extension方法的调用次序 281
7.7.6 配置SOAP Extension与Web Services接口的结合 282
7.7.7 完整的SOAP Extension实例 283
7.8 SOAP应用模式 286
7.8.1 基本消息交换模式 286
7.8.2 运用加密机制的安全消息交换模式 295
7.8.3 包含消息中介的消息交换模式 298
7.8.4 高级消息交换模式 300
7.8.5 面向处理和性能的消息交换模式 308
7.9 基于SOAP Header的Web Services规范 314
7.9.1 WS-Security 315
7.9.2 WS-License 317
7.9.3 WS-Routing 319
7.9.4 WS-Referral 321
7.10 小结 323
第8章 Web Services接口描述 325
8.1 概述 326
8.2 WSDL文档结构 332
8.2.1 WSDL文档框架 333
8.2.2 应用实例:产品目录服务 337
8.2.3 类型定义 341
8.2.4 消息定义 344
8.2.5 端口类型定义 347
8.2.6 绑定定义 350
8.2.7 服务访问点定义 351
8.2.8 服务定义 352
8.2.9 WSDL模式定义 353
8.3 多种形式的绑定 362
8.3.1 SOAP绑定 362
8.3.2 HTTP GET和HTTP POST绑定 372
8.3.3 MIME绑定 375
8.4 VS.NET中的WSDL支持 381
8.4.1 WSDL工具 381
8.4.2 .NET Framework中的WSDL支持 382
8.4.3 动态代理类生成 391
8.5 Web Services界面图示工具 396
8.6 小结 397
第9章 Web Services注册与发现 399
9.1 引言 399
9.1.1 商业需求驱动 399
9.1.2 UDDI计划 401
9.1.3 UDDI规范 402
9.1.4 UDDI数据模型和信息描述 403
9.1.5 UDDI注册中心 405
9.1.6 UDDI API 406
9.1.7 UDDI注册中心运作模式 406
9.1.8 分类法 407
9.1.9 安全性 408
9.1.10 全球化考虑 409
9.2 UDDI数据结构 410
9.2.1 概述 410
9.2.2 businessEntity结构 413
9.2.3 businessService结构 417
9.2.4 bindingTemplate结构 419
9.2.5 bindingTemplate和服务调用 423
9.2.6 tModel结构 427
9.2.7 publisherAssertion结构 431
9.3 UDDI注册服务API 432
9.3.1 SOAP的使用细节 433
9.3.2 安全认证API 435
9.3.3 查询API 442
9.3.4 发布API 457
9.4 分布式Web Services发现 471
9.4.1 概述 472
9.4.2 WS-Inspection文档结构 472
9.4.3 WS-Inspection与UDDI的关系 476
9.5 小结 480
第10章 UDDI编程与UDDI高级特性 517
10.1 UDDI SDK编程 517
10.1.1 UDDI SDK简介 517
10.1.2 UDDI SDK使用 520
10.1.3 查询UDDI节点内的注册信息 522
10.1.4 从UDDI注册中心查询详细信息 528
10.1.5 向UDDI注册中心发布信息 534
10.1.6 在UDDI注册中心中删除信息 541
10.1.7 错误处理 543
10.1.8 UDDI注册的一般方法 545
10.1.9 Microsoft UDDI注册中心 548
10.2 UDDI应用案例 549
10.2.1 登录UDDI注册中心 550
10.2.2 发布UDDI高技术公司的商业信息 551
10.3 核心元数据体系tModel与服务注册 561
10.3.1 使用标识符 561
10.3.2 使用分类法 564
10.3.3 第三方分类法和标识系统 567
10.3.4 关联关系和发布者断言 571
10.3.5 UDDI类型系统 575
10.4 小结 584
第11章 Agility电子商务解决方案 585
11.1 电子商务应用集成需求 585
11.1.1 新的电子商务发展 585
11.1.2 新的挑战 586
11.1.3 电子商务运作模式的革新 586
11.2 Agility电子商务解决方案 586
11.2.1 传统的解决方案 586
11.2.2 基于Web Services的电子商务应用集成模式 587
11.2.3 Agility电子商务解决方案 589
11.2.4 案例 591
11.2.5 Agility电子商务解决方案设计概述 592
11.3 Web Services提供者的设计 593
11.3.1 内部应用系统设计 593
11.3.2 Web Services设计 594
11.3.3 Web Services的部署 599
11.3.4 Web Services注册模块设计 599
11.4 Web Services客户端设计 600
11.4.1 UDDI查找 600
11.4.2 Web Services集成 606
11.5 小结 613
第12章 Web Services案例研究 614
12.1 软件反馈跟踪平台 614
12.1.1 应用背景简述 614
12.1.2 系统构架概述 615
12.1.3 系统间的交互 615
12.1.4 为什么使用Web Services解决方案 616
12.1.5 交互界面设计 616
12.1.6 Web Services实现 621
12.1.7 遗留的问题 625
12.2 认证考试申请服务 625
12.2.1 应用背景简述 625
12.2.2 应用模式演示 625
12.2.3 服务的可用性和连接的持久性 627
12.2.4 服务的延伸 629
12.3 Web Services事务性应用 629
12.3.1 应用背景简述 629
12.3.2 解决方案 630
12.3.3 数据库事务的XML表示 632
12.3.4 事务性的保证 635
12.3.5 相关的技术发展 644
12.4 统一身份认证服务 644
12.4.1 应用背景简述 644
12.4.2 解决方案 645
12.4.3 使用Web Services架构 650
12.4.4 相关的工作 657
12.5 小结 658
第13章 Web Services, 时不我待 659
13.1 当前Web Services技术的局限性 659
13.2 业界在Web Services领域的努力 660
13.3 Web Services带来的机遇 663