《开放源代码的Web服务高级编程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:Kapil Apshankar,Dietrich Ayala等著;周辉,杜一民译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302062358
  • 页数:476 页
图书介绍:本书介绍了使用开放源代码产品生成各种Web服务的基本概念以及相关技术,同时给出了一些实例和解决方案。

第1章 Web服务简介 1

1.1 企业和网络计算方面的问题 1

1.1.1 分布式计算 1

1.1.2 基于组件的计算 2

1.1.3 消息传递 2

1.1.4 B2B和B2C 3

1.1.5 EAI 3

1.2 传统分布式计算 4

1.2.1 RMI 4

1.2.2 DCOM 5

1.2.3 CORBA 5

1.2.4 松耦合系统 6

1.2.5 RPC 7

1.3 Web服务 7

1.3.1 UDDI 9

1.3.2 WSDL 9

1.3.3 SOAP 9

1.3.4 XML-RPC 10

1.3.5 Web服务的优点 10

1.3.6 体系结构 11

1.3.7 为什么要开发Web服务 11

1.4 用于Web服务的两种不断演变的平台 12

1.4.1 J2EE 12

1.4.2 .NET 12

1.4.3 比较 13

1.5 开放源代码Web服务的现状 16

1.6 小结 17

第2章 Web服务体系结构 18

2.1 新的面向服务的体系结构 18

2.2 XML 20

2.2.1 XML-RPC 22

2.2.2 XML-RPC体系结构 22

2.2.3 XML-RPC数据类型 23

2.2.4 请求 24

2.2.5 响应 24

2.3 SOAP 24

2.3.1 SOAP体系结构 25

2.3.2 SOAP消息 25

2.3.3 互操作性 27

2.3.4 实现方案 28

2.3.5 带附件的SOAP消息 28

2.4 XMLP/SOAP1.2 29

2.5 WSDL 29

2.5.1 WSDL文档结构 30

2.5.2 实现 30

2.6 UDDI 32

2.7 HTTPR 33

2.8 RDF 34

2.9 DSML 36

2.10 WSUI 37

2.10.1 WSUI的工作原理 38

2.10.2 WSUI建模 38

2.11 WSFL 39

2.11.1 流程模型 39

2.11.2 全局模型 39

2.11.3 递归部分 40

2.11.4 交互模式 40

2.11.5 Web服务堆栈中的引用 40

2.12 真实的案例分析 41

2.12.1 ORIX 41

2.12.2 Tripcentric Technologies有限公司 41

2.12.3 Hitachi Software 41

2.13 小结 42

第3章 剖析SOAP、WSDL和 UDDI 43

3.1 SOAP和 RPC 43

3.2 SOAP的概念 44

3.2.1 语法规则 44

3.2.2 SOAP消息结构 44

3.2.3 SOAP属性 47

3.4 HTTP头 49

3.5 完整的SOAP请求 49

3.6 SOAP XML有效负载 51

3.7 SOAP响应 51

3.8 数据串行化 52

3.8.1 简单类型 52

3.8.2 复合类型 55

3.8.3 多引用值 56

3.9 错误处理 58

3.9.1 faultcode元素 59

3.9.2 faultstring元素 59

3.9.3 faultactor元素 59

3.9.4 detail元素 60

3.10 SOAP局限 60

3.11 WSDL 60

3.12 WSDL文档 62

3.13 UDDI 78

3.13.1 UDDI的作用 79

3.13.2 可从UDDI受益的商业企业 79

3.13.3 UDDI实施 80

3.13.4 数据监管区(custody) 80

3.13.5 UDDI的数据结构 81

3.13.6 管理目录信息 87

3.13.7 复制 88

3.14 其他Web注册表 90

3.14.1 eb XML注册表 90

3.14.2 JAXR 90

3.14.3 DSML 91

3.15 安全性 91

3.16 小结 92

第4章 Apache的 Java Web服务 93

4.1 Axis简介 93

4.2 安装 Axis 98

4.2.1 开发 Hello Service 99

4.2.2 部署Hello Service 100

