《Jini核心技术》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)W.Keith Edwards著;王召福等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2000
  • ISBN:7111080726
  • 页数:449 页
图书介绍:

第一部分 基础 1

第1章 一种新的计算模式 1

1·1 Jini的历史 1

1·1·1 Jini的设想 2

1·1·2 更广泛的应用 3

1·1·3 Jini的公开 4

1·1·4 许可证 4

1·1·5 共享源码许可 4

1·2 获取和安装Jini 5

1·2·1 安装Java2 6

1·2·2 安装Jini 7

1·2·3 设置环境 9

1·2·4 启动Jini运行时的服务 10

1·2·5 通过GUI启动所需服务 11

1·2·6 用命令行方式启动所需服务 15

1·2·7 运动例子程序 19

1·3 参考读物和资源 20

2·1·1 传统网络系统 21

第2章 分布式系统 21

2·1 网络中的焦点 21

2·1·2 网络并不透明 22

2·2 新的分布式计算模型 25

2·2·1 需要强类型 26

2·2·2 远程多态性的例子 27

2·2·3 远程特性是接口的一部分而与实现无关 28

2·3 参考读物 29

3·1·1 简明性 31

3·1·2 可靠性 31

3·1 Jini设计的中心 31

第3章 Jini模型 31

3·1·3 可伸缩性 32

3·2 设备不可知论 33

3·3 Jini不是什么 33

3·3·1 Jini不是名字服务器 33

3·4 Jini的五个基本概念 34

3·3·4 Jini不是RMI 34

3·3·5 Jini不是分布式操作系统 34

3·3·3 Jini不是企业JavaBeans 34

3·3·2 Jini不是JavaBeans 34

3·4·1 发现 35

3·4·2 查找 37

3·4·3 租借 41

3·4·4 远程事件 45

3·4·5 事务 51

3·5 后面的内容 56

4·1 成为Jini服务 57

第4章 部署方案 57

4·2 如何为设备和服务使用Jini 58

4·3 在通用计算机上运行Jini 58

4·4 在支持Java的设备上运行Jini 60

4·4·1 Jini和Java子集 60

4·4·2 版本问题 61

4·5 Jini使用设备代理 61

4·6 基本Jini服务的需求 63

4·7 适于使用Jini的情况 63

4.10 后面的内容 64

4·9 参考读物 64

4·8 不适于使用Jini的情况 64

第二部分 Jini的开发 65

第5章 Jini起步 65

5·1 运行Jini服务 65

5·2 按部署情况进行开发 66

5·2·1 运行多个HTTP服务器 67

5·2·2 警惕代码基问题 67

5·2·6 考虑把可下载代码捆绑为一个JAR文件 68

5·2·5 注意CLASSPATH 68

5·2·4 注意安全策略 68

5·2·3 设置安全管理器 68

5·2·7 小结 69

5·3 第一个Jini程序:Hello、World 69

5·3·1 实现服务代理 72

5·3·2 包装”应用程序 73

5·3·3 使用发现和查找 75

5·3·4 其他细节 76

5·3·5 使用服务模板来寻找服务 78

5·3·6 查找一个服务 79

5·3·7 编译并运行例子程序 80

5·4 扩展Hello、World程序的事件能力 84

5·4·1 编写远程事件接收器 86

5·4·2 通过Notify()请求事件 87

5·4·3 编译并运行程序 88

5·5 带有租借的Hello、World例子 91

5·5·1 一个简单的方法 92

5·5·2 编译和运行程序 97

5·6 使用可激活的后端进程 99

5·7 后面的内容 109

第6章 深入理解:发现 110

6·1 发现是什么 110

6·1·1 用组划分群体的名称空间 111

6·1·2 发现的分类 111

6·1·3 发现机制的要求 112

6·2 发现概述 112

6·2·1 IP组播基础 112

6·2·2 服务发起的发现 113

6·2·3 查找服务发起的发现 113

6·2·4 “直接”发现 114

6·3 在应用程序中使用发现 115

6·3·1 DiscoveryListener接口 115

6·3·2 DiscoveryEvent封装了发现信息 115

6·3·3 使用LookupDiscovery控制组播发现 116

