logo资料库

使用ace_tao开发企业级应用.pdf

第1页 / 共87页
第2页 / 共87页
第3页 / 共87页
第4页 / 共87页
第5页 / 共87页
第6页 / 共87页
第7页 / 共87页
第8页 / 共87页
资料共87页,剩余部分请下载后查看
第一章 安装ACE/TAO
序言 第1章 安装 ace/tao 第2章 使用 MPC 和 MWC 管理项目 第3章 CORBA 基础 第4章 ACE/TAO 导引 第5章 EDDM 设计思想 第6章 EDDM IDL 接口设计 第7章 主程序实现 第8章 服务端实现 第9章 客户端实现 第10章 配置文件模块和日志记录模块 第11章 数据库访问接口的实现 第12章 简单的对象维护模块 第13章 总结
序言 吾心似水清净平,水利万物而不争。 利益万物无我相,十方供养利众生。 万法一如皆平等,诸法无我见真空。 游遍十方身不动,了知万法妙无穷。 本文作为开源项目 EOAM(Easy Open Application Middleware)易 用 的 开 放 应 用 中 间 件前行导引。作为 CORBA 快速入门之用。阅读本文,我们假设你有如下基础:熟悉 c++,会 使用至少一种 C++编译器(VC,GCC 等),对自己编程平台比较熟悉。 前面几章讲 ACE/TAO 的基础知识,包括介绍,安装,项目管理,后面章节结合 EDDM(易用分布式数据库中间件)实际项目讲 ACE/TAO,最后讲一些高级点课题,提出 来,不展开。 看完本文,希望大家能够使用 ace/tao 开发项目,这也写本文的目的。 当然想通过本文想对 CORBA 或者 ACE/TAO 比较熟悉,这是不可能的!不过可以推荐 些这方面的资料: 《ACE Developers guide》(有电子版) 《基于 C++ CORBA 高级编程》(有电子版) 《TAO Developers guide》(无电子版) ACE/TAO 联机文档 http://www.cs.wustl.edu/~schmidt/ACE.html 其 中 ACE/TAO 的 联 机 文 档 很 不 错 , 可 作 为 开 发 时 候 参 考 使 用 , 不 过 都 是 英 文 的 , Huihoo 动 力 ( http://www.huihoo.com/ace_tao/index.html ) 有 一 些 中 文 资 料 , 其 中 《ACE Developers guide》比较不错。由于项目主要使用 TAO,所以 ACE 介绍不多,ACE 的 书籍 《C++NP1》,《C++NP2》有中文的实体书,也有英文的电子版,想研究 ACE 的,去看看这些 比较合适。 开源项目,源码是最好的老师,如果有时间,翻翻 ACE/TAO 代码,你会收获很大。 由于本人水平和精力有限,疏漏或者错误的地方,欢迎大家指正。同时在此感谢 EOAM 项目组成员的支持。 陶勇刚 2004-12-10
第一章 安装 ACE/TAO ACE/TAO 介绍 ACE is an open-source framework that provides many components and patterns for developing high-performance, distributed real-time and embedded systems. ACE provides powerful, yet efficient abstractions for sockets, demultiplexing loops, threads, synchronization primitives. TAO (The ACE ORB) is an open-source implementation of a CORBA Object Request Broker (ORB) built using components and patterns in the ACE framework. CIAO (Component Integrated ACE ORB) is an open-source implementation of the CORBA Component Model (CCM) built on top of TAO. 1.1ACE 介绍 ACE 自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开 放源码的面向对象 (OO)框架(Framework),在其中实现了许多用于并发通信软件的 核心模式。ACE 提供了一组丰富的可复 用 C++ Wrapper Facade(包装外观)和框架组件, 可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信 号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并 发 ACE 的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、事件 多路分离、显式动态链接和并发的 OO 网络应用和服务的开发。此外,通过服务在运行时与 应用的动态链接,ACE 还使系统的配置和重配置得以自动化。 同 执 步 , 行 和 等 等 。 ACE 是 开 源 项 目 , 项 目 主 页 : http://www.cs.wustl.edu/~schmidt/ACE.html ACE 架构图:
1、 TAO 简要介绍 TAO 全称 The ACE ORB,是用 ACE 实现的一个高性能开源的 ORB,后逐步完善 CORBA 规范(ACE-5.4+TAO-1.4+CIAO-0.4.tar.gz 版本按照 CORBA 2.6 规范 和部分 3.0 规范)及标 准服务,现在加入了 CIAO。 在分布式和嵌入式系统中,通常对系统的性能有很高的要求。TAO 满足这些了这些苛 刻的要求,首先,它是免费可用的并且开放源代码.TAO 是基于实 时 CORBA 的设计要求, 提供高效、可预言(predictable)、且能实现端以端的服务质量(QoS,quality of service)配置。它显 然不同于一些传统的 ORB。在 TAO 的设计和实现过程中,大量采用了最好的软件设计模式 和方法,并最终完成这个高效并且实时的 ORB。 TAO 架构图:
中文详细介绍请访问:http://www.huihoo.com/ace_tao/index.html 2 安装前的准备工作 操作系统:Windows 2000 以上,Linux; 编译器:VC 7.1 或者 VC 6.0 sp5,Gcc 2.90 以上; 其它软件包:perl(www.perl.org), Linux 下自带,windows 下需要安装,主要是为了工程 管理和使用 ACE/TAO 自带的测试脚本; 终端工具:Linux 字符终端 SercurCRT, X 终端 xmanager,vnc 等都可以选择。 ACE/TAO 软 件 包 : 在 http://deuce.doc.wustl.edu/Download.html ACE-5.4+TAO-1.4+CIAO-0.4.tar.gz; 3 ACE/TAO 在 Windows 和 Linux 下安装 下载好软件包,把软件解压到安装目录,windows 中使用 WinRar, Linux 中使用 tar 命令. 在软件的根目录下,有一个 ACE-INSTALL.html 文件,这是官方安装文档,大家以此为 标准。 3.1 Windows 下安装 找到 ACE 解压目录,我放在 C:/ ACE_wrappers/目录, 参看:C:/ACE_wrappers/ACE-INSTALL.html#msvc 部分。 下 载
第一步:设置环境变量。 设置 ACE_ROOT= C:/ACE_wrappers, TAO_ROOT= C:/ACE_wrappers/tao; 在 Path 中添加:C:/ACE_wrappers/bin; C:/ACE_wrappers/lib; 这些在我的电脑-〉属性-〉环境变量 页面设置: 第二步:在 ACE_ROOT\ace 目录创建 config.h ,使其包含: #include "ace/config-win32.h" 第 三 步 : 打 开 工 程 文 件 , 开 始 编 译 , ACE_ROOT/ACE.dsw 或 者 ACE_ROOT/ACE.sln(vc7.1) vc71 中,可以使用批生成,可以把 Debug 和 Release 版本的文件一起生成,如图:
第四步:打开工程文件,编译 TAO,工程文件在 TAO_ROOT/TAO.dsw,或者 TAO.sln;最 好也把两个版本的文件都生成。如果有错误,可以忽略过。 有其它需求的,可以参看安装说明文档进行调整,当然需要重新编译。 在 ACE_ROOT/tests 和 TAO_ROOT/tests 目录,有 run_test.pl,可以测试 ace 和 tao 是否 安装成功。 3.2 Linux 下安装 Linux 下安装,可以在终端上安装,也可以在在 Linux 下直接安装。我为了抓图方便,我 使用 SercurCRT 安装。 第一步:文件解压到一目录,进入目录,我解压到/soft/ ACE_wrappers; 第二步:设置环境变量: export ACE_ROOT=/soft/ACE_wrappers export TAO_ROOT=$ACE_ROOT/TAO export LD_LIBRARY_PATH=$ACE_ROOT/ace: $ACE_ROOT/lib:$LD_LIBRARY_PATH 你 可 以 将 这 些 设 置 到 /etc/profile , 这 样 Linux 启 动 后 , 这 些 环 境 就 建 立 好 啦 可以通过#env 命令察看环境变量是否正确。 #cd $ACE_ROOT 第三步:创建 config.h 于$ACE_ROOT/ace/,然后编辑文件,使其包含对应操作系统的配 置文件. #vi $ACE_ROOT/ace/config.h 添加 #include "ace/config-linux.h"
分享到:
收藏