《Java分布式程序设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Qusay H.Mahmoud著;欧阳光,安锦译
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2002
  • ISBN:7118026875
  • 页数:265 页
图书介绍:

第一部分 Socket编程 3

第1章 了解分布式程序设计 3

1.1 概述 3

1.2 Internetwork概览 3

1.2.1 网络体系结构 3

1.2.2 协议 4

1.2.3 OSI参考模型 4

1.2.4 命名与路由 5

1.2.5 Internet地址 5

1.3.1 客户/服务器模式 6

1.3 分布式程序设计简介 6

1.3.2 基于对象模式 7

1.4 分布式程序设计技术 7

1.4.1 Socket 7

1.4.2 远程过程调用 7

1.4.3 分布式程序为什么好 8

1.4.4 分布式程序为什么是困难的 8

1.5 Java支持的分布式程序设计 9

1.6 移动网络 10

1.7 Java安全性概览 10

1.8 小结 12

2.1 内部通信方式 13

第2章 了解Socket编程 13

2.2 什么是Socket? 14

2.2.1 Socket类型 15

2.3 TCP/IP和UDP/IP通信 15

2.3.1 数据报通信协议 15

2.3.2 流通信协议 15

2.3.3 UDP与TCP 15

2.4 客户/服务器通信 16

2.5 使用Java进行Socket编程 16

2.5.1 数据流 17

2.5.2 TCP Socket 17

2.5.3 UDP Socket(数据报) 20

2.5.4 多点传送Socket 21

2.6 Creetings服务器实例 21

2.6.1 服务器程序 22

2.6.2 客户程序 24

2.6.3 错误? 25

2.7 解析Internet地址 25

2.7.1 例:GetName 26

2.7.2 例:GetIP 26

2.7.3 例:NsLookup 27

2.7.4 例:IPtoName 28

2.8 小结 29

3.1 对现有服务编写客户程序 30

3.1.1 SMTP客户程序 30

第3章 客户和服务器程序设计 30

3.1.2 finger客户程序 33

3.1.3 ping客户程序 35

3.2 使用线程进行编程 37

3.2.1 什么是线程? 37

3.2.2 线程的优点 38

3.2.3 示例:创建并运行线程 38

3.2.4 创建和启动线程 39

3.2.7 改变线程优先级 41

3.2.5 使线程睡眠 41

3.2.6 控制线程 41

3.2.8 同步 42

3.3 编写新的服务器和客户程序 43

3.3.1 示例:算术客户/服务器应用程序 44

3.4 小结 49

第4章 应用程序中的Socket 50

4.1 开发一个多线程HTTP服务器 50

4.2 HTTP的安全 54

4.3 代理服务器 55

4.4 通过Socket访问数据库 56

4.3.1 代理服务器如何工作 56

4.3.2 代理服务器的优点 56

4.5 解释JDBC 57

4.5.1 JDBC安全模式 58

4.5.2 JDBC DriverManager 58

4.5.3 剖析JDBC应用程序 59

4.5.4 Java对象的持久性存储器 61

4.6 小结 64

第5章 Socket高级编程 65

5.1 对象序列化 65

5.1.1 对象序列化与持久性 66

5.1.3 控制序列化 68

5.1.2 对象序列化的安全 68

5.1.4 序列化对象的版本 69

5.2 Socket对象 70

5.2.1 在线发送对象 70

5.3 数字签名报文 74

5.3.1 java.security包 74

5.3.2 数字签名 74

5.3.3 示例:通过Socket签名文件 74

5.4 小结 81

6.1 简介 82

6.2 基于Web的全局计算 82

第6章 实例分析:全局计算引擎 82

6.2.1 为什么需要全局计算 83

6.2.2 为什么需要基于Web的计算 83

6.2.3 需考虑的问题 83

6.3 为什么不用CGI 84

6.3.1 优点 84

6.3.2 缺点 84

6.4 客户/服务器模式 85

6.5 安全问题 85

6.6.1 类装载器 86

6.6 实现细节 86

6.6.2 安全策略 90

6.6.3 计算引擎 93

6.6.4 命令行客户程序 96

6.7 其它问题 97

6.7.1 搜索计算资源 97

6.7.2 代理程序 98

6.8 小结 98

第二部分 RMI 101

第7章 了解RMI 101

7.1 RMI简介 101

7.2 什么是RMI? 101

7.3 RMI的目标 102

7.4.1 桩/构架层 103

7.4.2 远程引用层 103

7.4 RMI体系结构 103

