分布式计算技术的比较:Jini, Jxta and Web Services
网络就是计算机,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