• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件构件技术综述

发布: 2008-2-21 16:38 | 作者: 郝克刚 | 来源: 西北大学计算机科学系 | 查看: 128次 | 进入软件测试论坛讨论

领测软件测试网

OMG接口定义语言IDL用于定义对象的接口。一个对象的接口指定该对象所支持的类型和操作,因而唯一定义了可用于该对象的请求形式。客户在构造请求时,必须了解对象的接口。如上所述,保持接口描述的“语言中性”对在异构环境中实现分布式应用是重要的。IDL仅为一个说明式语言,而不是一个全面的程序设计语言。因此,IDL本身并不提供诸如控制结构这样的特征,IDL也不能直接用于实现分布式应用。相反,客户和对象的实现是采用具体的程序设计语言完成的。因此,ORB所支持的特征必须能够在实现语言中访问。语言映射决定IDL的内容如何映射为具体程序设计语言的设施。IDL编译器将具体接口定义翻译为目标语言代码。目前OMG已完成了从IDL到C,C++,Java,Smalltalk,Ada95,Cobol等语言映射的标准化工作。

 

    OMG IDL编译器除了生成目标语言类型外,同时生成客户端的存根(Stub)和服务端的骨架(Skeleton)。存根是一个可有效创建和发送客户端请求的机制,而骨架是一个可将客户端请求传送至CORBA对象实现的机制。因为存根和骨架是直接从CORBA对象接口的OMG IDL描述中翻译而得,故存根和骨架通常是与特殊对象接口相关。通过存根和骨架发送和传递请求的方式通常称为静态调用。存根和骨架被直接嵌入客户应用和对象实现,因此,它们具有需调用的CORBA对象接口的所有静态信息。

    除了使用存根和骨架的静态调用方式外,CORBA提供了动态调用接口DII和动态骨架接口DSI,前者支持动态客户请求调用,而后者支持将请求动态指派给对象。客户程序可通过使用DII对任何对象进行请求调用,而毋须持有对象的编译时信息。

    CORBA对象适配器(Adapter)的作用是配合对象实现和ORB本身的连接。Adapter本身是一个对象,它使被调用对象的接口适配于调用对象所期望的接口。

    CORBA除了对核心ORB作了规定以外,还定义了对象服务和公共设施构件的规约。对象服务包括最基本和最常用的服务内容,如名字服务、事件服务等,而公共设施则包括范围更广的、建立在对象服务之上的服务,如用户界面、信息管理、系统管理和任务管理等。

    CORBA 对应用系统未作具体规定,它可以建立在对象服务和公共设施之上,利用它们中的构件。

    构件对象模型COM和构件对象模型DCOM

    微软公司是也较早采用构件技术的公司之一。1993年,微软公司提出了构件对象模型(COM)。此技术已相当成熟,微软公司为Windows® 和 Windows NT开发的应用软件几乎都是基于COM的。早期的软件多在单机上运行,后来对COM进行了扩展,允许访问其它机器上的对象。1996年提出了构件对象模型(DCOM),使得采用构件技术构建网上的应用系统成为可能。除了COM、DCOM以外,微软还为开发分布式企业级应用软件提出了很多在Windows NT®服务器上的服务,如微软作业服务(MTS)、微软因特网信息服务(IIS)、控件服务页面(ASP)、微软消息查询服务(MSMQ)等。

    有人曾将DCOM和CORBA从程序设计结构、远程调用结构以及通信协议结构三个层次上进行了比较。虽然在基础原理和结构上有很多相近之处,但是在具体作法上还是有很大差异。也有人对DCOM和CORBA各自的优势和不足进行过评论。认为DCOM有较强的工具和系统的支持,另外由于有些功能已嵌入在操作系统中(特别是Windows NT®),所以在降低化费上有优势。但是DCOM过多地依赖微软的操作系统平台,因而对异构网络环境,在兼容性方面会有不少问题。而正相反,CORBA在支持多种平台和多种语言上具有优势,而且有比较广泛的独立开发商和用户及业界的支持。此外,CORBA所采用的对象概念以及强调网络透明等在技术上也比较成熟。当然,CORBA的不足之处是不如DCOM的支持工具那么多,另外在不同的开发商提供的CORBA实现之间的兼容性方面还有不少问题。但事物在不断发展,DCOM和CORBA都会设法在改进自己的不足。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

42/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网