《分布式计算》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:李文军等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111360391
  • 页数:485 页
图书介绍:本书以分布式计算范型的发展演变为线索,全面介绍了分布式计算技术的基本概念、发展演变、开发过程、规范标准、部署应用等内容。

第一部分 基本概念 1

第1章 绪论 1

1.1 引言 1

1.1.1 分布式计算的产生背景 1

1.1.2 分布式计算的发展历程 2

1.1.3 分布式计算技术的特点 3

1.1.4 中间件技术 4

1.2 软件设计的基本思想 4

1.2.1 隐式地与显式地 4

1.2.2 逻辑的与物理的 5

1.2.3 面向对象技术与UML 6

1.2.4 软件体系结构与MDA 10

1.3 分布式计算基本范型 11

1.3.1 分布式计算范型的概念 11

1.3.2 消息传递范型 12

1.3.3 远程过程调用范型 13

1.3.4 分布式对象范型 13

1.3.5 分布式组件模型 14

1.3.6 面向服务的体系结构 15

1.4 进程间通信 17

1.4.1 进程间通信的基本原理 17

1.4.2 接口与接口定义语言 20

1.4.3 数据表示与编码 20

1.4.4 事件同步机制 21

思考与练习 22

进一步阅读 22

第2章 基于Socket的通信 24

2.1 基本原理 24

2.1.1 Socket API的基本概念 24

2.1.2 Java对网络通信的支持 25

2.1.3 TCP、UDP与端口 25

2.2 数据报Socket 27

2.2.1 基本编程原理 27

2.2.2 面向无连接数据报UDP 29

2.2.3 面向连接数据报UDP 32

2.3 流式Socket 34

2.3.1 基本编程原理 34

2.3.2 单线程服务程序与客户程序 36

2.3.3 多线程服务程序 41

2.4 应用层协议开发 42

2.4.1 理解应用层协议 42

2.4.2 Daytime协议开发 43

2.4.3 FIP协议开发 51

2.4.4 HTTP协议开发 55

思考与练习 57

进一步阅读 58

第二部分 分布式对象技术 59

第3章 RMI基本原理与开发过程 59

3.1 分布式对象技术 59

3.1.1 分布式对象基本技术架构 59

3.1.2 分布式对象技术特点 60

3.1.3 分布式对象技术分类 61

3.2 RMI基本原理 63

3.2.1 RMI技术结构 63

3.2.2 RMI API介绍 64

3.2.3 RMI与RPC的区别 66

3.3 简单RMI例子开发过程 66

3.4 复杂RMI例子开发过程 70

3.4.1 数据库设计 71

3.4.2 对象接口定义 72

3.4.3 服务端程序 73

3.4.4 客户端程序 76

3.4.5 部署并运行应用程序 79

3.5 分布式应用程序设计决策 82

3.5.1 网络传输 82

3.5.2 通信方式 82

3.5.3 运行平台 82

3.5.4 资源优化 82

3.5.5 其他决策问题 83

思考与练习 83

进一步阅读 84

第4章 CORBA基本原理与开发过程 85

4.1 对象管理体系结构 85

4.1.1 对象请求代理 86

4.1.2 对象服务 87

4.1.3 公共设施 87

4.1.4 领域接口 88

4.1.5 应用接口 88

4.2 CORBA体系结构 88

4.2.1 OMG的对象模型 88

4.2.2 对象请求代理的体系结构 89

4.2.3 对象接口定义 90

4.2.4 客户端机制 91

4.2.5 服务端机制 92

4.3 CORBA应用程序开发过程 92

4.3.1 编写对象接口 93

4.3.2 编译IDL文件 94

4.3.3 编写对象实现和服务程序 94

4.3.4 编写客户程序 94

4.3.5 创建并部署应用程序 95

4.3.6 运行应用程序 95

4.4 一个银行账户管理程序 95

4.4.1 对象接口定义 96

4.4.2 生成的接口和类 97

4.4.3 编写对象实现和服务程序 103

4.4.4 编写客户程序 106

4.4.5 创建应用程序 107

4.4.6 运行应用程序 108

4.5 深入IDL桩和框架 109

4.5.1 IDL桩和框架的类层次 109

4.5.2 IDL桩与客户端对象引用 110

4.5.3 IDL框架的代码 113

4.5.4 用于纽带机制的IDL框架 115

4.6 分布式对象的可互操作性 116

4.6.1 可互操作性 116

