?? 0072.htm
字號:
<html>
<head>
<title>新時代軟件教程:操作系統 主頁制作 服務器 設計軟件 網絡技術 編程語言 文字編輯</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋體}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>三、基礎架構</strong></big></p>
<div align="right">---(文/王靜翊)</div>
<P>首先要說明的是在 Jini中,呼叫遠端 methods的方式,通常是采用RMI的技術
。例如,當client 找到適當的service 時,client可能會使用service端的服務,也就是遠端呼叫(remote
call),此時即可利用RMI 的技術來完成。(附注:當然,在
Jini中也可以選擇不透過RMI,而直接寫socket程式來完成遠端呼叫。只是若利用RMI時,撰寫程式會比較方便。) </P>
<P>我們已經知道 service provides 、clients與 service locators
之間的互動關系,接著就為您說明這三者間的實№運作情形,請參考圖二。 </P>
<TABLE>
<TBODY>
<TR>
<TD><IMG src="images/real_f2.gif"> </TD></TR>
<TR>
<TD>
<CENTER>圖二、基礎架構</CENTER></TD></TR></TBODY></TABLE>
<P>Service locator的目的在於紀錄與查詢可用的服務資訊,而這種功能稱做 "lookup service"
,因此其必須至少具備有lookup service的服務。此外,由於其底層網路通訊使用到了RMI 的機制,所以在 Service
locator上還必須啟動RMI daemon與HTTP daemon。而 HTTP daemon是用來提供做遠程呼叫時,一種取得遠端資料(如
Server_stub等)的途徑。 </P>
<P>由於我們是利用RMI 的機制提供服務讓遠端物件使用,所以Service provider所提供的
services必須繼承至Remote類別,才能使用RMI功能。另外必須建立 (instantiate)一個 LookupLocator物件與一個
ServiceRegistrar 物件,以便向 service locator注冊與使用其他服務。其中
LookupLocator物件是用來尋找特定的 service locator;而 ServiceRegistrar 物件則用來向 lookup
service注冊本service所提供的服務[4]。詳細步驟請參考圖三。 </P>
<TABLE>
<TBODY>
<TR>
<TD><IMG src="images/real_f3.gif"> </TD></TR>
<TR>
<TD>
<CENTER>圖三、 service 與 lookup service之關系圖
</CENTER></TD></TR></TBODY></TABLE>
<P>Client同樣也必須建立一個 LookupLocator物件與一個 ServiceRegistrar 物件。而
ServiceRegistrar 物件則被用來向 Service provider 取得所 之服務。其過程示意圖如圖四及圖五。 </P>
<TABLE>
<TBODY>
<TR>
<TD><IMG src="images/real_f4.gif"> </TD></TR>
<TR>
<TD>
<CENTER>圖四、 Client與lookup service之關系圖 </CENTER></TD></TR></TBODY></TABLE>
<TABLE>
<TBODY>
<TR>
<TD><IMG src="images/real_f4.gif"> </TD></TR>
<TR>
<TD>
<CENTER>圖五、 Client 使用遠端的服務</CENTER></TD></TR></TBODY></TABLE>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -