第1章 WebServices,第三次革命 1
1.1WebServices的兴起 1
1.2WebServices规范 2
1.3WebServices技术平台 4
1.4市场趋势 6
1.5本书的内容安排 8
第2章 WebServices带来了什么 10
2.1什么是WebServices 10
2.1.1WebServices的概念 10
2.1.2Web对象 11
2.1.3WebServices体系架构模型 12
2.1.4WebServices协议栈 14
2.1.5扩展WebServices协议栈 16
2.1.6WebServices的类别 17
2.2WebServices与应用集成 18
2.2.1什么是企业应用集成 19
2.2.2企业应用集成EAI的类型 19
2.2.3商业需求驱动WebServices 21
2.2.4WebServices和EAI 24
2.2.5WebServices与B2Bi 29
2.3J2EE与.NET,对抗与整合 30
2.3.1J2EE与.NET概述 30
2.3.2J2EE与.NET的比较 30
2.3.3整合J2EE和.NET 37
2.3.4发展方向 39
2.3.5J2EE与.NET总结 39
2.4小结 40
第3章 XML技术简述 41
3.1了解XML 42
3.2XML语法简述 45
3.2.1XML标签 45
3.2.2XML文档 48
3.2.3元素,组成XML文档的基本实体 49
3.2.4字符数据 53
3.2.5使用属性修饰元素 53
3.2.6字符引用和实体引用 55
3.2.7一些其他特性 56
3.2.8格式正规的文档 57
3.3XML命名空间 58
3.3.1什么是命名空间 59
3.3.2定义和声明命名空间 59
3.4XML相关技术 63
3.4.1DOM 63
3.4.2SAX 64
3.4.3XSL/XSLT/XPath 64
3.4.4XLink/XPointer 65
3.4.5XQuery 66
3.5小结 67
第4章 XMLSchema建模 68
4.1XMLSchema入门 68
4.1.1购买订单模式文档 70
4.1.2复合类型定义,元素和属性声明 72
4.1.3使用简单类型 76
4.1.4元素内容 83
4.1.5模式注释 86
4.1.6构造内容模型 87
4.1.7属性组 89
4.1.8空值 91
4.2案例研究——认证考试系统数据建模 92
4.2.1Applicaion 93
4.2.2CourseSession 98
4.2.3ExamSession 101
4.3模式的命名空间 104
4.3.1目标命名空间和未限定的局部元素/属性 104
4.3.2带有命名空间限定的局部元素和属性 107
4.3.3全局声明与局部声明 110
4.3.4未声明的目标命名空间 111
4.4模式文档的重用和扩展 112
4.4.1由多个文档组成的模式文档 112
4.4.2通过扩展来派生类型 117
4.4.3在实例文档中使用派生类型 117
4.4.4通过约束来派生复合类型 119
4.4.5重新定义类型 120
4.4.6置换组 122
4.4.7抽象元素和类型 123
4.4.8控制对派生类型的创建和使用 125
4.5高级模式约束 127
4.5.1描述惟一性 130
4.5.2定义键和键的引用 131
4.5.3XMLSchema约束与XML1.0的ID属性 132
4.5.4导入类型 132
4.5.5any元素和any属性 135
4.5.6schemaLocation 139
4.5.7一致性 140
4.6小结 141
第5章 开发工具简介 142
5.1VisualStudio.NET 142
5.1.1VisualStudio.NET简介 142
5.1.2.NETFramework 142
5.2C#语言 144
5.2.1C#语言特征 144
5.2.2C#程序结构 145
5.2.3C#语法介绍 146
5.3数据访问技术ADO.NET 150
5.4WebServices设计基础 152
5.4.1第一个WebService-“HelloWorld” 152
5.4.2WebServices与ADO.NET结合 154
5.5小结 157
第6章 调用WebServices 158
6.1SOAP的起源 161
6.1.1CORBA 161
6.1.2COM+ 163
6.1.3EJB 165
6.1.4抹平平台差异的SOAP 167
6.2SOAP概览 168
6.2.1需求、目标与约定 169
6.2.2SOAP消息示例 170
6.2.3基本概念 172
6.2.4消息交换模型 175
6.2.5SOAP和XML的关系 184
6.3SOAP消息结构 185
6.3.1编码风格定义 185
6.3.2信封版本模型 186
6.3.3SOAP信封的模式定义 189
6.3.4SOAPHeader 194
6.3.5SOAPBody 200
6.3.6SOAPFault 208
6.4SOAP编码规则简述 213
6.5SOAP消息编程 214
6.5.1定制SOAP客户端发送的SOAP消息格式 214
6.5.2定制WebServices期望的SOAP消息格式 223
6.5.3利用XMLSerialization定制SOAP消息 224
6.6在SOAP中使用URI 226
6.7小结 226
第7章 SOAP技术进阶 228
7.1SOAP编码规则 228
7.1.1SOAP类型编码规则 228
7.1.2简单类型 232
7.1.3多态存取 235
7.1.4复合类型 236
7.2SOAP的RPC表示 252
7.2.1RPC和SOAPBody 253
7.2.2将应用程序定义的名称映射成为XML名称 254
7.2.3RPC和SOAPHeader 254
7.2.4RPC错误 254
7.2.5SOAPRPC表示示例 255
7.3SOAP协议绑定框架 260
7.3.1绑定框架概述 260
7.3.2绑定框架的目标 261
7.3.3绑定框架 261
7.3.4消息交换模式 262
7.3.5与应用相关的协议实施绑定 263
7.3.6描述特性和绑定 263
7.4单一请求响应传输消息交换模式 265
7.4.1传输消息交换模式概述 265
7.4.2消息交换模式名称 266
7.4.3单一请求响应简介 267
7.4.4正式定义 267
7.4.5错误处理 269
7.4.6经由SOAP中介的操作 270
7.5SOAPHTTP绑定 270
7.5.1单一请求响应交换 271
7.5.2SOAPAction 277
7.6SOAPHeader编程 280
7.6.1如何构建SOAP处理程序 280
7.6.2自定义SOAPHeader类 282
7.6.3在WebServices中处理SOAPHeader 283
7.6.4在WebServices的客户端处理SOAPHeader 285
7.6.5控制SOAPHeader接收者 288
7.6.6WebServices期待的可选SOAPHeader 289
7.6.7处理未知SOAPHeader 291
7.6.8处理mustUnderstand要求的SOAPHeader 292
7.6.9错误处理 294
7.7SOAP扩展编程 295
7.7.1自定义一个SOAPExtension类 297
7.7.2保存代表SOAP消息的Stream引用类型 297
7.7.3初始化SOAPExtension特殊数据 298
7.7.4处理SOAP消息 299
7.7.5SOAPExtension方法的调用次序 300
7.7.6配置SOAPExtension与WebServices接口的结合 301
7.7.7完整的SOAPExtension实例 302
7.8SOAP应用模式 305
7.8.1基本消息交换模式 306
7.8.2运用加密机制的安全消息交换模式 315
7.8.3包含消息中介的消息交换模式 318
7.8.4高级消息交换模式 320
7.8.5面向处理和性能的消息交换模式 329
7.9基于SOAPHeader的WebServices规范 335
7.9.1WS-Security 335
7.9.2WS-License 338
7.9.3WS-Routing 340
7.9.4WS-Referral 342
7.10小结 344
第8章 WebServices接口描述 346
8.1概述 347
8.2WSDL文档结构 353
8.2.1WSDL文档框架 354
8.2.2应用实例:产品目录服务 359
8.2.3类型定义 364
8.2.4消息定义 366
8.2.5端口类型定义 369
8.2.6绑定定义 373
8.2.7服务访问点定义 374
8.2.8服务定义 375
8.2.9WSDL模式定义 376
8.3多种形式的绑定 385
8.3.1SOAP绑定 385
8.3.2HTTPGET和HTTPPOST绑定 396
8.3.3MIME绑定 399
8.4VS.NET中的WSDL支持 405
8.4.1WSDL工具 405
8.4.2.NETFramework中的WSDL支持 406
8.4.3动态代理类生成 417
8.5WebServices界面图示工具 423
8.6小结 425
第9章 WebServices注册与发现 426
9.1引言 426
9.1.1商业需求驱动 426
9.1.2UDDI计划 428
9.1.3UDDI规范 429
9.1.4UDDI数据模型和信息描述 430
9.1.5UDDI注册中心 433
9.1.6UDDIAPI 433
9.1.7UDDI注册中心运作模式 433
9.1.8分类法 435
9.1.9安全性 436
9.1.10全球化考虑 436
9.2UDDI数据结构 437
9.2.1概述 437
9.2.2businessEntity结构 440
9.2.3businessService结构 445
9.2.4bindingTemplate结构 447
9.2.5bindingTemplate和服务调用 451
9.2.6tModel结构 455
9.2.7publisherAssertion结构 460
9.3UDDI注册服务API 462
9.3.1SOAP的使用细节 462
9.3.2安全认证API 464
9.3.3查询API 471
9.3.4发布API 487
9.4分布式WebServices发现 502
9.4.1概述 503
9.4.2WS-Inspection文档结构 504
9.4.3WS-Inspection与UDDI的关系 508
9.5小结 511
第10章 UDDI编程与UDDI高级特性 513
10.1UDDISDK编程 513
10.1.1UDDISDK简介 513
10.1.2UDDISDK使用 516
10.1.3查询UDDI节点内的注册信息 518
10.1.4从UDDI注册中心查询详细信息 524
10.1.5向UDDI注册中心发布信息 530
10.1.6在UDDI注册中心中删除信息 536
10.1.7错误处理 539
10.1.8UDDI注册的一般方法 541
10.1.9MicrosoftUDDI注册中心 544
10.2UDDI应用案例 545
10.2.1登录UDDI注册中心 545
10.2.2发布UDDI高技术公司的商业信息 546
10.3核心元数据体系tModel与服务注册 557
10.3.1使用标识符 557
10.3.2使用分类法 560
10.3.3第三方分类法和标识系统 562
10.3.4关联关系和发布者断言 566
10.3.5UDDI类型系统 570
10.4小结 579
第11章 Agility电子商务解决方案 580
11.1电子商务应用集成需求 580
11.1.1新的电子商务发展 580
11.1.2新的挑战 581
11.1.3电子商务运作模式的革新 581
11.2Agility电子商务解决方案 581
11.2.1传统的解决方案 581
11.2.2基于WebServices的电子商务应用集成模式 582
11.2.3Agility电子商务解决方案 584
11.2.4案例 586
11.2.5Agility电子商务解决方案设计概述 587
11.3WebServices提供者的设计 588
11.3.1内部应用系统设计 588
11.3.2WebServices设计 589
11.3.3WebServices的部署 594
11.3.4WebServices注册模块设计 594
11.4WebServices客户端设计 595
11.4.1UDDI查找 595
11.4.2WebServices集成 601
11.5小结 608
第12章 WebServices案例研究 609
12.1软件反馈跟踪平台 609
12.1.1应用背景简述 609
12.1.2系统构架概述 610
12.1.3系统间的交互 610
12.1.4为什么使用WebServices解决方案 611
12.1.5交互界面设计 611
12.1.6WebServices实现 616
12.1.7遗留的问题 620
12.2认证考试申请服务 620
12.2.1应用背景简述 620
12.2.2应用模式演示 620
12.2.3服务的可用性和连接的持久性 622
12.2.4服务的延伸 623
12.3WebServices事务性应用 624
12.3.1应用背景简述 624
12.3.2解决方案 625
12.3.3数据库事务的XML表示 626
12.3.4事务性的保证 630
12.3.5相关的技术发展 638
12.4统一身份认证服务 639
12.4.1应用背景简述 639
12.4.2解决方案 640
12.4.3使用WebServices架构 645
12.4.4相关的工作 651
12.5小结 652
第13章 WebServices,时不我待 654
13.1当前WebServices技术的局限性 654
13.2业界在WebServices领域的努力 655
13.3WebServices带来的机遇 658