[发明专利]在CORBA中利用模型转换实现实时异步通信的方法有效
申请号: | 201410074874.1 | 申请日: | 2014-03-03 |
公开(公告)号: | CN103902283B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 何积丰;钱宇清;韩嘉臻;刘静 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;H04L29/06 |
代理公司: | 上海麦其知识产权代理事务所(普通合伙)31257 | 代理人: | 董红曼 |
地址: | 200062 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | corba 利用 模型 转换 实现 实时 异步 通信 方法 | ||
技术领域
本发明属于软件开发技术领域,尤其涉及一种在CORBA中利用模型转换实现实时异步通信的方法。
背景技术
CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)是一个由OMG(Object Management Group)组织提出的标准,用于实现分布式计算。
与RPC(Remote Procedure Call,远程过程调用)有所不同,基于面向对象技术的CORBA能够处理和解决远程对象之间的协同操作。微软的DCOM(Distributed Component Object Model,分布式组件对象模型)也能解决这个问题,但是它是基于Windows操作系统的,因此它只能在Windows操作系统上很好地实现。CORBA是平台无关以及语言无关的,它使用IDL(Interface Definition Language,接口定义语言)来允许所有语言创建或者使用CORBA组件。
CORBA定义的对象模型会提供以下几个功能特征:
·客户端/服务器端关系:在一个分布式系统中,对象是通过调用服务来和其它对象进行交互的。
·通过引用访问:在一个客户端对象能请求服务器对象之前,客户端必须要获得一个指向服务器端的引用。除此之外,这个调用是通过一个知名的强类型接口被执行的。能被调用的服务和这些服务的签名在编译阶段是已知的,并且依赖于客户端持有的引用的类型。
·同步调用:服务的调用导致了客户端和服务器端之间的同步:一次调用是一个双向的问答式交互。在交互过程中,客户端发送参数,服务器端返回结果。调用会在客户端阻塞:它不得不在继续它的后续工作前等待结果。这是基本调用模式,尽管CORBA提供了单向服务。
·异步调用:不同于同步调用,客户端在服务器返回响应结果前不会被阻塞。所以CORBA组件模型中的异步方法调用允许客户端组件向目标组件发送非阻塞请求。
在CORBA中,IDL用于描述服务。IDL可以被映射到一些编程语言,比如C++或者Java,并且分为2个部分。在客户端的部分叫做IDL Stub,在服务器端的部分叫做IDL Skeleton。重要的是2个部分能用不同的编程语言实现。对象的实现需要基于服务器端上的skeleton来编码。此外,客户端不得不通过stub来访问服务器上的方法。客户端和服务器端是通过ORB(Object Request Broker,对象请求代理)总线来进行通信的。
实际上,CORBA是一种多层客户端/服务器端架构,准确地说是3层客户端/服务器端模式。2层客户端/服务器端模式的问题在于,它们高度耦合,客户端和服务器端使用一种私有的通信协议,这会导致在服务器上的更改会影响客户端。与2层客户端/服务器端模式不同,在3层客户端/服务器端模式中,客户端和服务器端不能与对方直接通信,而是通过代理来通信。CORBA中的代理就是ORB。由于ORB的存在,客户端和服务器端不需要考虑通信细节,相反地只需要考虑功能的实现。所以从这个角度来说,CORBA是一种中间件技术。CORBA的架构如图1所示。
IDL是CORBA系统中的一个重要概念。IDL的语法很像C++和Java。ORB使得CORBA成为平台无关。然而,IDL使得CORBA语言无关。IDL只定义接口而不是实现,就像Java语言中的接口。IDL不是一个真正的编程语言,所以如果使用IDL来编写应用程序,那么有必要把IDL映射成对应的编程语言,比如C++或者Java。在映射之后,客户端的Stub代码和服务器端的Skeleton代码会被生成。实际上,编写IDL是编写CORBA应用程序的第一步,在整个软件设计过程中有着举足轻重的地位。
目前在CORBA中实现异步方法调用的过程中没有设定统一的从初始IDL到异步IDL的映射规则。因此,每次在CORBA上进行软件开发之前,需要重新定义一套适用于软件开发的异步通信IDL的转换规则,给开发过程带来了很大的不便。
发明内容
本发明克服了现有技术中没有规范异步IDL文件等缺陷,提出了一种在CORBA组件模型上利用模型转换技术实现实时异步通信的方法,利用了模型转换技术实现了在CORBA中组件之间的实时异步通信。本发明中提供了统一的映射规则,并提供了基于该映射规则的工具,使得开发者能通过工具快速地自动生成符合该规范的异步IDL文件,既提高了开发效率,又规范了CORBA异步调用的实现方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410074874.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息处理方法及电子设备
- 下一篇:带有传动装置的四柱液压机