4.2.3 编写Hello Service的客户程序 100

4.2.4 构建高级Web服务 102

4.3 Web服务部署描述符 108

4.3.1 使用WSDD部署Stock Quote Server 108

4.3.2 修改 Stock Quote客户 109

4.4 使用部署描述符的Web服务 109

4.4.1 从服务方法返回数组 110

4.4.2 Java Bean参数 113

4.4.3 使用AXIS的附件 116

4.4.4 编写自定义处理程序 120

4.5 开发基于消息的服务 122

4.5.1 发布基于消息的服务 124

4.5.2 开发基于消息的客户应用程序 124

4.6 在Axis中使用WSDL 126

4.6.1 使用WSDL2Java 126

4.6.2 使用生成的占位程序创建客户 127

4.7 使用Java2WSDL 128

4.8 EJB Web服务 130

4.8.1 安装源代码 130

4.8.2 必需的配置 130

4.8.3 分布文件 131

4.9 运行分布 143

4.9.1 创建源代码 143

4.9.2 部署代码 144

4.9.3 运行EJB客户 144

4.9.4 部署Web服务 144

4.9.5 运行Web服务客户 145

4.10 Apach XML-RPC 145

4.10.1 用于XML-RPC的服务器应用程序 146

4.10.2 同步XML-RPC客户应用程序 147

4.10.3 异步XML-RPC客户应用程序 148

4.11 小结 150

第5章 Web服务安全性 151

5.1 安全性问题 151

5.1.1 身份验证 151

5.1.2 授权 152

5.1.3 不可否认性 152

5.1.4 完整性 152

5.1.5 保密性 152

5.2 安全技术 153

5.2.1 加密方法 153

5.2.2 公钥基础结构 154

5.2.3 数字签名 154

5.2.4 数字认证 155

5.3 传输层安全性 156

5.4 XML安全问题 158

5.4.1 安全声明标记语言 159

5.4.2 XML访问控制语言 159

5.4.3 XML密钥管理规范(XKMS) 160

5.5 开发安全的Web服务 161

5.5.1 客户身份验证所提供的安全性 161

5.5.2 使用SSL的安全性 165

5.5.3 通过HTTP信道的安全性 169

5.5 小结 174

第6章 Perl和 SOAP::Lite 175

6.1 SOAP::Lite简介 175

6.1.1 SOAP::Lite的安装 177

6.1.2 Perl模块配置 179

6.2 SOAP::Lite的客户端使用 180

6.2.1 使用基干WSDL的简单调用访问股票价格 180

6.2.2 使用SOAP::Lite访问图书价格 183

6.2.3 把SMTP用作传输方法 186

6.2.4 将FTP用作传输协议 194

6.2.5 SOAPsh.p1交互外壳程序 195

6.2.6 使用Stubber.p1生成数据包 196

6.2.7 搜索公司信息的 Perl UDDI查询 198

6.2.8 使用SOAP:Lite进行跟踪和调试 200

6.2.9 发现方法的UDDI查询 200

6.3 使用 SOAP::Lite的服务器编程 203

6.3.1 使Perl方法成为可访问的 203

6.3.2 错误的处理 203

6.3.3 枚举 206

6.3.4 SOAP引用 206

6.3.5 SOAP::SOM客户返回值 207

6.3.6 SOAP示例程序 209

6.4 使用 XMLRPC::Lite 228

6.5 用户身份验证 236

6.6 小结 239

第7章 Python和Web服务 240

7.1 Python 240

7.1.1 Pytnon和 SOAP 241

7.1.2 ZSI互操作性问题 241

7.1.3 安装 Python库 242

7.1.4 安装 XML支持-Py XML 244

7.2 使用SOAP. py 245

7.3 使用ZSI 258

7.3.1 安装 ZSI 259

7.3.2 使用ZSI构造SOAP客户 259

7.3.3 示例 260

7.3.4 将ZSI服务器作为CGI应用程序运行 269

7.3.5 使用 ZSI和 SOAP. py跟踪SOAP消息 270

