财富时代,企业家的精神家园,帮助中国企业家在全球化进程中取得成功。
会员登录 会员注册 网站通告:

管理实务

搜索: 您现在的位置: 经济管理网-新都网 >> 管理实务 >> 企业信息化 >> SCM >> 正文

面向对象技术应用:可重用软件组件 (1)

http://www.newdu.com 2009/10/7 互联网 佚名 参加讨论


  主要包括:

  · 对象请求代理ORB (Object Request Broker),是CORBA的核心。作为一个软件组件,对象可以通过ORB发出请求并接收响应。在CORBA中,所有的通讯都通过ORB进行,因而无论一个对象是本地的还是远程的,对于与之进行通讯的其他对象来说都是等价的。CORBA并没有规定如何具体实现一个ORB,几乎每一个不同的产品都有其具体的ORB实现。

  · 接口定义语言IDL (Interface Definition Language),是用于描述对象接口的一种高级符号语言。IDL不涉及任何接口的实现细节,所有COBRA系统都根据IDL用某种特定语言来实现接口。CORBA为C、C++、Smalltalk和JAVA制定了规范,ADA95和COBOL的映射规范也正在制定中。IDL描述通常以接口库(Interface Repository)的方式进行存贮。

  · 接口库(Interface Repository),其中包括了所有描述服务对象属性、操作、自定义数据类型及异常处理的IDL定义。

  · 基本对象适配器BOA (Basic Object Adapter),描述了ORB和服务器端应用程序之间的接口。BOA负责调度服务器端应用程序维护的对象,并与服务对象交换消息。

  · 静态请求接口SII (Static Invocation Interface)。SII假设在编译时刻客户对象能够明确了解服务对象的接口,即客户与服务器之间的关系应当是可知的、固定的,服务接口的任何改变都会导致软件系统的重新编译。SII是由IDL描述的。

  · 动态请求接口DII (Dynamic Invocation Interface)是一组与服务器无关的通用接口。与新服务对象及其行为相关的信息可以通过接口库获得,客户程序根据这些信息可以在运行时刻动态构造请求。DII使得开发智能化即插即用的软件系统成为可能,但需要涉及大量CORBA API调用,增加了软件的复杂度。

  总之,CORBA提供了一个集成框架,应用程序只要给出用接口定义语言IDL (Interface Definition Language)书写的界面,就可插入框架,与其他对象协同工作,为在分布式环境下实现不同应用程序即插即用的集成提供了有力支持。

  OLE/COM

  与CORBA一样,Microsoft的OLE/COM是基于分布式对象模型的开放标准,得到多系统软件开发商、独立软件开发(ISV)商和用户的支持。

  OLE实际上是建立在组件对象模型(COM)基础上的一组高层次技术。从基本中间件功能视图的角度来说,COM与CORBA非常相似,同样支持对象的定义、创建、调度、引用及对象之间的通讯,同样提供了接口定义语言(IDL)。

  但是两者之间也存在显著的差异。例如,COM支持由不同程序设计语言或不同编译器实现的对象之间的二进制兼容,以及OLE Automation等。

  服务控件管理SCM (Service Control Manager)集中负责搜索服务对象和在客户与服务器之间建立信道。当客户向某个特定的对象发出初始化请求时,SCM判断包含该对象的服务程序是否已经运行,如否,则通过注册表查找服务程序所在的位置。随后,客户端SCM建立起与服务器端SCM连接的RPC信道;服务器端SCM也进行同样的处理,并在必要的情况下起动服务程序。最后,信道两端的SCM分别将代理程序(proxy stub)载入到客户进程和服务器进程中。

  OLE/COM提供了与CORBA IDL类似的高级描述语言,用于定义COM概念上的接口,即一组逻辑相关的操作或方法。

  OLE/COM结构的另一要素是Automation,允许客户程序动态构造请求(包括方法名、相关参数的类型和取值等),并将请求发送到远端对象。在CORBA中,客户程序能够通过接口库(repository)获取对象接口的相关信息;而OLE/COM则更进一步,任何符合OLE/COM规范的对象都能自动提供其所能支持的接口信息。

上一页  [1] [2] [3] [4] 

Tags:SCM  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击。 昵称:注册  登录
[ 查看全部 ] 网友评论
| 设为首页 | 加入收藏 | 网站地图 | 在线留言 | 联系我们 | 友情链接 | 版权隐私 | 返回顶部 |