Jini - Java 的實際應用

自從五年前Java推出之後,它跨平台的優勢以及完整的運算架構,很快就
形成一股風潮,成為資訊界的一個標準。於是各種資訊廠商很快地利用
Java開發出不同的產品和解決方案,於是我們隨處可見的Java程式開發工
具、Java資料庫、Java Web伺服器一個接一個出現。沒錯,Java應用範圍
和運算環境看起來已經很完備,但是我們總是覺得少了一點什麼,套用一
般的術語來說,好像少了一個俗稱的"殺手級程式"(Killer Application)
。一旦這種"殺手級程式"出現,Java的地位才算真正穩固,心存觀望的人
才會放心使用、接納Java。終於在1999年初,Sun 發表了這麼一個全新產
品──Jini。Jini人如其名,就像是阿拉伯神話裏的阿拉丁神燈,小小的
神燈用手搓幾下卻跑出巨大而且無所不能的精靈。Jini的影響力將不只是
資訊界,它的應用範圍包括各項我們唸得出來的電器產品、甚至汽車、交
通工具。Jini將完全改變我們日常使用這些產品的方式。這篇文章先為大
家介紹Jini的發展背景,以及它的基本觀念。

Bill Joy是Sun Microsystems的四位創始者之一,他現在的頭銜是Sun的
ChiefScientist。這位仁兄的偉大事蹟包括他是有名的BSD (Berkeley
UNIX)的作者,在加入Sun之後,他又設計了NFS (Network File System)
,SPARC架構(Sun的UNIX系統)以及UltraSparc 設計(Sun的工作站系統)。
所以在UNIX的世界裏,稱他做一代宗師也不誇張,除了建立這些穩定的
UNIX系統外,Bill Joy也思考如何去改善電腦一般使用者的生活。以往之
所以有這些相容不相容的問題,主要的原因是缺乏一套共同的標準。所以
PC和工作站不相容,各個平台的軟硬體都不相容,但是在Java推出之後,
相容性的問題似乎得到解決。既然透過Java,各平台的應用程式可以互通
,那麼我們就可以利用Java來解決各平台不相容的問題,甚至把這觀念擴
大應用在電腦之外的產品上。於是在Bill Joy的推動之下,Jini就誕生了
。Bill在接受訪問的時候說,Jini的設計理念就是要讓使用者使用這些電
腦週邊或是電器產品,就跟使用電話一樣方便。像我們要裝一支新電話,
只要申請到一組電話號碼,再去買一架電話機,只要把插頭往牆壁上的插
座一插,拿起話筒就聽到嗡嗡的聲音,馬上就可以打電話、接聽電話了。
但是我們現在要安裝新的電腦週邊,例如說加一台印表機或數位照像機,
我們要安裝驅動程式,更新驅動程式,如果是要在網路上加上一台電腦或
印表機,還要設protocial、IP 位址或是什麼"網路上的芳鄰"……。如果
你用的是手提式電腦,換到一個新的環境一切都得重來,不然就無法使用
這個網路上的資源。Jini的設計理念就是,藉著Jini、Java這些業界共同
的標準,真正達到隨話即用( Plug-and-work),網路資源共享的分散式網
路運算環境,讓一切變得簡單。

Jini是一小段程式,透過原有的Java環境,以軟體或硬體的型式外加到電
腦設備或電子裝置上。所以任何支援Jini的產品,都可以互相使用、交換
資源。在一個Jini網路上會有一個Jini伺服器,它可以是PC、UNIX工作站
或是麥金塔,它主要的功能是當一個聯絡中心。所有加入這個網路的成員
都會向它註冊,由這個Jini伺服器來管理這個Jini網路上的所有可用的資
源。例如一台印表機插上網路接頭加入Jini網路,它會跟Jini伺服器註冊
說:"我是印表機,我能提供印表服務"。接著一台硬碟也接上網路接頭,
跟Jini伺服器註冊說:"我是硬碟,我能提供資料存取服務",於是Jini伺
服器紀錄了這些網路上可用的服務。再來如果有一台手提式電腦加入這個
Jini網路,一方面它也會來註冊,同時它會來詢問Jini伺服器"在這個
Jini網路上我有哪些資源可以用?"於是我們的總管大人Jini 伺服器會通
知它"我們有一台印表機,一個硬碟"。接下來如果要印表,立刻可以將資
料印出來;如果要儲存資料,馬上可以透過網路把資料存到這台硬碟裏,
不用事先安裝任何驅動程式,不用更改任何系統設計,只要透過Jini,做
任何事就跟安裝電話一樣簡單。