7.4.3 传输层 104

7.5 RMI如何工作 104

7.6 分布垃圾回收 104

7.7 RMI和OSI参考模型 105

7.8 安全 105

7.9 小结 106

第8章 从RMI开始 107

8.1 基于RMI应用程序的剖析 107

8.1.2 实现远程接口 108

8.1.1 定义远程接口 108

8.1.3 使用远程接口开发客户程序 111

8.1.4 产生桩和构架 112

8.1.5 自动RMI注册表 113

8.1.6 运行服务程序和客户程序 113

8.2 使用RMI注册表工作 114

8.2.1 从注册表中删除一个对象 114

8.2.2 重新绑定一个对象到注册表 115

8.3 RMI与Socket的比较 115

8.4 小结 116

9.1.1 定义一个远程接口 117

第9章 高级RMI编程 117

9.1 “城市信息”服务器 117

9.1.2 实现远程接口 118

9.1.3 开发一个客户程序 119

9.1.4 产生桩和构架 120

9.1.5 启动RMI注册表 120

9.1.6 运行服务器和客户程序 120

9.2 实现“工厂” 120

9.2.1 定义工厂接口 120

9.2.2 实现Gity2接口 121

9.2.3 实现CityFactory接口 122

9.2.4 调用工厂 123

9.3 实现回调 124

9.2.5 运行工厂 124

9.3.1 Java中的回调 125

9.3.2 在RMI中实现回调 125

9.4 通过RMI签名对象 129

9.4.1 java.security包 129

9.4.2 示例 129

9.5 小结 132

第10章 使用Java2进行RMI编程 134

10.1 创建定制的Socket类型 134

10.1.1 创建定制的Socket类型的步骤 134

10.2.2 减少更多的Socket类型 135

10.2 创建一个定制的RMISocketFactory 135

10.2.1 减少一人Socket类型 135

10.2.3 使用定制的RMISocketFactory 136

10.3 SSL Socket 137

10.4 远程对象激活 138

10.4.1 简介 138

10.4.2 激活协议 138

10.4.3 创建一个可激活的远程对象 139

10.5 版本控制 141

10.5.1 包的版本 141

10.5.2 产品版本与用户 143

10.6 小结 144

第三部分 CORBA 147

第11章 CORBA概述 147

11.1 了解CORBA 147

11.2 CORBA结构 147

11.2.1 对象请求代理 148

11.2.2 不同厂商和不同ORB 149

11.2.3 界面定义语言(IDL) 149

11.2.4 动态调用接口(DII) 149

11.4 对象服务 150

11.3 客户和对象实现 150

11.2.7 对象适配器(OA) 150

11.2.6 接口仓库(IR) 150

11.2.5 动态构架接口(DSI) 150

11.5 CORBA3.0的新特点 151

11.5.1 可移植对象适配器 151

11.5.2 CORBA通信(Messaging) 152

11.5.3 通过值传递对象 153

11.6 小结 153

第12章 开始使用CORBA 154

12.1 CORBA实现 154

12.2 基于CORBA应用程序的剖析 154

12.2.1 定义IDL接口 155

12.2.2 实现CORBA类 157

12.2.3 开发服务器程序 158

12.2.4 开发客户程序 159

12.2.5 启动smart agent,服务器和客户机 160

12.3 比较CORBA和RMI 160

12.4 小结 161

第13章 CORBA IDL:接口定义语言 162

13.1 IDL定义 162

13.1.1 注释 162

13.1.2 标识符 162

13.2 IDL接口 163

13.1.3 字面量 163

13.3 模块声明 164

13.4 属性声明 164

13.5 类型声明 165

13.5.1 基本类型 165

13.5.2 构造类型 165

13.5.3 模板类型 166

13.6 数组 166

13.8 常量声明 167

13.9 异常声明 167

13.7 typedef声明 167

13.6.1 数列和序列 167

13.10 操作声明 168

13.10.1 参数声明 168

13.10.2 非等待操作 168

13.10.3 raises表达 168

13.11 预处理 169

13.12 关键字 169

13.13 小结 169

第14章 IDL到Java的映射 171

14.1 名称 171

14.2 模块 171

14.3 Holder类 172

14.5 基本类型 174

14.4.2 不在接口内的常量 174

14.4 常量 174

14.4.1 在接口内的常量 174

14.5.1 布尔型 175

14.5.2 字符型 175

14.5.3 八进制型 175

14.5.4 字符串 176

14.5.5 整型 176

14.5.6 浮点型 177

14.6 构造类型 177

