分布式应用程序开发框架研究.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式应用程序开发框架研究

分布式应用程序开发框架研究   摘 要:本文介绍分布式应用的相关概念、技术,对CORBA,ICE分布式中间件技术进行讨论, 这种开发框架的软件具有高度的可扩展性与重用性、支持多编程语言开发和分布式部署的特点,非常适合系统实时性、稳定性、控制精度要求高的工业级应用中。   关键词:分布式应用 CORBA ICE 接口定义语言      引言    一个分布式系统是若干个独立的计算机的集合,但是对该系统的用户来说,系统就像一台计算机一样。因此分布式应用软件不需要具有整体结构,同时它可以基于多种编程语言开发并运行在多种操作系统平台上。OMG(Object Management Group )对象管理组织在1992年提出利用对象技术的开发一个用于分布式应用的开源框架即CORBA (Common Object Request Broker Architecture)。分布式应用环境都采用Client/Server架构,CORBA的应用提高了分布式应用软件的开发效率。ICE(Internet Communication Engine)是新一代的面向对象中间件平台,开发者只需付出很少的努力,就能够用ICE构建出分布式应用。ICE在概念上与CORBA类似,但在许多方面都有突破性的进展:它的对象模型更简单、更强大;解决了过去困扰中间件的低效问题;提供了许多新特性,比如支持用户数据报协议、异步方法分派、内建的安全性、自动的对象持久,以及接口聚合。      2 分布式应用程序的体系结构    分布式应用系统基于面向对象的中间件,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。   基于CORBA的系统架构   3.1对象请求代理(ORB)    CORBA是一种架构,它使用远程过程调用(RPC)的模式提供平台独立的进程间通信。一个远程过程调用看起来就像本地函数调用一个过程。对象请求代理(ORB)是CORBA规范的基础,其主要功能是定位服务对象,分析客户对象的请求,获取服务对象的功能接口,在客户与服务对象间建立通信连接。   3.2接口定义语言(IDL)    IDL是CORBA的另外一个重要组成部分,用于说明CORBA服务对象完成的功能,但???能够利用IDL实现该功能。IDL是独立于其他编程语言的功能描述性语言,这从另外一个侧面说明了CORBA的语言环境独立性。利用IDL,完成CORBA服务对象方法的说明,然后利用语言映射工具,将用IDL定义的CORBA对象方法说明翻译成高级编程语言(C++或Java)的接口说明,最后根据接口说明,利用C++或Java编写对象实现程序。   Stub和Skeleton    客户对象的Stub和服务对象的Skeleton是IDL与对象实现语言之间的桥梁。客户对象Stub是IDL定义的方法接口,经IDL编译器编译后,在编写客户对象时,高级编程语言可应用的用于识别服务对象方法的代码。客户对象Stub提供服务对象接口的简要说明。服务对象的Skeleton是IDL定义的方法接口,经IDL编译器编译后,形成的说明服务对象提供方法的框架。对于服务对象接口中的每个方法,必须在服务对象程序中实现。    对于ICE的对象模型,Slice(Specification Language for ICE)就是用来描述ice的对象模型有哪些接口,有哪些操作,以及要交换的数据类型。可以把Slice看成是一个合约,各种平台,各种语言映射,相互调用的公共接口,共同遵守的规则。Slice 允许以一种独立于特定编程语言的方式定义客户-服务器的合约。 Slice 定义由一个编译器编译成特定编程语言的API,也就是说,与所定义的接口和类型对应的那一部分API,会由生成的代码组成。   语言映射    目前ICE提供了c++,java,c#,vb,python,php的语言映射。因为各种语言的对象模型是不一样的,必须把这些不同的对象模型映射到同一个模型上,进行操作。这就是一个抽象的过程。直接去定义接口,然后剩下的工作 就交给Ice Run Time来完成各种语言之间对象的相互转换。    客户机与服务器的结构    客户与服务器都由这样一些代码混合而成:应用代码、库代码、根据Slice 定义生成的代码。整个结构有两个方面:客户端/服务器,它们共同使用的就是ICE核心(Ice Run Time),上图中关键的部分就是ICE核心,也就是Ice Run Time 。ICE 核心为远地通信提供了客户端和服务器端运行时支持。其中

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档