首页>参考读物>计算机科学与技术>软件与程序设计

JavaSpaces程序设计
作者 : (美)Steven L.Halter
译者 : 钟鸣 石永平 等
出版日期 : 2002-06-01
ISBN : 7-111-10329-7
定价 : 35.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 244
开本 : 16开
原书名 : Java Spaces Example By Example
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

JavaSpaces是建立在Jini之上的一种技术,它可以作为一个Jini服务,作为一种共享分布式通信的机制,还可作为一种存储对象的机制。本书详细介绍了JavaSpaces技术,举例讲解JavaSpaces的应用方法,并对JavaSpaces与Jini的关系进行了讨论。本书内容翔实、讲解透彻,适合有一定Java工作经验的程序设计人员参考。

图书前言

撰写分布式程序设计的书籍很难。涉及过分布式程序设计环境的人对这句话应该不会感到吃惊。好在程序设计技术和工具在逐渐发展,逐渐满足分布式程序设计的需求,这件工作也渐渐容易起来了。特别是JavaSpaces技术的引进在几个方面使分布式计算环境简单化后,撰写这一类的书籍就容易一些了。
JavaSpaces技术是进行分布式计算的一种简单机制。在分布式计算应用程序中,JavaSpaces提供了对象的提供者和请求者可用来方便地进行通信的共享虚拟空间。这允许以Java对象的形式对任务、请求和信息进行简单的交换。JavaSpaces还提供了永久地建立和保存对象的能力。
JavaSpaces是一种Jini技术服务。这表示使用JavaSpaces的开发人员也可以利用各种Jini服务,比如说利用事务处理和通知等。
JavaSpaces以一种非常简单的接口提供了这些功能。但是,有效地利用这种简单的接口需要大量的概念和工具。本书将利用一组密切相关的例子,提供坚实的基础知识,把大家引导到正确使用JavaSpaces技术的方向上。
关于本书
本书面对的读者是希望学习JavaSpaces的中、高级程序设计员。读者需要有一定的Java工作经验,最好知道一点Jini概念(但不是必需的)。
本书将尽量给出所讲述的每个概念的完整例子。
本书结构
第一部分“JavaSpaces基础知识”,讲述使用JavaSpaces的基础知识。在第1章“关于JavaSpaces”中,介绍什么是JavaSpaces,本书中怎样研究它们以及为什么大家都想使用它们。关于“什么是JavaSpaces”,在给出某些定义的同时,还给出了相应的JavaSpace接口。关于“为什么大家都想使用它们”,给出了使用JavaSpaces的一些高度概括的描述,后面的章节中还要进一步说明。例子里包括将JavaSpaces用作一种分离通信(decoupled communication)、应用程序构造和并行计算的机制。
在第2章“获得和安装JavaSpaces”中,介绍获得JavaSpaces(以及Jini本身)并启动和运行的方法。第一次做这件事是一种挑战性的体验。这一章介绍安装Jini和JavaSpaces并运行一个简单的应用程序,详细介绍某些常见问题,如授权配置问题和不正确的代码库设置等。虽然有经验的Jini开发人员可以跳过这一章,但对于初学者来说,这一章是极有价值的。
在第3章“JavaSpaces基础”中,着手尝试实际使用JavaSpace并编写一些简单的程序。该章介绍一种定位一个JavaSpace的方法。然后介绍什么是Entry以及怎样使用它。在这里,每个概念都用简单的例子说明。
在第4章“JavaSpaces的更多介绍”中,将进一步介绍涉及JavaSpaces的更多高级内容。再次说明,每个内容都以一个简单例子的形式进行介绍。后面的章节中大量利用了这些内容。该章的目的是使读者熟悉这些内容及相应的程序块。
第二部分“分布式程序设计”介绍怎样将第一部分所学的知识用于编写分布式应用程序。第5章“分布式介绍”开始探索在分布式环境中进行程序设计的方法。分布式程序设计不同于单机(进程)中的程序设计。该章介绍了与分布式环境程序设计有关的某些概念,并利用一种连接表的概念详细地研究了分布式与非分布式数据结构之间的某些区别。
第6章“同步问题”讨论防止进程死锁的机制。这一章介绍锁定和共享问题,并给出了相应的机制,如处理资源同步的信号量等。
第7章“公平共享资源”给出了利用(并结合)前几章所介绍的许多内容的更为复杂的例子。例子应用程序给出了一个较小的定单处理系统。利用这个程序来说明怎样以一种公平可靠的方式共享数据的思想。
第三部分“进入更高层次”介绍怎样使用第一、第二部分所述的机制,帮助满足进入实际应用所必需的要求。第8章“并行计算”介绍可能会在哪些方面遇到性能问题,以及JavaSpaces有助于提高性能的方法。存在着许多改进(或降低)分布式应用性能的方法。该章讨论改善性能的某些常见技术,如确定何种计算能够从分布得到好处,以及怎样分布数据等。
第9章“安全性问题”研究某些与JavaSpaces有关的安全问题。目前不存在标准的Jini安全模型。但这并不是说,应用程序就没有安全性了。这一章介绍当前怎样将Java的某些安全功能用于JavaSpaces。讨论怎样设置策略文件并使用某些有助于应用程序级安全的简单协议。
第10章“总结”对某些内容做进一步的补充。在这一章中,还介绍一些使用或可能会使用JavaSpaces的领域。
作者介绍
Steven L.Halter是Imation公司的高级软件工程师,他在进行软件研究和开发的罗切斯特实验室工作。与别人合作撰写过《Enterprise Java Performance》一书。他曾经担任过IBM软件系统部的软件工程师,而且曾经是San Francisco性能组的成员。他对对象永久性和对象基础结构颇有研究,拥有12项已颁布的美国专利。他还做过IBM AS/400的系统软件体系结构和设计方面的工作。他在爱荷华州立大学取得过计算机科学学士学位和博士学位。
本书英文版书名:JavaSpaces Example by Example
英文版书号:ISBN 0-13-061916-7
原书出版社网址:www.phptr.com