7.4 XML-RPC 271

7.5 小结 273

第8章 PHP和Web服务 274

8.1 PHP特性 274

8.1.1 PHP和 Web服务 275

8.1.2 配置PHP 276

8.2 使用 Nu SOAP的 PHP Web服务 276

8.2.1 安装和配置 277

8.2.2 语言到数据的映射 278

8.2.3 简单的 PHP SOAP客户示例 278

8.2.4 简单的 PHP SOAP服务器示例 280

8.2.5 错误的处理 281

8.2.6 使用数组 282

8.2.7 创建复杂的类型 283

8.2.8 使用WSDL和soap_proxy 284

8.2.9 使用HTTP代理服务器 285

8.2.10 HTTP身份验证 286

8.2.11 SSL 286

8.2.12 使用文档风格的消息传递 286

8.3 其他 PHP SOAP实现 288

8.3.1 Active State公司的 SWSAPI 288

8.3.2 PEAR 288

8.3.3 Krysalis 288

8.4 PHP Web服务和 XML-RPC 289

8.4.1 XML-RPC数据类型 289

8.4.2 Useful公司的XML-RPC实现 289

8.4.3 其他PHP XML-RPC实现 294

8.5 PHP Web服务的未来 295

8.6 小结 295

第9章 使用C++开发Web服务 297

9.1 WASP Server Lite for C++ 297

9.1.1 安装WASP Server Lite for C++ 297

9.1.2 使用WASP建立Web服务 298

9.1.3 实现服务器 304

9.1.4 开发客户端 308

9.1.5 部署Web服务 311

9.1.6 WASP配置文件指令 312

9.1.7 C++和XML类型之间的映射 319

9.2 Easy Soap++ 321

9.2.1 安装Easy Soap++ 321

9.2.2 使用Easy Soap++构建Web服务 322

9.2.3 实现客户端 326

9.2.4 Easy Soap++API 330

9.2.5 XML和C++类型之间的映射 331

9.3 g SOAP 333

9.3.1 安装g SOAP 333

9.3.2 构建Web服务 334

9.3.3 实现客户端 340

9.3.4 调试g SOAP应用程序 349

9.3.5 g SOAP API 352

9.3.6 C++和XML类型之间的映射 355

9.4 互操作性 356

9.5 选择合适的实现方案 356

9.6 小结 358

第10章 其他SOAP实现方案 359

10.1 Ruby简介 359

10.1.1 SOAP4R 362

10.1.2 Ruby和XML-RPC 381

10.1.3 Ruby Web服务的未来 385

10.2 使用k SOAP的嵌入式Web服务 385

10.2.1 XML Pull Parser 386

10.2.2 k SOAP教程 386

10.3 小结 399

第11章 案例分析——在Legacy模块中设计Web服务 401

11.1 SQL-Legacy 401

11.1.1 所使用的技术 402

11.1.2 创建数据库 404

11.1.3 连接到SQL-Legacy 404

11.2 ISP记账应用程序 405

11.3 创建服务器 407

11.3.1 Soap Tools模块 408

11.3.2 Customer Query模块 409

11.4 查询客户的客户程序 415

11.5 添加每月的账单 423

11.6 生成账单的客户程序 435

11.7 带有邮政编码的标准程序 438

11.8 创建Zipcodes客户程序 443

11.9 测试程序 449

11.10 小结 452

附录A 利用Apache配置Tomcat 453

A.1 AJP连接器 453

A.2 WARP连接器 456

附录B 用于Tomcat配置的server.xml属性 459

附录C TcpTunnelGui和Tcpmon 461

附录D J Boss安装 462

D.1 安装软件 462

D.2 测试J Boss Tomcat安装 462

附录E WSDL2Java选项 464

附录F Java2WSDL选项 465

附录G SOAP::Lite类 466

附录H k SOAP API引用 471

H.1 org.ksoap数据包 471

H.2 org.ksoap.transport数据包 475

H.3 org.ksoap.marshal数据包 475

H.4 org.kobjects.serialization数据包 476