14.6.1 enum 177

14.6.2 结构 178

14.6.3 联合 179

14.6.4 序列 180

14.6.5 数列 181

14.7 异常 181

14.7.1 用户定义异常 182

14.7.2 系统异常 182

14.8 接口 182

14.8.1 参数传送模式 183

14.9 typedef映射 184

14.9.1 简单IDL类型 184

14.9.2 复杂IDL类型 184

14.10 小结 185

15.1 一个银行应用程序 186

15.1.1 在IDL中定义接口 186

第15章 命名和绑定 186

15.1.2 实现CORBA类 187

15.1.3 开发服务器程序 189

15.1.4 开发客户程序 190

15.1.5 运行应用程序 191

15.2 命名对象 191

15.3 绑定对象 192

15.3.1 绑定功能 192

15.3.4 对于对象引用的操作 193

15.3.2 指定绑定选项 193

15.3.3 本地对远程对象定位 193

15.3.5 缩小对象引用 194

15.4 小结 194

第16章 注册和激活对象 195

16.1 基本对象适配器 195

16.2 对象激活模式 195

16.3 对象引用 196

16.3.1 暂态对象引用 196

16.3.2 永久对象引用 196

16.5 实现仓库 197

16.4 注册对象 197

16.6 小结 198

第17章 继承和约束机理 200

17.1 接口继承 200

17.1.1 示例 200

17.2 约束机理 201

17.2.1 示例 201

17.2.2 修改Server类 201

17.2.3 修改Aeeountimpl类 202

17.2.4 修改Managerlmpl类 202

17.3 小结 203

18.1 动态调用接口 204

第18章 动态调用/构架接口 204

18.1.1 使用DII 205

18.1.2 请求参数 206

18.2 动态构架接口 206

18.2.1 使用DSI 206

18.3 接口仓库 207

18.3.1 创建一个接口仓库 208

18.4 小结 208

第19章 Caffeine 209

19.1 Caffeine概述 209

19.2 使用java2iiop编译器 209

19.3.1 定义接口 210

19.3 剖析一个Caffeine基的应用程序 210

19.3.2 编写一个服务器对象 211

19.3.3 编译服务器 212

19.3.4 编写客户机代码 212

19.3.5 编译客户机代码 213

19.3.6 运行服务器 213

19.3.7 运行客户机 213

19.4 数据类型映射 213

19.5 小结 214

第20章 移动软件代理概述 217

20.1 软件代理介绍 217

第四部分 移动代理和Voyager 217

20.2 移动软件代理 218

20.3 一个新的分布计算范例 218

20.4 移动代理应用程序 218

20.5 移动代理的安全 219

20.6 移动代理实现 220

20.6.1 General Magic s Odysses 220

20.6.2 IBM Japan的Aglet 220

20.6.3 ObjecfSpace公司的Voyager ORB 221

20.7 小结 221

21.1 概述 222

第21章 开始使用Voyager 222

21.2.1 启动和终止Voyager程序 223

21.2 Voyager的使用 223

21.2.2 记录控制台信息 224

21.2.3 远程接口 224

21.2.4 创建远程对象 225

21.2.5 剖析一个Voyager应用程序 226

21.2.6 命名服务和代理 228

21.3 小结 231

第22章 移动代理编程 232

22.1 动态集合 232

22.1.2 Facet创建和远程访问 233

22.1.1 使用facet 233

22.2 移动性 236

22.2.1 移动对象 237

22.2.2 移动性和消息 238

22.2.3 得到通知 239

22.3 移动代理 241

22.3.1 使用移动代理 241

22.3.2 开发移动代理 242

22.4 小结 246

23.1.1 安装安全管理器 247

23.1 安全 247

第23章 高级Voyager编程 247

23.2 高级消息 248

23.3 发布和订阅 249

23.4 激活 250

23.4.1 编写一个激活器 250

23.5 计时器 251

23.6 小结 251

24.1.1 导入和导出CORBA对象 253

24.2 剖析Voyager CORBA应用程序 253

24.1 Voyager CORBA编程 253

第24章 Voyager和CORBA集成 253

24.2.1 开发接口 254

24.2.2 实现接口 254

24.2.3 开发服务器程序 254

24.2.4 开发客户机程序 255

24.2.5 编译和运行应用程序 256

24.3 Voyager CORBA集成 257

24.3.1 Voyager客户机和CORBA服务器 257

24.3.2 Voyager服务器和CORBA客户机 260

24.4 小结 262

参考文献 263

在线参考 264