`

一个神奇的分布式计算框架:jini

阅读更多
     很多年前,我的老师在加拿大电信研究所做项目的时候,接触了一种分布方式的计算框架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
分享到:
评论

相关推荐

    移动中间件,middleware: jini soap RMI 课件

    中间件 middleware jini soap RMI 课件

    嵌入式系统/ARM技术中的Jini在分布式嵌入式系统中的应用

    摘要:Jini是一种基于Java的全新的构建分布式系统的技术,具有动态的、自形成的和自管理的特性,可用于构建动态的分布式嵌入式系统。本文首先介绍Jini体系结构及特点,然后系统阐述如何利用Jini来开发分布式嵌入式...

    Jini分布式计算体系结构探讨.pdf

    #资源达人分享计划#

    JINI

    JINI JINI JINI JINI JINI JINI JINI JINI JINI JINI JINI JINI

    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核心技术

    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 IASA文档

    IASA JINI的论文JINI技术 3 摘要 3 1 JINI技术概述 4 1.1 概述 4 1.2 JINI的概念 5 1.3 JINI的特点 6 2 JINI系统的前景 7 2.1 JINI技术的产生 7 2.2 JINI的历史 8 2.3 JINI的应用前景 9 3 JINI技术架构 14 3.1 JINI...

    Jini实现步骤(如何实现JINI的Demon)

    Jini实现步骤(如何实现JINI的Demon)

    jini--学习资料

    jini学习资料jini学习资料jini学习资料jini学习资料jini学习资料jini学习资料jini学习资料jini学习资料jini学习资料

    JINI核心技术详述

    本书全面讲解了Jini技术,包括发现、租借、远程事件、事务等主要概念,并提供真正的分布式连网技术以及可用于实际开发的Jini服务和应用程序技术,书中附有程序代码。本书适用于程序设计人员、网络技术人员。

    一个嵌入式移动计算平台:WebitAgent系统模型 (2002年)

    提出了一个嵌入式的 Mobile Agent分布式计算平台,详细地介绍了 WebitAgent的体 系结构和各子系统的功能及实现。特别地,还介绍了一种扩展 Jini的基本体系结构的技术 ServerPush技术,使得移动代码能够主动迁移。...

    论文研究-分布环境下基于JINI的故障诊断体系研究.pdf

    依托新一代分布式计算平台JINI,利用其动态发布、发现和查找机制来获得诊断服务,并对这一编程模型体系进行了探讨,研究了如何利用JINI与CORBA的桥连接来集成原有的CORBA系统。

    JINI基础教程 rfid基础

    JINI基础教程 很好的书 介绍全面 循序前进 初学者入门书籍

    JINI核心技术pdf

    JINI核心技术pdfJINI核心技术pdf

    Jini核心技术

    Jini核心技术

    通信与网络中的Jini与蓝牙技术的结合应用

    摘要:分析了Jini和蓝牙技术的基本结构及工作原理,对这两种技术进行了比较,并提出将两者结合应用的实际方案,最后给出了一个应用实例。  关键词:Jini 蓝牙技术 普适计算 随着嵌入式系统在各种电子设备中的...

    Jan Newmarch的JINI技术指南Jan Newmarch's Guide to JINI Technologies

    Sun最受欢迎的有关Jini的在线教程,它是Sun的基于Java的技术,使透明的分布式计算成为可能。

    随身典k.jar 集成到J2EE、JINI甚至是SNMP应用中。

    随身典k.jar 此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,...

Global site tag (gtag.js) - Google Analytics