4.6.2 ORB域和桥接 116

4.6.3 GIOP、IIOP与ESIOP 117

4.6.4 更高的可互操作性 118

4.7 CORBA规范与CORBA产品 118

4.7.1 CORBA规范 118

4.7.2 CORBA产品概述 119

4.7.3 商品化ORB产品 120

4.7.4 免费与开源ORB产品 121

4.7.5 产品与规范的一致性 122

4.8 内容小结 123

4.8.1 CORBA带来了什么 123

4.8.2 未解决的问题 124

思考与练习 124

进一步阅读 125

第5章 编写对象接口 126

5.1 对象接口与对象实现 126

5.1.1 接口与实现分离 126

5.1.2 接口定义语言 126

5.2 OMG IDL的语法与语义 127

5.2.1 词法规则 127

5.2.2 模块的声明 128

5.2.3 类型的声明 128

5.2.4 常量的声明 132

5.2.5 异常的声明 133

5.2.6 接口的声明 133

5.2.7 值类型的声明 136

5.3 使用值类型 140

5.3.1 IDL定义 140

5.3.2 编译IDL文件 141

5.3.3 实现IDL接口 142

5.3.4 实现值类型 143

5.3.5 服务程序与客户程序 145

5.4 使用接口库 147

5.4.1 接口库的定义 147

5.4.2 接口库的结构 148

5.4.3 接口库管理工具 149

5.4.4 编写接口库客户程序 150

5.5 设计对象接口的准则 154

5.5.1 编写对象接口 154

5.5.2 典型的对象接口 154

思考与练习 155

进一步阅读 156

第6章 服务端程序设计 158

6.1 可移植对象适配器 158

6.1.1 CORBA对象与伺服对象 158

6.1.2 CORBA对象的基本语义 159

6.1.3 对象适配器 160

6.1.4 可移植对象适配器 160

6.1.5 POA及其组件的IDL定义 162

6.2 设计POA策略 166

6.2.1 POA策略 166

6.2.2 选择POA策略 166

6.2.3 组合使用POA策略 168

6.2.4 请求的处理过程 169

6.3 使用POA 169

6.3.1 获取根POA的对象引用 170

6.3.2 创建自定义策略的POA 170

6.3.3 使用POA管理器 171

6.3.4 激活与冻结对象 173

6.3.5 使用默认伺服对象 175

6.4 伺服对象管理器 177

6.4.1 伺服对象激活器 177

6.4.2 伺服对象定位器 181

6.5 适配器激活器 183

6.5.1 按需激活POA 183

6.5.2 使用适配器激活器的例程 184

6.6 纽带机制 187

6.6.1 纽带机制的工作原理 187

6.6.2 使用纽带机制的例程 188

6.7 POA vs BOA 191

6.7.1 基本对象适配器 191

6.7.2 POA对BOA的改进 191

思考与练习 192

进一步阅读 192

第7章 客户端程序设计 194

7.1 请求的基本概念 194

7.1.1 请求是一个对象 194

7.1.2 ORB伪对象 195

7.1.3 创建请求对象 196

7.1.4 Any类型 198

7.1.5 实际参数与返回结果 200

7.1.6 服务端的请求对象 201

7.2 选择调用类型 202

7.2.1 静态调用接口 202

7.2.2 动态调用接口 202

7.2.3 选择合适的调用类型 203

7.3 选择通信方式 204

7.3.1 同步通信 204

7.3.2 延迟同步通信 204

7.3.3 单向通信 204

7.3.4 使用不同的通信方式 204

7.4 使用动态调用接口 205

7.4.1 基于DII的IDL桩 205

7.4.2 使用DII的开发步骤 207

7.4.3 完整的例程 208

7.5 使用动态框架接口 211

7.5.1 动态框架接口 211

7.5.2 基于DSI的IDL框架 211

7.5.3 使用DSI编写对象实现 213

7.6 请求的上下文 217

7.6.1 上下文对象的概念 217

7.6.2 Context伪对象 218

7.6.3 使用附带上下文的请求 219

7.7 消息传递的服务质量 220

7.7.1 消息传递的QoS策略 220

7.7.2 为消息传递指定QoS策略 224

7.7.3 一个完整的例程 225

思考与练习 226

进一步阅读 227

第8章 部署CORBA应用程序 229

8.1 部署阶段的总体决策 229

8.1.1 选择运行平台 229

8.1.2 决定包装形式 229

