分享
 
 
 

JXTA 架构概览

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

JXTA架构概览

目前,SUN的计算机技术专家正在致力于组成JXTA的架构和技术,一个全新的、开放源码的为peer-to-peer[P2P]应用的计算结构。

Recently, Sun Microsystems released JXTA (pronounced juxta) as a platform for P2P applications. The project is an open-source effort accessible from jxta.org. In this article, we focus on the architecture and technologies that make up JXTA.

"When you consider a typical P2P application, you can see that JXTA has attempted to provide an architecture that matches the most common requirements."

The application platform in many ways reflect on the requirements of the architecture. For example, Client/Server requires the client to do a lot of work, and so it led to creation of "fat" clients. Consider for a moment, your favorite P2P application. Such applications are composed of a number of distinct nodes (peers) running on different physical machines. Given a collection of such peers, what are some of the things you need to create applications? Obviously you will need communication among peers. Such communication cannot be random, so you need a way to uniquely identify each peer. The collection is not static as peers will join and abandon the network, so there is a need to dynamically determine (discover) other peers. The few points mentioned above make up the foundation of peer-to-peer platforms.

JXTA is an attempt to create a framework by providing the capabilities that most P2P applications require.

JXTA relies heavily on XML to achieve its goals. Messages that are exchanged among the peers are in XML format, which makes JXTA platform independent. By separating protocol from specific language bindings, the platform is also technically language dependent, although it has initially been implemented using Java. The JXTA Shell (written in Java) is a sample application that relies on the JXTA platform, but it also shows many features of the platform.

When you start the Shell, it becomes one of the peers participating in the network. You can learn about (discover) other peers and communicate with them. Management of individual peers becomes complex as the number of peers increase. One way to address this problem is by introducing a "grouping" concept where multiple peers could collectively belong to a group. A set of membership services are provided to facilitate organization of peer groups which includes adding members, deleting members, finding members and exchange of messages among members. There are also services around security, authentication, access control, and pipe connections. It is interesting to note that the JXTA specification does not indicate when or why a peer group is to be formed, but it merely provides the infrastructure for forming and managing groups.

Once a network of peers is put together, the next challenge is communication among peers. This is done via pipes. Think of a pipe as a television channel. Messages that are sent into a pipe are sent to all peer endpoints that are listening to that pipe. The Pipe Binding protocol controls how peers are connected and disconnected to a pipe at runtime. Not all messages needs to be broadcast and JXTA recognizes that. It also offers a point-to-point pipe where one-way communication occurs between two peers.

Based on XML, pipes, peers, and services are represented via advertisements. For example, Peer Advertisements describe peer information such as name, peer id, properties, and services. The core advertisements types in JXTA are peer, peer group, pipe, service, content, endpoint and user-defined advertisements. You can think of advertisements as the "glue" that allows various peers on the network to communicate via pipes.

When you consider a typical P2P application, you can see that JXTA has attempted to provide an architecture that matches the most common requirements. It allows for management of peers and groups of peers. It allows for communication among peers via pipes. It defines the message structure exchanged among peers in advertisements. As a reference application, the JXTA Shell uses the P2P infrastructure provided by the platform. It provides a simple interface to various aspects of the JXTA platform that you can experiment with. After you feel comfortable with the Shell and its behavior, then you can focus development of your own P2P application on top of JXTA.

In my future "Class of the Month" columns, I'll cover the essence of a JXTA-based application and the set of Java classes that implement the JXTA protocol.

关于作者:

Piroz Mohseni is president of Bita Technologies, focusing on business improvement through the effective use of technology. His areas of interest include enterprise Java, XML, and e-commerce applications.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有