CN102053860B - 基于CORBA的OSGi分布式扩展系统及方法 - Google Patents
基于CORBA的OSGi分布式扩展系统及方法 Download PDFInfo
- Publication number
- CN102053860B CN102053860B CN 200910207404 CN200910207404A CN102053860B CN 102053860 B CN102053860 B CN 102053860B CN 200910207404 CN200910207404 CN 200910207404 CN 200910207404 A CN200910207404 A CN 200910207404A CN 102053860 B CN102053860 B CN 102053860B
- Authority
- CN
- China
- Prior art keywords
- service
- corba
- module
- osgi
- remote
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于CORBA的OSGi分布式扩展系统,包括OSGi内核以及运行在该内核上的服务注册中心,还包括有CORBA分布式支持模块、CORBA名字服务模块、服务提供者模块以及消费者模块;其中,服务提供者模块将该模块提供的可供远程访问的服务在服务注册中心注册;CORBA分布式支持模块监控可被远程访问的服务在服务注册中心的注册,为该服务生成相应的服务端代理,并向本地OSGi内核提供基于CORBA的远程服务调用;消费者模块查询位于其他结点上的远程服务;CORBA名字服务模块给出关于该远程服务所在结点的信息;CORBA分布式支持模块根据该信息生成客户端代理,由客户端代理实现对远程服务的使用。
Description
技术领域
本发明涉及一种OSGi分布式扩展系统及方法,特别涉及基于CORB-A的OSGi分布式扩展系统及方法。
背景技术
软件行业的工业化趋势导致了构件技术的产生。能够像硬件系统那样,将软件组合起来构建软件系统是软件行业多年来追求的目标。可以说,构件技术的出现是对传统软件开发过程的一次变革。Java是目前最主要的企业级软件开发技术,但是已有Java标准没有提供对构件开发的支持,阻碍了构件技术在Java中的应用。
OSGi(Open Services Gateway Initiative,开放服务网关协议)是由1999年成立的OSGi联盟所提出的一个开放的服务规范,该规范为Java提供了动态化、面向服务的构件化开发支持。采用OSGi技术能够显著降低软件开发各个阶段的复杂度,使得代码更加容易编写与测试,构建系统更加简单,部署更加可管理,也提高了软件的重用性和运行时的动态配置能力。
OSGi在本质上是一个为Java提供的动态、模块化的系统。OSGi中的运行于OSGi内核上的模块被称作bundle,bundle是由普通的JAR文件加上额外的元信息描述构成的。bundle模块之间通过元信息描述显式地声明包的导入、导出以实现代码和资源的共享,而OSGi内核自动地处理bundle模块之间的依赖解析。同时,OSGi也提供了一个面向服务的编程模型,在OSGi中服务就是普通的Java对象,bundle模块可以通过集中的服务中心来注册其所提供的服务,而其他bundle模块可以通过注册中心查询、监听、获取服务来实现bundle模块之间松耦合的协作,服务的契约用Java接口和一系列服务属性描述。需要指出的是,标准OSGi规范中只提供了针对单一JVM(Java Virtual Machine)的面向服务的编程模型。
OSGi所具有的动态化、模块化、面向服务的特点使得它不再局限于嵌入式领域,而是成为一个通用的动态组件开发环境,在各个领域得到了大量应用,如家居网关、智能手机、汽车制造业等。近年来,随着Eclipse错误!未找到引用源。采用OSGi来重构其插件体系结构和Spring与OSGi的结合,OSGi在企业计算领域也得到了越来越广泛的应用,如IBM的WebSphere和Oracle/BEA的WebLogic等都使用了OSGi技术。
OSGi规范为单个JVM内的Java应用提供了一个高度动态和设计良好的服务模型,但企业计算领域大规模、异构性的特点为标准OSGi规范提出了支持分布式处理的需求,即要求OSGi能够支持远程机器结点上的服务发现与调用,并支持企业应用拓扑,从而提高可用率、可靠性及可伸缩性。因此,提供OSGi分布式扩展机制以支持多进程、多JVM、多个结点、多种语言的企业计算是亟需解决的问题。OSGi联盟针对企业计算领域对OSGi的需求于2007年成立了企业专家组。在2009年4月,OSGi联盟的企业专家组制定完成了针对OSGi分布式扩展的RFC 119规范,但该规范只是给出了一个通用的解决方案,并没有涉及到与具体技术相结合的具体实现细节。Apache CXF项目成立了一个名称为D-OSGi(Distributed OSGi)的子项目作为RFC 119规范的参考实现,D-OSGi使用Web Service来实现远程服务调用。但是D-OSGi在服务发现方面还不完善,不满足OSGi环境中对服务的高度动态性的要求。而且D-OSGi与企业计算领域的主流通信协议IIOP(CORBA标准的通信协议)不兼容,难以实现对现有大量遵循CORBA标准的应用系统的集成和互操作。
此外,在EclipseCon2007大会上还提出了一个名称为R-OSGi(Remoting-OSGi)的OSGi分布式处理项目。R-OSGi遵循OSGi规范,使用对接口进行字节码分析的方式来动态产生服务代理bundle,以实现远程服务的透明访问,并使用SLP(Service Location Protocol)实现远程服务发现。但是R-OSGi针对嵌入式领域采用了基于消息的特定的远程互操作协议,无法满足企业计算领域对于基于标准互操作协议(如IIOP)的非OSGi系统交互的需求,并且R-OSGi在服务使用上不透明,服务消费者要实现R-OSGi自定义的服务监听接口,对原有的OSGi编程模型有一定的侵入性。
发明内容
本发明的目的是克服现有技术中的OSGi不支持分布式处理的缺陷,从而提供一种基于CORBA的OSGi分布式扩展系统及其对应的方法。
为了实现上述目的,本发明提供了一种基于CORBA的OSGi分布式扩展系统,包括OSGi内核以及运行在该内核上的服务注册中心,还包括有运行于所述OSGi内核上的CORBA分布式支持模块、CORBA名字服务模块、服务提供者模块以及消费者模块;其中,
所述的服务提供者模块将该模块提供的可供远程访问的服务在所述的服务注册中心注册;所述的CORBA分布式支持模块监控所述可被远程访问的服务在所述服务注册中心的注册,为该服务生成相应的服务端代理,并向本地OSGi内核提供基于CORBA的远程服务调用;
所述的消费者模块查询位于其他结点上的远程服务;所述的CORBA名字服务模块给出关于该远程服务所在结点的信息;所述的CORBA分布式支持模块根据该信息生成客户端代理,由所述客户端代理实现对远程服务的使用。
上述技术方案中,所述的CORBA分布式支持模块包括服务监控器、服务端代理生成器以及客户端代理生成器;其中,
所述的服务监控器用于监控注册到服务注册中心上的服务;
所述的服务端代理生成器用于生成服务端代理,所述的服务端代理用于在接收到ORB的CORBA调用请求后,将该请求转化为Java调用请求,然后根据Java调用请求调用服务,将服务的处理结果由Java形式再转变为CORBA形式后返回给ORB;
所述的客户端代理生成器用于生成客户端代理,所述的客户端代理用于实现对位于其他结点上的远程服务的接口,将该接口中的方法的Java调用请求转换成对所述远程服务的服务端代理的CORBA调用请求。
上述技术方案中,所述的服务监控器采用OSGi内核所提供的ServiceTracker类实现。
上述技术方案中,所述的服务端代理通过继承CORBA中的org.omg.PortableServer.DynamicImplementation类并实现其voidinvoke(ServerRequest request)方法来实现。
上述技术方案中,所述的客户端代理采用Java的动态接口代理技术实现,由java.lang.reflect.Proxy类在运行期时根据服务接口定义,并采用Java反射功能动态生成。
本发明还提供了一种基于CORBA的OSGi分布式扩展方法,在安装有所述的基于CORBA的OSGi分布式扩展系统的结点上实现,包括:
步骤1)、允许远程访问的服务通过服务提供者模块在其所在结点的服务注册中心上注册;
步骤2)、为所述允许远程访问的服务生成服务端代理;
步骤3)、远程结点上的消费者模块向该结点上的服务注册中心查询所要访问的服务;
步骤4)、当所要访问的服务在远程结点本地不存在时,所述远程结点生成客户端代理,通过所述客户端代理访问所述服务端代理,从而实现对所述服务的访问。
上述技术方案中,所述的步骤2)包括:
步骤2-1)、服务所在结点上的CORBA分布式支持模块监控到注册事件后,为该服务生成相应的服务端代理;
步骤2-2)、所述CORBA分布式支持模块将所述服务端代理加载到POA上,生成CORBA对象引用;
步骤2-3)、在服务所在结点上的CORBA名字服务模块注册所述服务端代理的CORBA对象引用以及所述服务的本地服务注册信息。
上述技术方案中,所述的步骤4)包括:
步骤4-1)、远程结点上的CORBA分布式支持模块通过该结点上的CORBA名字服务模块查询哪个结点上存在所需要的服务;
步骤4-2)、远程结点上的CORBA分布式支持模块根据查询结果生成所需服务的客户端代理,将对所述客户端代理的所有方法调用转变为对服务所在结点上服务端代理的调用;
步骤4-3)、远程结点上的CORBA分布式支持模块将所需服务的客户端代理注册到本地的服务注册中心。
本发明的优点在于:
本发明能够保持OSGi原有的编程模型和轻量级特点,使得OSGi服务消费者能够调用远程机器结点上的服务,适用于大规模、异构性的企业计算环境,并支持企业应用拓扑,从而提高可用率、可靠性及可伸缩性。
附图说明
图1为本发明的OSGi分布式扩展系统的结构示意图;
图2为本发明的OSGi分布式扩展方法的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行说明。
公用对象请求代理体系结构(Common Object Request BrokerArchitecture,缩写为CORBA)是对象管理组织(Object Management Group)应对当今快速增长的软硬件协同工作能力的要求而提出的方案。CORBA是非常成熟的分布式中间件技术,使用CORBA技术来实现OSGi的远程服务调用不仅能够支持分布在网络中不同机器结点的OSGi应用之间的远程服务调用,同时由于底层采用国际标准IIOP协议,因此也支持与企业计算领域中大量CORBA遗留系统的互操作。基于上述原因,本发明的OSGi分布式扩展系统在CORBA的基础上实现。
在图1中给出了本发明的OSGi分布式扩展系统的示意图。从图中可以看出,本发明的OSGi分布式扩展系统除了包括有OSGi内核以及运行在该内核上的服务注册中心外,还包括有CORBA分布式支持模块、CORBA名字服务模块、服务提供者模块以及消费者模块。其中的CORBA分布式支持模块、CORBA名字服务模块、服务提供者模块以及消费者模块都安装并运行在所述的OSGi内核上。下面对该系统中所涉及的各个模块的功能加以说明。
所述的OSGi内核对运行于其上的OSGi应用模块提供了包括资源共享、生命周期管理和基于服务的协同等多种功能。OSGi内核的实现是现有的公知技术,因此不再对其做具体的说明。
所述的服务注册中心用于实现本地OSGi内核中面向服务的编程模式,某一bundle模块可以通过服务中心来注册其所提供的服务,而其他bundle模块可以通过注册中心查询、监听、获取服务,从而实现bundle模块之间松耦合的协作。服务注册中心的实现也是现有的公知技术。
所述的CORBA分布式支持模块用于监控本地服务注册中心的服务注册和查询情况,并给本地OSGi内核提供基于CORBA的远程服务调用能力。根据CORBA分布式支持模块的上述功能,该模块可进一步包括服务监控器、服务端代理生成器以及客户端代理生成器。
服务监控器用于监控注册到服务注册中心上的服务。服务监控器有多种实现方式,在本实施例中优选OSGi内核所提供的ServiceTracker类实现。ServiceTracker主要针对OSGi中服务的高度动态性而提出,能够帮助服务消费者灵活地使用服务。ServiceTracker类可以通过一个字符串来描述所要使用的服务,并有三个回调函数分别用于处理以下三种情况:(1)当所需的服务到来时该怎么处理;(2)当所需的服务被注销时该怎么处理;(3)当所需的服务发生改变(如服务属性的改变)时怎么处理。服务监控器对注册到本地服务中心的服务的监控就通过上述三个回调函数实现的。当注册到本地服务注册中心的某一服务的属性标识为可被远程访问时,服务监控器调用用于处理第一种情况的回调函数,在这一回调函数中先通过CORBA名字服务模块获取所注册远程服务的对象引用,并用该对象引用完成服务端代理动态生成等操作。在其他实施例中,服务监控器还可以采用其他实现方式,例如,由服务消费者所在bundle模块的初始化方法去调用服务注册中心所提供的查询、获取服务的接口来监控服务的注册。
服务端代理生成器的作用在于为本地的可被远程访问的服务生成服务端代理。所述的服务端代理的作用是当接收到ORB的CORBA调用请求后,负责将该请求转化为Java调用请求,然后根据Java调用请求调用服务,将服务的处理结果由Java形式再转变为CORBA形式后返回给ORB。一个可被远程访问的服务对应有一个特定的服务端代理。所述服务端代理的生成、运行、终结是动态的,其生存周期与其所关联的可被远程访问的服务的生存周期有关。服务端代理是通过继承CORBA中的org.omg.PortableServer.DynamicImplementation类并实现其voidinvoke(ServerRequest request)方法来实现的。其中的参数request来自ORB对服务对象的CORBA调用请求的封装,在invoke方法中通过对request的提取以获取方法名和调用参数等信息,然后把相应的CORBA调用请求转换为对通过监控获得的实际服务对象引用的Java方法调用,再将对实际服务对象引用的方法的执行结果转换为CORBA调用结果回填到request中,通过request返回给ORB。
客户端代理生成器的作用在于为位于其他结点上的远程服务生成客户端代理。所述的客户端代理的作用是实现对位于其他结点上的远程服务的接口,将该接口中的方法的Java调用请求转换成对所述远程服务的服务端代理的CORBA调用请求。客户端代理与前述的服务端代理相类似,其生成、运行、终结是动态的,其生存周期与其所关联的位于其他结点上的远程服务的生存周期有关。客户端代理的实现采用了Java的动态接口代理技术,由java.lang.reflect.Proxy类在运行期时根据服务接口定义,并采用Java反射功能动态生成。客户端代理所采用的java.lang.reflect.Proxy类与服务端代理所采用的java.lang.reflect.InvocationHandler类相结合,可以把对服务接口中方法的Java调用请求转换成对服务的服务端代理的CORBA调用请求。由于服务的客户端代理的生成是运行时动态生成的,因此对服务端代理的CORBA调用请求需要通过CORBA动态调用接口(DynamicInvocation Interface)来构造,CORBA动态调用接口使得CORBA客户端可在运行时动态地构造对目标对象的方法调用请求。
以上是对CORBA分布式支持模块的进一步描述,需要指出的是,虽然一个结点的CORBA分布式支持模块中可以同时包含服务端代理生成器和客户端代理生成器,但对于某一特定服务而言,服务端代理生成器和客户端代理生成器不会同时起作用。对于同一服务的服务端代理和客户端代理而言,两种代理会位于不同的结点上。
所述的CORBA名字服务模块用于辅助CORBA分布式支持模块为本地OSGi内核提供远程服务的注册与查询能力。CORBA名字服务模块通过在本地服务注册中心注册的DiscoveryService类实现。所述的DiscoveryService类是对CORBA名字服务的封装,它提供了服务注册、服务注销和服务查询三个方法。当前述的CORBA分布式支持模块为一可被远程访问的服务生成服务端代理时,将调用DiscoveryService类中的服务注册方法,通过该方法将可被远程访问的服务的接口名、相关属性的描述、服务端代理的CORBA对象引用注册到CORBA名字服务上,使得网络其他结点上的CORBA分布式支持模块可以借助CORBA名字服务模块的DiscoveryService类中的服务查询方法查询到可被远程访问的服务所对应的CORBA对象引用。需要说明的是,上述描述中所提到的CORBA名字服务与CORBA名字服务模块是两个不同的概念。CORBA名字服务以独立进程的形式运行在网络中的某一结点上,它可以将逻辑名和对象名相关联,服务提供者模块使用逻辑名将对象引用注册到名字服务中,随后向该服务的消费者模块发布其逻辑名;消费者模块得知逻辑名之后,就可以使用该逻辑名到名字服务中解析出相应的对象引用,调用服务对象支持的方法。
所述的服务提供者模块用于提供服务,并可将服务连同其服务属性注册到本地服务注册中心上。所述的消费者模块用于向消费者提供使用服务的平台。服务提供者模块与消费者模块是从这些模块在某一服务中所扮演的角色所做的区分,运行于OSGi内核之上的bundle模块都有可能是服务提供者模块或消费者模块。
在对本发明的OSGi分布式扩展系统做上述说明的基础上,下面结合具体的实例,对在该系统上如何实现对远程服务的访问加以说明。
仍然以图1为例,在一个实施例中,结点1与结点2是分布在网络上的两个不同的结点,在这两个结点上各自安装并运行着前述的OSGi分布式扩展系统。在结点2上存在有服务A,且这一服务是允许被远程访问的。如图2所示,结点2上的服务提供者模块向本地的服务注册中心注册服务A,在注册的过程中同时将该服务允许远程访问的信息通过属性加以标识(步骤201)。结点2上的CORBA分布式支持模块通过向本地的服务注册中心注册服务监控器,以监控注册到本地服务注册中心的属性表示为可被远程访问的服务,当监控到本地服务注册中心发生了远程服务A的注册事件,服务监控器通过服务注册中心获取服务A的对象引用,然后由服务端代理生成器使用服务A的对象引用为远程服务A动态地生成服务A的服务端代理(步骤202)。结点2上的CORBA分布式支持模块在生成服务A的服务端代理后,还要将该代理加载到POA上,从而生成CORBA对象引用。这一步骤可通过CORBA中已有的技术实现,因此不对其具体实现过程加以说明(步骤203)。将前面得到的服务A的服务端代理的CORBA对象引用与服务A的本地相关服务注册信息注册到结点2上的CORBA名字服务上(步骤204)。通过上述操作,结点2上的服务A将允许网络上的其它结点对其做基于CORBA的远程调用。
在某一时刻,结点1上的消费者模块通过OSGi的编程接口向本地服务注册中心来查询服务A(步骤205)。结点1上的CORBA分布式支持模块监控到本地服务注册中心的对服务A的查询请求后,首先判断本地是否存在服务A,由于结点1上的OSGi服务注册中心没有服务A,于是结点1上的CORBA分布式支持模块通过CORBA名字服务模块查询网络上的远程服务A(步骤206)。结点1上的CORBA分布式支持模块的客户端代理生成器根据获取的服务A的接口信息和服务A的服务端代理的CORBA对象引用,利用Java反射机制动态地生成服务A的客户端代理(步骤207)。结点1上的CORBA分布式支持模块将生成的远程服务A的客户端代理通过本地服务注册中心的服务注册接口注册到结点1上的服务注册中心(步骤208)。结点1上的服务注册中心由于注册了远程服务A的客户端代理,消费者模块就可以直接使用服务A的客户端代理,从而达到透明地使用远程服务A的目的。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种基于CORBA的OSGi分布式扩展系统,包括OSGi内核以及运行在该内核上的服务注册中心,其特征在于,还包括有运行于所述OSGi内核上的CORBA分布式支持模块、CORBA名字服务模块、服务提供者模块以及消费者模块;其中,
所述的服务提供者模块将该模块提供的可供远程访问的服务在所述的服务注册中心注册;所述的CORBA分布式支持模块监控所述可被远程访问的服务在所述服务注册中心的注册,为该服务生成相应的服务端代理,并向本地OSGi内核提供基于CORBA的远程服务调用;
所述的消费者模块查询位于其他结点上的远程服务,所述其他结点区别于该消费者模块所在的结点;所述的CORBA名字服务模块给出关于该远程服务所在结点的信息;所述的CORBA分布式支持模块根据该信息生成客户端代理,由所述客户端代理实现对远程服务的使用。
2.根据权利要求1所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的CORBA分布式支持模块包括服务监控器、服务端代理生成器以及客户端代理生成器;其中,
所述的服务监控器用于监控注册到服务注册中心上的服务;
所述的服务端代理生成器用于生成服务端代理,所述的服务端代理用于在接收到ORB的CORBA调用请求后,将该请求转化为Java调用请求,然后根据Java调用请求调用服务,将服务的处理结果由Java形式再转变为CORBA形式后返回给ORB;
所述的客户端代理生成器用于生成客户端代理,所述的客户端代理用于实现对位于其他结点上的远程服务的接口,将该接口中的方法的Java调用请求转换成对所述远程服务的服务端代理的CORBA调用请求。
3.根据权利要求2所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的服务监控器采用OSGi内核所提供的ServiceTracker类实现。
4.根据权利要求2所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的服务端代理通过继承CORBA中的org.omg.PortableServer.DynamicImplementation类并实现其voidinvoke(ServerRequest request)方法来实现。
5.根据权利要求2所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的客户端代理采用Java的动态接口代理技术实现,由java.lang.reflect.Proxy类在运行期时根据服务接口定义,并采用Java反射功能动态生成。
6.一种基于CORBA的OSGi分布式扩展方法,在安装有权利要求1-5之一所述的基于CORBA的OSGi分布式扩展系统的结点上实现,包括:
步骤1)、允许远程访问的服务通过服务提供者模块在其所在结点的服务注册中心上注册;
步骤2)、为所述允许远程访问的服务生成服务端代理;
步骤3)、远程结点上的消费者模块向该结点上的服务注册中心查询所要访问的服务;
步骤4)、当所要访问的服务在远程结点本地不存在时,所述远程结点生成客户端代理,通过所述客户端代理访问所述服务端代理,从而实现对所述服务的访问。
7.根据权利要求6所述的基于CORBA的OSGi分布式扩展方法,其特征在于,所述的步骤2)包括:
步骤2-1)、服务所在结点上的CORBA分布式支持模块监控到注册事件后,为该服务生成相应的服务端代理;
步骤2-2)、所述CORBA分布式支持模块将所述服务端代理加载到POA上,生成CORBA对象引用;
步骤2-3)、在服务所在结点上的CORBA名字服务模块注册所述服务端代理的CORBA对象引用以及所述服务的本地服务注册信息。
8.根据权利要求6所述的基于CORBA的OSGi分布式扩展方法,其特征在于,所述的步骤4)包括:
步骤4-1)、远程结点上的CORBA分布式支持模块通过该结点上的CORBA名字服务模块查询哪个结点上存在所需要的服务;
步骤4-2)、远程结点上的CORBA分布式支持模块根据查询结果生成所需服务的客户端代理,将对所述客户端代理的所有方法调用转变为对服务所在结点上服务端代理的调用;
步骤4-3)、远程结点上的CORBA分布式支持模块将所需服务的客户端代理注册到本地的服务注册中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910207404 CN102053860B (zh) | 2009-10-30 | 2009-10-30 | 基于CORBA的OSGi分布式扩展系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910207404 CN102053860B (zh) | 2009-10-30 | 2009-10-30 | 基于CORBA的OSGi分布式扩展系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102053860A CN102053860A (zh) | 2011-05-11 |
CN102053860B true CN102053860B (zh) | 2013-10-16 |
Family
ID=43958214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910207404 Expired - Fee Related CN102053860B (zh) | 2009-10-30 | 2009-10-30 | 基于CORBA的OSGi分布式扩展系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102053860B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411500B (zh) * | 2011-08-12 | 2014-12-03 | 华南理工大学 | 基于OSGi分层的RFID应用集成构件库集成方法 |
CN102325186A (zh) * | 2011-09-14 | 2012-01-18 | 山东中创软件工程股份有限公司 | 远程服务调用方法及系统 |
CN102984208B (zh) * | 2012-11-05 | 2015-11-25 | 曙光云计算技术有限公司 | 远程调用服务的发布方法和装置 |
CN103001798B (zh) * | 2012-11-22 | 2016-03-16 | 华为技术有限公司 | 管理应用服务的方法、装置和系统 |
CN103544016A (zh) * | 2013-10-28 | 2014-01-29 | 珠海许继芝电网自动化有限公司 | 一种基于java反射技术的服务注册配置方法及系统 |
CN104202427A (zh) * | 2014-09-24 | 2014-12-10 | 国家电网公司 | 一种分布式节点间的服务调用方法及系统 |
CN105634783B (zh) * | 2014-11-07 | 2019-10-25 | 海尔优家智能科技(北京)有限公司 | 一种基于Alljoyn网关间的设备服务调用方法及装置 |
CN104506341A (zh) * | 2014-11-24 | 2015-04-08 | 北京锐安科技有限公司 | 一种基于Hessian服务的OSGi分布式部署方法 |
CN106034138B (zh) * | 2015-03-09 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种远程服务调用方法及装置 |
CN104980510B (zh) * | 2015-06-17 | 2018-03-27 | 中国人民解放军国防科学技术大学 | 一种corba分布式应用的透明集群化的方法 |
CN105511974B (zh) * | 2015-11-24 | 2018-05-11 | 武汉大学 | 分布式环境下面向服务质量评价的OSGi容错方法 |
CN106021068B (zh) * | 2016-05-27 | 2018-07-17 | 北京京东尚科信息技术有限公司 | 服务接口的监控方法和监控系统 |
CN106775616B (zh) * | 2016-11-10 | 2020-08-11 | 中国电子科技集团公司第二十八研究所 | 基于C++与Java混合编程的分布式服务系统 |
CN107766149B (zh) * | 2017-09-22 | 2020-08-04 | 北京市天元网络技术股份有限公司 | 一种基于DUBBO的ZooKeeper集群配置的方法及装置 |
CN110471742B (zh) * | 2019-08-15 | 2022-03-29 | 中国银行股份有限公司 | 分布式环境下的Java对象监控管理系统及方法 |
CN114024743A (zh) * | 2021-11-04 | 2022-02-08 | 山东中创软件商用中间件股份有限公司 | 一种应用服务器远程管理方法、装置、设备及存储介质 |
CN115033399B (zh) * | 2022-06-09 | 2023-03-17 | 上海介方信息技术有限公司 | 基于corba中间件的轻量级事件服务方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855057A (zh) * | 2005-04-25 | 2006-11-01 | 诺基亚公司 | 在OSGi服务平台上提供包捆组终止的系统和方法 |
-
2009
- 2009-10-30 CN CN 200910207404 patent/CN102053860B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855057A (zh) * | 2005-04-25 | 2006-11-01 | 诺基亚公司 | 在OSGi服务平台上提供包捆组终止的系统和方法 |
Non-Patent Citations (4)
Title |
---|
杨春阳,刘兵.基于OSGi规范的"智能化"嵌入式应用开发.《仪器仪表学报》.2004, |
杨春阳,刘兵.基于OSGi规范的"智能化"嵌入式应用开发.《仪器仪表学报》.2004, * |
王跃飞 等.基于OSGi的多Agent家庭网络系统的研究.《2005年"数字安徽"博士科技论坛论文集》.2005, |
郁军.基于OSGI的普及计算关键技术研究.《中国优秀硕士学位论文全文数据库》.2003,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN102053860A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102053860B (zh) | 基于CORBA的OSGi分布式扩展系统及方法 | |
CN102377796B (zh) | 基于OSGi的异构服务集成系统及方法 | |
CN100583783C (zh) | 基于配置策略的电信领域遗留系统集成工具 | |
US8443374B2 (en) | Business application integration adapters management system | |
CN101408899B (zh) | 一种网站多数据源切换方法和装置 | |
US20030036917A1 (en) | Service provision system and method | |
CN100479551C (zh) | 通用业务系统及其实现方法 | |
CN105721562A (zh) | 一种基于代理的异构服务调用方法与协同调用系统 | |
CN101860564A (zh) | 基于协议的服务组合系统和方法 | |
CN101232626A (zh) | 一种基于企业业务开发平台的业务支撑系统和方法 | |
CN102854853A (zh) | 一种跨平台轻量级的分布式控制系统 | |
CN106790084A (zh) | 一种基于ice中间件的异构资源集成框架及其集成方法 | |
CN103812937A (zh) | 一种物联网设备的接入和适配系统 | |
CN112256246A (zh) | 一种用于电力系统中支持跨语言调用的微服务集成架构 | |
CN109597693A (zh) | 分布式软件系统中grpc通信协议的应用方法 | |
CN100466554C (zh) | 通信适配层系统及获取网元信息的方法 | |
KR100833494B1 (ko) | 임베디드 단말의 OSGi 미들웨어 환경에서 이원화된애플리케이션 관리를 통한 애플리케이션 경량화를 위한장치 및 그 방법 | |
CN102664952A (zh) | 一种对嵌入式设备集群管理及监控的方法 | |
CN101236510B (zh) | 一种ejb集群的失败恢复处理方法及系统 | |
CN108415689A (zh) | 基于泛在对象三段式装配的软件构成方法 | |
CN103684904A (zh) | 基于ip三网融合网络监控系统 | |
CN109672668B (zh) | 一种gda接口与opc ua服务的映射方法 | |
Plebani et al. | MicroMAIS: executing and orchestrating Web services on constrained mobile devices | |
CN109922139A (zh) | 异构网络的动态服务发现与发布方法 | |
CN102480480B (zh) | 一种普适计算环境下的资源调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131016 Termination date: 20181030 |