6·3·4 使用LookupLocator来控制单播发现 123

6·4 发现协议的内部知识 127

6·4·1 组播请求协议 127

6·4·2 组播通告协议 129

6·4·3 单播发现协议 132

6·5 发现内部的其他问题 137

6·5·1 组播限制及原则 137

6·5·2 组播路由结构 137

6·5·3 安全性 138

6·5·4 主机和网络的需求 138

6·5·5 一些用于实现发现的接口 138

6·6 小结 139

6·7 后面的内容 139

7·1·1 属性是什么 140

7·1 属性基础知识 140

第7章 使用属性描述服务 140

7·1·2 属性的特殊语义 141

7·2 搜寻属性 143

7·3 谁修改属性 144

7·4 标准属性 144

7·5 创建新属性 145

7·6 属性和Bean 147

7·6·1 使用EntryBeans类把Entry映射为Bean 147

7·6·3 项目Bean类 148

7·6·2 如何找到项目Bean 148

7·6·4 标准项目Bean 149

7·6·5 例子:容量Bean 149

7·6·6 另一个例子:使用GUI Bean 151

7·7 参考读物 153

第8章 深入理解:使用查找服务 154

8·1 查找概述 154

8·1·1 查找服务是Jini服务 154

8·1·3 客户如何使用查找 155

8·1·2 服务如何使用查找 155

8·2 发布服务代理:加入协议 156

8·2·1 JoinManager类 157

8·2·2 管理服务ID 159

8·3 在应用程序中使用JoinManager 160

8·3·1 编译并运行例子程序 165

8·3·2 通过JoinManager使用属性 165

8·3·3 限制修改服务控制的属性 166

8·4 客户如何使用查找服务 167

8·4·2 搜寻服务 168

8·4·1 客户生命周期 168

8·4·3 从查找服务请求事件 174

8·4·4 客户方其他问题 180

8·5 管理查找服务 182

8·5·1 服务管理的简要介绍 183

8·5·2 查找管理接口 183

8·5·3 管理Reggie查找服务的实现 184

8·6 查找服务的联合 184

8·7 例子:查找服务隧道 189

8·9 小结 195

8·10 后面的内容 195

8·8 参考读物 195

第9章 一个Jini查找服务浏览器 196

9·1 浏览器做什么 196

9·2 使用浏览器 197

9·3 创建管理构件 197

9·3·1 DestroyAdminPanel 198

9·3·2 StorageLocationAdminPanel 199

9·3·3 用于管理集合的ListBox 201

9·3·4 DiscoveryAdminPanel 204

9·3·5 JoinAdminPanel 207

9·3·6 AdminPanel 211

9·4 通用Jini类型的Jlist表元交付工具 212

9·4·1 LookupCellRenderer 213

9·4·2 ServiceCellRenderer 214

9·4·3 AttrCellRenderer 215

9·5 浏览器框架的核心 217

9·5·1 在列表中存储数据 217

9·5·2 使用发现 218

9·5·4 处理列表事件 220

9·5·3 接收服务事件 220

9·5·5 Browser类 221

9·6 建立并运行浏览器 228

9·7 后面的内容 229

第10章 深入理解:租借 230

10·1 分布式系统中的可靠性 230

10·1·3 使用租借解决问题 231

10·2 租借方案 231

10·1·2 可升级能力的需要 231

10·1·1 自修复的需要 231

10·3 租借的代价 234

10·4 创建租借使用方 234

10·4·1 租约接口 234

10·4·2 LeaseMap接口 238

10·5 用于租借使用者的高层API 239

10·6 租借服务 242

10·6·1 租借服务概述 243

10·6·2 远程租借API 243

10·6·3 用于远程租借的事件和接收器 247

10·6·4 租借服务的实现 248

10·6·5 编译并运行例子程序 257

10·7 租借的实际使用 259

10·7·1 谁处理租约续订 259

10·7·2 租借的危险 261

10·7·3 委托给外部JVM与委托给内部类 261

10·8 小结 261

10·9 后面的内容 262

11·1 租借接口及实现 263

第11章 输出被租借的资源 263

11·2 Landlord范型 264

11·2·1 标识被租借资源 266

11·2·2 实现landlord接口 266

11·3 一个例子 267

11·4 小结 280

11·5 后面的内容 280

第12章 良性的服务 281

12·1 服务的责任 281

12·2·1 通过代管管理 282

12·2 服务管理 282

12·2·2 管理接口 283

12·2·3 实现管理代管程序 283

12·2·4 例子:管理LeaseSertvice 284

12·3 为服务提供用户界面 291

12·4 小结 297

12·5 后面的内容 297

第13章 一个完整的例子:打印服务 298

13·1 打印服务的要求 298

13·2·1 服务的超类 299

13·2 服务开发者的工具套件 299

13·2·2 管理的工具 303

13·3 定义打印服务API 306

13·4 与客户通信:事件和接收器 307

13·5 远程打印接口 308

13·6 打印服务代理 309

13·7 打印机管理API和用户界面 310

13·8 打印服务的内部实现 312

13·8·1 打印 318

13·8·2 持久数据的格式 319

13·8·3 实现打印服务管理 320

13·9 打印客户 323

13·10 编译并运行例子程序 326

13·11 进一步的工作 328

13·12 小结 328

13·13 后面的内容 329

第14章 深入理解:远程事件 330

14·1 通知的需要 330

14·3·1 无序传送 332

14·3 远程事件与本地事件的区别 332

14·2 Jini事件设计的中心 332

14·3·2 部分失败 333

14·3·3 延迟与计算 333

14·4 应用的语义 333

14·5 Jini事件编程模型 334

14·5·1 Remote Event类 334

14·5·2 RemoteEventListener接口 337

14·5·3 其他事件接口 338

14·6 例子:心跳事件 339

14·6·1 用于事件注册的工具套件 340

14·6·2 一个简单的事件生成器 344

14·6·3 测试HeartbeatGenerator的客户程序 352

14·6·4 编译并运行Heartbeat例子 355

14·7 第三方事件代管程序 358

14·7·1 设计为可组合 358

14·7·2 实际应用组合 359

14·7·3 如何通过管道传送事件 359

14·7·4 建立管道 360

14·7·5 接收器角度的管道 361

14·7·6 通过代管程序租借 362

14·8 例子:事件邮箱 363

14·8·1 EventMailbox服务 364

14·8·2 邮箱客户 371

14·8·3 编译并运行例子程序 374

14·9 小结 377

4·10 后面的内容 378

第15章 JavaSpaces 379

15·1 什么是JavaSpaces 379

15·1·3 JavaSpaces的前身 380

15·1·2 基于属性的搜寻 380

15·1·1 对象的文件系统 380

15·2 获取并安装JavaSpaces 381

15·2·1 从Sun公司下载JavaSpaces 381

15·2·2 解包分发软件 382

15·2·3 检查分发软件 382

15·2·4 设置环境 383

15·2·5 启动运行时服务 383

15·4 JavaSpaces编程模型 389

15·3 暂态性和持久性JauaSpaces 389

15·4·1 事务的简要介绍 390

15·4·2 JavaSpaces API 390

15·5 例子:使用JavaSpaces记录持久性事件 394

15·5·1 搜寻能力的设计 394

15·5·2 群体监视程序Watcher 397

15·5·3 记录事件数据的使用者程序 402

15·5·4 编译并运行程序 407

15·6 用JavaSpaces解决分布式计算的问题 409

15·7 参考读物 410

15·8 后面的内容 411

第16章 分布式事务 412

16·1 致性与部分失败 412

16·2 经典”事务模式 413

16·3 Jini中的事务 414

16·4 使用Jini事务编程 416

16·4·1 事务管理器 416

16·4·2 创建事务 416

16·4·3 事务接口 417

16·4·5 在JavaSpaces中使用事务 419

16·4·4 事务参与者 419

16·5 事务的其他内容及习惯用法 427

16·5·1 事务和可视化 427

16·5·2 事务的嵌套 427

16·5·3 事件和序列号 428

16·5·4 使用事务隐藏数据 429

16·6 小结 429

附录 431

附录A RMI入门 431

附录B Java和Jini系统的常用属性 448