而且,Jini的應用範圍不只是電腦。我們從已經宣布支援Jini的廠商名單
就可以知道。除了電腦界的Epson、Novell、Quantum、Seagate、IBM等等
之外,還有電信業的Motorola、Nokia、Ericsson、Siemens;家電業的
Sony、Philips、Toshiba、Tatung、Samsung…,網路裝置大廠3COM、
Cisco、以及其他像Kodak、Canon、Xerox等等各行各業的龍頭,全都宣布
開發支援Jini的產品。於是資訊產品的整合已經不是夢想。我帶著一台手
提式電腦,到一個全新的展覽場地一把插頭接上,馬上可以使用當地的印
表機、傳真機、三槍投影機…。我可以用大哥大透過無線傳訊加入Jini網
,用它來控制家裏所有電器用品、預約錄影、發電子郵件、上網……,或
是在街上常常可以看到的立即拍照機器,只要它支援Jini,它可以裝上數
位照像機,在您投幣拍完自己的大頭照之後,立刻將這個圖片檔傳送到自
己或其他人的電子信箱裏,大家可以發揮想像力,將Jini的使用擴展到日
常生活的每一角落。

總結來說,這一切的目的只有一個,就是"簡單",讓高深的科技內容隱藏
到幕後,讓一般使用者能夠"簡單"地使用所有網路資訊,這才是我們資訊
界的人應該做的事。當然要達到這個目標方法有很多,但是利用現有的
Java和Jini技術,無疑是最迅速有效的方式。有關Jini的最新資訊和技術
資料,有興趣的朋友可以參考下列網址
目 录 译者的话 序一 序二 前言 第一部分 基 础 第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 安装Java 2 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章 分布式系统 21 2.1 网络的焦点 21 2.1.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章 Jini模型 31 3.1 Jini设计的心 31 3.1.1 简明性 31 3.1.2 可靠性 31 3.1.3 可伸缩性 32 3.2 设备不可知论 33 3.3 Jini不是什么 33 3.3.1 Jini不是名字服务器 33 3.3.2 Jini不是JavaBeans 34 3.3.3 Jini不是企业JavaBeans 34 3.3.4 Jini不是RMI 34 3.3.5 Jini不是分布式操作系统 34 3.4 Jini的五个基本概念 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章 部署方案 57 4.1 成为Jini服务 57 4.2 如何为设备和服务使用Jini 58 4.3 在通用计算机上运行Jini 58 4.4 在支持Java的设备上运行Jini 60 4.4.1 JiniJava子集 60 4.4.2 版本问题 61 4.5 Jini使用设备代理 61 4.6 基本Jini服务的需求 63 4.7 适于使用Jini的情况 63 4.8 不适于使用Jini的情况 64 4.9 参考读物 64 4.10 后面的内容 64 第二部分 Jini 的开发 第5章 Jini起步 65 5.1 运行Jini服务 65 5.2 按部署情况进行开发 66 5.2.1 运行多个HTTP服务器 67 5.2.2 警惕代码基问题 67 5.2.3 设置安全管理器 68 5.2.4 注意安全策略 68 5.2.5 注意CLASSPATH 68 5.2.6 考虑把可下载代码捆绑为 一个JAR文件 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控制组播 发现
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值