8.1.3 考虑系统容错性 229

8.1.4 开放系统vs封闭系统 230

8.1.5 安装过程启示 230

8.2 部署服务端程序 231

8.2.1 创建和发布对象引用 231

8.2.2 部署对象实现 231

8.2.3 部署持久服务程序 231

8.3 部署客户端程序 231

8.3.1 获取对象引用 232

8.3.2 部署接口定义 232

8.3.3 部署IDL客户桩 232

8.4 部署VisiBroker应用程序 232

8.4.1 安装运行环境 233

8.4.2 安装支持服务 233

8.4.3 定制运行环境 234

8.4.4 启动应用程序 234

8.4.5 使用管理工具 234

8.5 设置VisiBroker属性 235

8.5.1 VisiBroker属性 235

8.5.2 设置VisiBroker属性 236

8.6 配置智能代理 237

8.6.1 部署智能代理 237

8.6.2 使用ORB域 238

8.6.3 提高对象容错性 240

8.7 使用实现库 240

8.7.1 实现库服务 240

8.7.2 实现库管理工具 241

8.7.3 编写实现库客户程序 243

8.7.4 按需激活对象 246

思考与练习 246

进一步阅读 247

第三部分 分布式对象高级课题 249

第9章 对象查找与对象通信 249

9.1 对象查找 249

9.1.1 查找对象的基本机制 249

9.1.2 CORBA命名服务 250

9.1.3 命名服务的类结构 255

9.1.4 CORBA交易对象服务 256

9.1.5 选择合适的对象查找机制 260

9.2 对象通信 260

9.2.1 分布式对象的通信 260

9.2.2 CORBA事件服务 261

9.2.3 CORBA通知服务 274

9.2.4 CORBA消息服务 275

思考与练习 276

进一步阅读 277

第10章 事务处理及其他对象服务 278

10.1 对象事务处理 278

10.1.1 事务 278

10.1.2 基于DBMS的事务处理 278

10.1.3 分布式事务处理 279

10.1.4 CORBA对象事务服务 282

10.1.5 OTS应用编程模型 288

10.1.6 OTS与TP监控程序 291

10.2 并发控制 291

10.2.1 CORBA并发控制服务 291

10.2.2 不同的锁模式 292

10.2.3 并发控制服务提供的接口 293

10.3 对象安全性 294

10.3.1 信息系统的安全性 294

10.3.2 CORBA安全服务 294

10.3.3 安全策略及其实施 295

10.3.4 安全服务的体系结构 296

10.4 对象持久性 297

10.4.1 CORBA持久对象服务 297

10.4.2 CORBA持久状态服务 299

10.4.3 CORBA外表化服务 299

10.5 对象集管理 300

10.5.1 CORBA关系服务 300

10.5.2 CORBA生存期服务 301

10.5.3 CORBA对象类集服务 301

10.5.4 CORBA查询服务 302

10.6 其他服务 302

10.6.1 CORBA属性服务 302

10.6.2 CORBA时间服务 303

10.6.3 CORBA特许服务 303

思考与练习 303

进一步阅读 304

第11章 分布式应用程序性能与可伸缩性 306

11.1 基本概念 306

11.1.1 分布式应用程序的性能和可伸缩性 306

11.1.2 POA与可伸缩性 307

11.2 优化IDL接口的设计模式 307

11.2.1 优化分布式应用程序性能的设计原则 307

11.2.2 一个忽略性能的IDL接口设计例子 308

11.2.3 值对象设计模式 310

11.2.4 迭代器设计模式 311

11.3 资源池 313

11.3.1 资源池的概念 313

11.3.2 资源池的体系结构 313

11.3.3 资源池的QoS策略 314

11.4 多线程 316

11.4.1 多线程体系结构 316

11.4.2 服务程序的多线程模型 317

11.4.3 VisiBroker的线程管理 318

11.5 连接管理 319

11.5.1 连接与可伸缩性 319

11.5.2 可伸缩的连接管理 320

11.5.3 VisiBroker的连接管理 321

11.6 内存管理 322

11.6.1 杜绝内存泄漏 322

11.6.2 伺服对象实例池 325

11.7 负载均衡 328

11.7.1 实现负载均衡的体系结构 328

11.7.2 基于网络的负载均衡 329

11.7.3 基于操作系统的负载均衡 329

11.7.4 基于中间件的负载均衡 330

11.7.5 基于应用程序的负载均衡 330

