用TAO创建股票报价系统
Building a Stock Quoter with TAO- A Tutorial
本教程译自$(ACE_ROOT%)/TAO/ docs/tutorials/Quoter。由Stone Jiang试译。原文
revision history:
date: 2007-11-05 by Stone Jiang
本教程是围绕一个单一的应用程序组织的,它允许客户端程序可以通过报价服务获取股票报价。该应用程序是基于Doug Schmidt和Steve Vinoski为C++ Report杂志的对象互联专栏的序列文章而开发的。
这篇教程从简单的客户程序及服务程序到剖析TAO的高级特性而逐步构建,这些高级特性包括了:asynchronous method invocation,reliable oneways, real-time Evnet Service, Interoperable Naming Service等等。
在您阅读本教程时,您可以自由地从提供的链接处获取到源文件。但是,如果您选择了编译和运行示例程序,这些源文件是作为您下载的TAO源文件的一部分。您可以从这下目录
$TAO_ROOT/docs/tutorials/Quoter
找到源代码,里面还包含了编译时需要的Makefile文件。由于本在线教有可能使用了与您不同版本的ACE+TAO源代码,因此单独下载这些源代码可能不能正确编译。
- 介绍- 一个很简单的客户端
- 介绍-一个很简单的服务端
- 介绍-改进服务端,通过POA策略之显示激活和用户自定义对象ID
- 介绍-改进服务端,通过POA策略之持久化对象引用
- 实现仓库
- TAO的命名服务
- 异步方法调用-CORBA为没有耐心的客户端提供的解决方案
- 按需激活
- TAO的Cos事件服务
- TAO的RT事件服务
- RTCORBA
1.介绍—— 一个很简单的客户端
我们将从一个相当简单的IDL接口开始我们的教程:我们想要创建一个股票报价服务,可以通过某些接口查询股票的价格。为了使学习之旅更加有趣,我们将用不同的CORBA对象表示不同的股票。哦,这看上去有些夸张,但是这些趣味性会激发我们更多的学习欲望,尤其在学习开始的时候。
定义IDL接口
对于股票报价系统,最起码的操当属查询股票价格的操作了,表示如下:
interface Stock
{
double price();
};
但通常,股票有符号和全称,于是我们再增加两个属性来便于查询:
interface Stock
{
double pric