很多年前,我的老师在加拿大电信研究所做项目的时候,接触了一种分布方式的计算框架JINI,当时感觉非常神奇,可惜在中国这种框架是很不流行的。
为什么呢,因为JINI是基于RMI,而RMI是基于SOCKET的,单反过来说,RMI是对SOCKET的一种封装,而Jini、是针对RMI的封装,所以,如果对面向对象的理解的不深入的话,就很难调试这种技术。
Jini还有一个神奇之处,是引入了javaspace, javaspace可以理解为一个对象的中转站,从功能上看,是一种轻量的JMS.而胜任绝大多数分布方式应用都没有问题。
经过机缘巧合,我们也做了一个类似的原型项目,再次验证了JINI的强大,和面向对象技术的神奇之处,在这里提供相关的程序包,供有缘分的朋友下载分享。
另外,想说一点,一般的程序设计人员是很难有机会解接触分布式计算的,尤其是基于广域网的分布式计算,所以这个可以作为理解面向对象的一种学习框架. 就像smalltalk是一种面向对象的教学语言,Jini是一种分布式计算的教学框架。
Smalltalk被公认为历史上第二个面向对象的程序设计语言和第一个真正的集成开发环境 (IDE)。由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC开发。Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:Objective-C,Actor, Java 和Ruby等。90年代的许多软件开发思想得利于Smalltalk,例如Design Patterns, Extreme Programming(XP)和Refactoring等。
公司名称:中国移动通信集团湖北有限公司网管中心公司地址:武汉市东西湖区金银湖南街2号 3G信息园邮政编码:430048
1) Jini的开发包。
2)javaspace的开发环境与资料。
3)另外一个开源的 javaspace实现blitz
关于reggie的单播注册方法
1、配置文件方式
1) 启动reggie的脚本信息
new NonActivatableServiceDescriptor(
"http://" + host + ":" + port + "/reggie-dl.jar" + jskdl,
policy,
"C:\\jini2_1\\lib\\reggie.jar",
"com.sun.jini.reggie.TransientRegistrarImpl",
new String[] { "C:\\jini2_1\\installverify\\support\\reggie.config" }),
告诉JVM配置文件为reggie.config
2)在reggie.config的文件内容如下:
import net.jini.jeri.BasicJeriExporter;
import net.jini.jeri.tcp.TcpServerEndpoint;
import net.jini.jeri.ProxyTrustILFactory;
import net.jini.jeri.BasicILFactory;
import net.jini.lookup.entry.Name;
import net.jini.core.entry.Entry;
import net.jini.lookup.entry.ServiceInfo;
import com.wri.hy.onecgs.jini.entry.AuthenEntry;
import com.wri.hy.onecgs.jini.entry.ConfigEntry4AuthenInfoWriter;
import com.wri.hy.onecgs.jini.entry.ConfigEntry4MeshFederator;
import com.wri.hy.onecgs.jini.entry.ConfigEntry4NetworkNodeWriter;
import com.wri.hy.onecgs.jini.entry.ConfigEntry4TaskTimer;
import com.wri.hy.onecgs.jini.entry.NetworkEntry;
import com.wri.hy.onecgs.jini.entry.NodeEntry;
import com.wri.hy.onecgs.jini.entry.ConfigEntry4NetworkNodeDispatcher;
import java.net.NetworkInterface;
import net.jini.lookup.entry.Location;
import net.jini.core.discovery.LookupLocator;
import com.wri.hy.onecgs.jini.entry.LookupEntry4Cm;
com.sun.jini.reggie {
serverExporter = new BasicJeriExporter(
TcpServerEndpoint.getInstance("192.168.8.3",0),
new ProxyTrustILFactory(null, null), false, true);
initialLookupLocators = new LookupLocator[]{new LookupLocator("jini://192.168.8.1"),new LookupLocator("jini://192.168.8.2")};
initialMemberGroups = new String[] { "hb","mf"};
initialLookupAttributes = new Entry[] {new LookupEntry4Cm("湖北移动","hubei",new Integer(1),new Boolean(true),"192.168.8.3",new Integer(4160),new Long(System.currentTimeMillis()))};
}
3)其中
initialLookupLocators = new LookupLocator[]{new LookupLocator("jini://192.168.8.1"),new LookupLocator("jini://192.168.8.2")};
表示向多个JLS的单播注册信息
4) 启动jini即可
2、远程接口方式
1)获取JLS的proxy
2) 根据接口JoinAdmin调用方法
public void setLookupLocators(LookupLocator[] locators)
throws RemoteException
3)即时生效
- 大小: 815.1 KB
分享到:
相关推荐
为了构建一个高效的分布式计算系统,Jini采用了一种独特的体系结构,它由基础设施、编程模型和服务三大部分构成。基础设施层提供必要的网络协议和通信机制,编程模型定义了如何编写Jini服务和客户端程序,而服务层则...
首先,Jini是一种由Sun Microsystems开发的分布式计算框架,它旨在简化设备和服务之间的发现、连接和交互。Jini的核心概念是服务发现和服务注册,它允许网络中的设备和服务动态地暴露和找到彼此,无需预先配置。这种...
JINI的核心理念是通过Java语言来统一网络中的设备和服务,它将服务的发现、交互和管理集成在一个框架内。JINI系统包含以下几个关键组成部分: 1. **服务发现**:JINI使用Java Remote Method Invocation (Java RMI) ...
Jini技术是由Sun Microsystems在20世纪末推出的一种分布式计算框架,它旨在简化网络设备和服务之间的交互,让它们能够自动发现、连接和协同工作。Jini的核心理念是“网络即服务”(Network as a Service,NaaS),它...
JINI技术是一种面向服务的分布式计算框架,由Sun Microsystems在1990年代末提出。它的核心理念是构建一个灵活、自组织的网络环境,使得硬件设备和服务可以无缝地互相发现、交互和协作。JINI的目标是简化网络中设备和...
Java Jini技术是Sun Microsystems在20世纪末推出的一种分布式计算框架,它的核心理念是“在网络中发现和使用服务”。Jini技术旨在简化网络设备和服务的集成,使得动态的、可扩展的网络环境成为可能。它允许网络上的...
目前,虽然JINI并没有成为主流的分布式计算框架,但其设计理念对后来的分布式系统如Service-Oriented Architecture (SOA) 和微服务架构产生了深远影响。 9. **学习资源**:《JINI核心技术1.part》可能是学习资料的...
《JINI核心技术》一书详尽地探讨了Java平台上的分布式计算框架——Jini技术,这一技术旨在构建灵活、自适应的网络环境。Jini的核心理念是让网络中的设备和服务能够无缝协作,无论它们的类型、制造商或位置如何。下面...
Jini技术是由Sun Microsystems在20世纪末推出的一种分布式计算框架,它旨在简化网络设备和服务之间的交互和协作。"Jini核心技术.jar"很可能是这个框架的核心库文件,包含了实现Jini服务发现、注册和交互的关键组件。...
JINI,由Sun Microsystems开发,是一种分布式计算框架,它允许网络中的设备和服务之间进行动态发现、交互和协作。JINI的核心理念是“即插即用”(Plug-and-Play),旨在简化设备之间的连接和通信,使得即使对技术不...
Apache的Hadoop是Java实现的分布式计算框架,用于处理和存储海量数据。它包括HDFS(Hadoop Distributed File System),用于分布式存储,以及MapReduce,一种并行处理模型,将大数据集分解为小任务并在集群中并行...
本文主要探讨了基于Java技术的分布式计算环境,以及相关的关键技术,如Jini、RMI和云计算。这些技术在构建高效、灵活和可扩展的分布式系统中起着至关重要的作用。 首先,分布式系统是由多台独立的计算机通过网络...
JINI是一种由Sun Microsystems公司在20世纪末提出的分布式计算技术,它旨在创建一个动态、自我修复的网络环境,使得硬件设备、软件服务可以无缝地互相发现、连接和协作。JINI的核心理念是简化分布式系统的设计,通过...
Jini是由Sun Microsystems在2000年推出的一种分布式计算框架,它旨在简化网络设备和服务之间的交互。Jini的核心理念是使网络中的服务能够动态发现、加入和离开网络,而无需事先配置。这种技术允许开发者创建松散耦合...
机载软件的OSGi分布式扩展技术研究主要涉及如何将分布式计算技术和OSGi(Open Services Gateway initiative)框架技术相结合,以支持跨平台的异构分布式处理。OSGi是一个模块化和动态化的软件开发框架,它允许开发...
而Jini技术则是Sun Microsystems公司推出的一种基于Java的分布式计算框架,它为嵌入式设备间的互操作性和网络服务提供了强大的支持。 Jini技术的核心概念包括服务发现、服务加入和服务管理。服务发现允许设备在没有...
5.3 第一个Jini程序:Hello, World 69 5.3.1 实现服务代理 72 5.3.2 “包装”应用程序 73 5.3.3 使用发现和查找 75 5.3.4 其他细节 76 5.3.5 使用服务模板来寻找服务 78 5.3.6 查找一个服务 79 5.3.7 编译并运行例子...
- **定义**:Jini 2是Jini技术的一个版本,它提供了一种简单的方法来构建和管理分布式系统中的服务。 - **特性**: - **服务发现**:自动发现网络上的服务。 - **服务调用**:无需预先配置即可直接调用发现的服务...