思考与练习 331

进一步阅读 332

第四部分 分布式组件模型与Web应用开发 334

第12章 EJB组件模型 334

12.1 EJB的基本概念 334

12.1.1 EJB组件的分类 336

12.1.2 EJB组件与EJB容器 337

12.1.3 EJB 3.0改进之处 338

12.2 EJB容器提供的设施与服务 341

12.2.1 通信基础设施 341

12.2.2 生存期管理 342

12.2.3 命名服务 344

12.2.4 并发控制服务 345

12.2.5 持久性服务 345

12.2.6 事务服务 346

12.2.7 安全服务 347

12.3 应用WebLogic开发与部署EJB 2.3组件 349

12.3.1 开发与部署EJB 2.3实体组件 349

12.3.2 开发与部署会话组件 366

12.3.3 开发与部署消息驱动组件 377

思考与练习 383

进一步阅读 384

第13章 J2EE规范、Web应用框架与CCM 385

13.1 J2EE规范 385

13.1.1 J2EE概述 385

13.1.2 JavaEE 5与JavaEE 6 385

13.1.3 J2EE平台的执行模型 386

13.1.4 MVC设计模式 387

13.1.5 基于角色的开发过程 388

13.1.6 J2EE应用服务器 389

13.2 J2EE Web层组件 391

13.2.1 客户端组件Applet 392

13.2.2 服务端组件Servlet 392

13.2.3 服务端组件JSP 394

13.3 Web应用框架 398

13.3.1 Web应用分层架构 398

13.3.2 Web应用开发框架 398

13.3.3 主流Web应用框架比较 399

13.4 基于JBoss开发与部署EJB 3.0组件 401

13.4.1 EJB 3.0实体组件 401

13.4.2 EJB 3.0无状态会话组件 403

13.4.3 EJB 3.0有状态会话组件 404

13.4.4 JSP页面调用EJB组件及部署 404

13.5 CORBA组件模型CCM 406

13.5.1 CCM组件特性 406

13.5.2 CCM组件设计与开发过程 408

思考与练习 410

进一步阅读 411

第五部分 面向服务的体系结构及展望 412

第14章 Web服务与SOA基础 412

14.1 Web服务的基本概念 412

14.1.1 Web的发展过程 412

14.1.2 Web服务架构与定义 413

14.1.3 Web服务的技术特点 414

14.2 Web服务的实现原理 416

14.2.1 XML 416

14.2.2 简单对象访问协议 418

14.2.3 Web服务描述语言 420

14.2.4 UDDI 421

14.3 Web服务开发实例 422

14.3.1 Web服务与客户程序设计 422

14.3.2 Web服务部署与测试 424

14.4 SOA的基本概念 425

14.4.1 SOA的定义与功能描述 425

14.4.2 SOA分层体系结构 427

14.4.3 SOA与面向对象、Web服务技术 428

14.4.4 SOA的主要支持厂商与产品 431

思考与练习 433

进一步阅读 433

第15章 SOA实现与SOA治理基础 435

15.1 SOA编程基本范型 435

15.1.1 SOA编程范型 435

15.1.2 业务流程执行语言 436

15.1.3 服务组件架构 442

15.1.4 服务数据对象 443

15.2 SOA的基本架构与实施方法 444

15.2.1 服务调用方式与企业服务总线 444

15.2.2 面向服务的分析与设计 446

15.2.3 SOA生命周期 448

15.2.4 SOA实施切入点与步骤 449

15.3 SOA实现:以JBoss产品为例 450

15.3.1 JBoss产品线介绍 450

15.3.2 SOA配置与开发示例 450

15.4 SOA治理基础 454

15.4.1 提出SOA治理的背景 454

15.4.2 SOA治理生命周期与SOA生命周期 455

15.4.3 SOA治理参考模型 456

思考与练习 457

进一步阅读 457

第16章 分布式计算展望 459

16.1 网格计算与网络服务 459

16.1.1 网格计算 459

16.1.2 高性能网格计算 459

16.1.3 网格服务 460

16.1.4 与网格计算相关的研究计划 461

16.2 其他发展方向 462

16.2.1 对等计算 462

16.2.2 移动代理 463

16.2.3 云计算 464

思考与练习 464

进一步阅读 465

附录 466

附录A OMG IDL语法规则 466

附录B OMG主要规范一览 469

附录C 中英文术语对照表 472

参考文献 478