CORBA技术及在Delphi中的实现(三)

日期: 2007-12-27 作者:秦志强 来源:TechTarget中国

  该程序分两步:

  第一步:是从由Delphi自动设置的内部Fintf变量调用Get Name。Fintf仅仅是一个指向对象真实接口的指针。因为现在正处于服务器本身当中,因此,这是指向你所创建的实际对象的真实指针。

  第二步:是将函数结果包装起并把它送回客户端,你将通过调用GetReplyBuffer和PutWideText完成该步骤。

  6、 接口定义语言

  接口定义语言(IDL)用于定义对象的接口,一个对象的接口指定该对象所支持的类型和操作,因而唯一定义了可用于该对象的请求形式。所有接口均隐式从CORBA模块中定义的Object接口中导出。

  接口定义语言(IDL)的重要特征是其语言无关性,这使得对象可用不同的程序设计语言构造,且依然可相互通信,CORBA规范通过精确定义基本数据类型的长度,保证了在异构硬件平台上的互操作性。

  三、 Delphi4中CORBA客户和服务器对象分布式工作机理

  Delphi4工具支持CORBA标准,并为开发分布式应用程序提供了优良的环境。

  在Delphi4中,真实的存根与框架由Delphi4在创建CORBA对象时自动生成,并存放于CORBA对象_TLB.pas命名的文件中。存根与框架这对代理使客户感觉到好象真的与服务器直接通信,而它们的具体实现存在于服务器中。在Delphi4中ORB就是一组动态连接库,它们提供了网络传输层以下的通信机制。图中的OsAgent不是CORBA标准中的一部分,它的宗旨在于帮助客户机连接到服务器上去,并执行其它一些类似于负载均衡和重启崩溃等重要任务。当客户程序启动时,它使用ORB与OsAgent进行通信,使客户机自动连接到服务器上去,换句话说,OsAgent有目录服务功能,它能够自动找出对象的位置。应该指出的是,在实现分布式应用程度过程中,客户、服务器双方必须都安装有OsAgent程序,同时必须在通信之前启动了OsAgent服务。

  四、 Delphi中两个重要的CORBA存储库

  1、 Interface Reposity

  Interface Reposity是一个用来存储有关对象的具体内容的地方。该资源库有三种用途:

  1)、它为用户提供了一个场所,用户可以通过它来查看有关对象的详细信息。

  2)、它提供了允许CORBA对方法调用进行类型检查的机制。

  3)、它允许在运行期间对一个对象进行动态调用。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