一、前言
長久以來許多工程師們,都一直期盼著一個超大型的計算系統,這系統是由網路上許多機器,從超大型主機乃至嵌入在某些設備上的微小晶片,彼此相互合作而成。所有的工作,都可以在任何時間被分散到網路上的任何地方、任何種類的機器上去處理。這樣的系統有很好的彈性,并且可以藉由不斷地更新設備,來解決更多問題。
然而,我們 要一致的語言,以及更強的通訊協定( superprotocols)等,讓網路上眾多繁雜的成員,能彼此順利地溝通。但是就目前的情況,要達到這樣的目的很難,因此我們可以考慮把一種特殊的程式碼(genetic code)嵌入到許多軟硬體之服務中,使得網路上的成員可以輕易的相互分享彼此資源,這就是 Jini 所要達成的目標 [1] 。
Jini 是由 SUN 公司 R&D 的Bill Joy 所提出的一項技術。我們可以藉著使用Jini,創造出一個富有彈性、容易管理、且可隨時隨地使用各種服務的網路計算環境。為了讓使用者知道網路上有哪些服務可被使用,我們必須建立一個聯盟( federation ),讓網路上的服務主動加入。當有某個服務加入聯盟時,也等於同時向整個網路告知:「我可以被使用,有誰 要我的服務?」。使用者透過聯盟,可以得知有哪些服務可以使用。然而,我們要如何才能很簡單、很輕易地使用這些服務關於這個問題,也就是 Jini 的工作重點之一。
讓我們來看看Jini 是怎堋做的。網路上的服務要能夠成為聯盟的一份子,不管是硬體服務也好、軟體服務也好,都必須嵌入Jini 的程式碼。此外,網路上還必須提供 JVM的環境,才能執行Jini程式以獲得這些服務。Jini的程式碼是利用 SUN 公司所提供的 Jini package 撰寫而成。Jini package使用的語言是Java,并且包含了許多處理網路上資源的相關功能。例如:如何幫助網路服務尋找(discovery)、以及加入(join)聯盟;或者幫助網路服務處理分散式的承租(leasing)、交易( transactions)等的問題。而這些網路服務彼此溝通時,所應用的技術是 RMI(Java Remote Method Invocation )。簡言之,網路上的服務藉由 Jini 所提供的介面,得以相互溝通、合作,來完成使用者的要求。
|