Welcome

首页 / 软件开发 / C++ / BCB环境下CORBA实做之服务器

BCB环境下CORBA实做之服务器2010-03-09品雪译BCB带有多个向导(Wizards)以简化CORBA服务器的开发过程。以下几步描述了如何用BCB建立一个CORBA服务器。

定义对象界面

使用CORBA server wizard建立一个包含起始时初始化BOA和ORBCORBA代码的服务器应用程序

编译包含界面定义的IDL文件,得到框架及存根。

用CORBA object wizard定义(并实现)类的实现。

完成4建立的类实现CORBA 对象

必要时,修改CORBA界面并将修改加进类实现中。

另外,可以选择将IDL文件注册加入界面库和对象激活守护进程。

--------------------------------------------------------------------------------

1-1 定义对象界面

参见OVERVIEW同主题部分。

--------------------------------------------------------------------------------

1-2 使用CORBA server wizard建立一个包含起始时初始化BOA和ORBCORBA代码的服务器应用程序

要开始一个新的CORBA服务器工程,选择File|New,再从对话框的Multitier页选取题为CORBA Server的图标。CORBA Server wizard让你指定是生成控制台程序(console application)还是窗口应用程序(windows application)。

如果建立一个控制台应用程序,可以说明是否使用VCL类。如果不选,那么所有生成的代码可以移植到其它平台上。

另外,选择应用程序类型时,还可以将任何已经存在的IDL文件加进工程中,或指定你想加进一个空白的IDL文件。服务器工程最后必须一个或多个IDL文件,该文件定义客户用以与服务器通信的界面。

注意:如果在开始CORBA工程时没有加入IDL文件,你始终可以选择Project|Add to Project(对已经存在的IDL文件)或从New Items对话框的Multitier页选择CORBA IDL file(以定义新IDL文件)来加入。

当你选定服务器类型,单击OK,CORBA Server wizard将新建一个指定类型的服务器工程,将CORBA库加入工程文件,加入初始化ORB(对象请求代理)和BOA(基本对象配适器)的起始代码。

自动生成的代码定义两个变量:orb和boa,你可以用它们与ORB和BOA通信。

CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);

CORBA::BOA_var boa = orb->BOA_init(argc, argv);

如果指定为控制台应用程序,还会看到下面这行:

boa->impl_is_ready();

这个调用使你的程序可以从BOA接收消息,正如Windows消息循环允许一个窗口应用程序从Windows收到消息。(而窗口型应用程序使用Windows消息循环处理CORBA消息)。

ORB和BOA的细节见VisiBroker文档(可到inprise网站去下载)。

--------------------------------------------------------------------------------