分散式計算技術的比較:Jini, Jxta and Web Services

banq發表於2002-12-19
網路就是計算機,SUN當初推出Java時就喊出這個口號,最近微軟又在喊這個口號,
這個口號的真正實施實際變成了分散式計算標準的競爭,Web Services無疑是現在
風頭正勁的。

但是Web Services是基於HTTP協議,而Jini和Jxta則可以直接基於TCP或UDP(QQ是基於UDP
協議的,QQ的使用一點不亞於新浪等網站的WEB使用),因此它們應該說是互補,可以共生的。

Jini和Web Services的共同特點都有相差不多的Lookup和Discovery機制:client透過lookup
查詢提供相應Service的Server,然後彼此直接建立連線。Jini還有一個Join機制。

推薦SUN公司的這篇關於三者技術比較的文章,也許對你瞭解分散式架構技術有所幫助,文章
從協議和網路角度比較了這三個技術,總結如下:

直接呼叫socket:
反應時間最快;
傳輸消耗為0;

但是
網路必須是可靠穩定的;
網路拓撲結構不能改變;
網路種類必須是同質的;
可能比較難於管理;
網路安全無保障;

Web Services:
非常容易管理維護;
無頻寬要求;
對網路的穩定性要求也不高;
當然還有一個更大的優點(文章沒有列出):不必一定基於Java,所以微軟才大力推行它,
如果你的系統完全基於Java(強烈建議),Web Services基本就是雞肋;

jini基本上類似直接呼叫socket,還有兩個優點就是對頻寬無要求 和網路種類無要求;同時繼承
了web sercies的優點之一:易於管理。
響應時間還可以,但是可能在傳輸層上效能有所消耗。

Jxta是最安全的(因為是p2p 點對點啊),可能依賴頻寬速度,其它和Jini差不多。

文章連線:http://developer.java.sun.com/developer/onlineTraining/webcasts/20plus/pdf/mgoff.pdf

相關文章