作者简介

(美)Steven L.Halter:暂无简介

译者简介

钟鸣 石永平 等:暂无简介

图书目录

第一部分  JavaSpaces基础知识
第1章  关于JavaSpaces 1
1.1  什么是JavaSpace 1
1.1.1  JavaSpace接口 4
1.1.2  Jini和JavaSpaces 8
1.1.3  共享分布式计算 10
1.1.4  永久对象仓库 11
1.2  JavaSpaces的用途 12
1.2.1  信息共享 12
1.2.2  计算服务 12
1.2.3  工作流 12
1.3  本章小结 12
第2章  获得和安装JavaSpaces 13
2.1  获得Java 14
2.2  获得和安装Jini 15
2.2.1  Sun社区资源许可协议(SCSL) 15
2.2.2  获得Jini 16
2.2.3  安装Jini 16
2.3  运行JavaSpace 17
2.4  启动支持服务 17
2.4.1  利用GUI进行启动 18
2.4.2  从命令行启动 23
2.4.3  运行射线跟踪例子 27
2.5  本章小结 31
第3章  JavaSpaces基础 33
3.1  编程约定 33
3.2  查找一个JavaSpace 34
3.2.1  编译 40
3.2.2  运行服务 41
3.2.3  运行例子 42
3.3  项 43
3.3.1  写一个项 44
3.3.2  编译 46
3.3.3  运行例子 46
3.4  读一个项 47
3.4.1  项模板 49
3.4.2  编译 50
3.4.3  运行例子 50
3.5  取走一个项 52
3.5.1  编译 53
3.5.2  运行例子 53
3.6  快照方法 54
3.7  本章小结 56
第4章  JavaSpaces的更多介绍 57
4.1  租用 57
4.2  对JavaSpace使用租用 59
4.2.1  编译 65
4.2.2  运行例子 65
4.3  对JavaSpaces使用事务处理 66
4.3.1  建立一个事务处理 67
4.3.2  事务处理和JavaSpace的方法 69
4.3.3  对JavaSpaces使用事务处理 70
4.4  分布式事件 76
4.4.1  分布式事件和JavaSpaces 77
4.4.2  事件例子 80
4.5  永久性 85
4.6  本章小结 86
第二部分  分布式程序设计
第5章  分布式介绍 89
5.1  分布式概念 89
5.1.1  并行性 89
5.1.2  部分失效 92
5.1.3  通信/同步 92
5.2  分布式结构 92
5.2.1  数组 93
5.2.2  编译 104
5.2.3  运行例子 104
5.2.4  队列 105
5.2.5  无序结构 118
5.3  本章小结 123
第6章  同步问题 125
6.1  同步问题的类型 125
6.1.1  数据讹误 126
6.1.2  死锁问题 126
6.1.3  资源缺乏问题 127
6.2  同步方法 127
6.2.1  基本JavaSpace机制 128
6.2.2  空间初始化 128
6.2.3  信号量 135
6.2.4  乐器店的例子 139
6.3  本章小结 149
第7章  公平共享资源 151
7.1  公平共享 151
7.2  定单处理例子 153
7.2.1  物品浏览器 180
7.2.2  编译 186
7.2.3  运行例子 187
7.3  本章小结 191
第三部分  进入更高层次
第8章  并行计算 195
8.1  一般的并行计算 197
8.1.1  分解任务 197
8.1.2  整合结果 198
8.2  并行计算构架 198
8.3  素数计数器应用程序 207
8.3.1  编译 217
8.3.2  运行例子 217
8.4  进一步扩展 219
8.5  更进一步扩展 222
8.6  本章小结 222
第9章  安全性问题 223
9.1  安全性 223
9.2  安全模型 223
9.3  RMID的安全性 224
9.4  策略文件 227
9.5  服务的策略 227
9.6  客户机策略文件 228
9.7  签名文件 230
9.8  JavaSpace的安全性 231
第10章  总结 233
10.1  相关信息 233
10.1.1  Web站点 233
10.1.2  邮件清单 233
10.2  其他相关技术 234
10.3  结束语 234
附录A  常见问题解答

教学资源推荐
作者: (美)Bjarne Stroustrup 著
作者: 钱丽萍 汪立东 张健 编著
参考读物推荐
作者: 快学习教育 编著
作者: Kevin Hoffman