Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikibooksThe Free Textbook Project
Search

ACE+TAO Opensource Programming Notes

50% developed
From Wikibooks, open books for an open world
A Wikibookian believes this page should be split into smaller pages with a narrower subtopic.

You can help by splitting this big page into smaller ones. Please make sure to follow thenaming policy. Dividing books into smaller sections can provide more focus and allow each one to do one thing well, which benefits everyone.

You can ask for help in dividing this book in theassistance reading room.

This book addresses issues related to TAO CORBA development and integration.

First, a word or two about the nature of open source projects. The main benefit of an open source project is that you get a working product you can use, complete with community support. This support often takes the form of user's support as well as developer support. Ideally, these support avenues also include documentation. Should the open source project in question lack some of the pieces mentioned above, its utility as an open source product (particularly as the product becomes more complex) is necessarily diminished.

ACE+TAO is a wonderful product which compares well to other open source products like Orbit or Mico. It encompasses much of the current standard and comes complete with all the services you would expect (and some extras too). Unfortunately, except for the most basic services (the naming service) there are precious few documented programming examples in their tutorial. While there are several source files in the examples directory, these are sadly not written with documented code (often without even a header describing the use for the example), and certainly not included in any web page explaining their code or use.

Object Computing, Inc. freely provides theGetting Started chapter of theirTAO Developer's Guide (that can be purchased for around $20.00). This chapter is complete with code examples and walks the user through the steps needed to make a simple TAO client and server. The open-source TAO 1.4a distribution contains all examples referenced in the TAO Developer's Guide, while theFAQ contains some helpful information for beginners and experts alike.

Remedy IT provides freely theCORBA Programmers Guide.

Additionally, thecomp.soft-sys.ace andcomp.object.corba newsgroups are monitored by groups and individuals able to field questions related to both TAO and CORBA, and the TAOmailing lists are available for questions, discussion, and reporting bugs related to TAO.

The following sections should expand on the single example provided with ACE+TAO (the quoter example) with sections designed to help the user with the event service, the notification service, and other real-time issues. Those reading this page wishing to make contributions in explaining various pieces of the TAO project are encouraged to make contributions to this page.

Build Instructions

[edit |edit source]

The only caveat is that you want to be careful with the "traditional build under a UNIX environment. It treats the install target dir as a sandbox it owns, so if you have chosen /usr/local, like you would with a typical automake project, understand that if there is a problem with the build, the last thing the traditional build env will do is to delete its sandbox (/usr/local).

On the other hand, if you like a no fuss option, Ken Sedgwick over at bonsai.com has provided pre-built RPMs or use the ones provided by Remedy IT from OpenSuSE Build Service (seehttp://download.opensuse.org/repositories/devel:/libraries:/ACE:/micro). The binaries provided aren't of the debug variety, so they don't take up the shocking amount of space an installation of ACE+TAO build with -g can. The bummer seems to be that the number of compiled in features seems to be a little light. That being said, its certainly a good way to get started, and will handle 90% of your applications.

Build Instructions on Linux

[edit |edit source]

To make installing all of TAO easier use the following script. It will take a lot of time to build so using a script is a good option. The script can also be modified to compile only the necessary TAO features.

#!/bin/bashecho"Usage: sudo ./INSTALL-ACE+TAO-6.1.2.sh [INSTALL-DIR]";echo"best to put it in /opt"ACETAO=ACE+TAO-6.1.2# To change to the latest available install change the ACETAO# Tested and works with UBUNTU 10.04 and 12.04if[$#-eq1];thenINSTALL_DIR=$1;elseINSTALL_DIR=~/;fi# check if script is run as root!echo"default run sudo ./INSTALL-ACE+TAO-6.1.2.sh ~/";echo"Tested with Ubuntu-but in theory work on all linux! NJOY !";# go to $INSTALL_DIR to install ACE+TAO intocd$INSTALL_DIR;# download ACE+TAO to current directoryecho"Download: wget http://download.dre.vanderbilt.edu/previous_versions/$ACETAO.tar.gz";wgethttp://download.dre.vanderbilt.edu/previous_versions/$ACETAO.tar.gzif["$?"-ne0];thenecho"ERROR: download failed!";exit1;fi# rm possible former installationrm-rfACE_wrappers;rm-rf$ACETAO;# extract archiveecho"UNTAR: tar -xzf$ACETAO.tar.gz";tar-xzf$ACETAO.tar.gzif["$?"-ne0];thenecho"ERROR: extraction failed!";exit1;fi# set environment variablescdACE_wrappers;echo"export ACE_ROOT=$PWD">>~/.bashrcsource~/.bashrcecho'export TAO_ROOT=$ACE_ROOT/TAO'>>~/.bashrcecho'export LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH'>>~/.bashrcsource~/.bashrccd$ACE_ROOT;# create config.h fileecho"Config.h create---$ACE_ROOT/ace/config.h"echo"#include <ace/config-linux.h>">$ACE_ROOT/ace/config.hecho"">>$ACE_ROOT/ace/config.h# create platform_macros.GNU fileecho"create platform_macros.GNU for linux--$ACE_ROOT/include/makeinclude/platform_macros.GNU";echo"INSTALL_PREFIX = /usr/local">$ACE_ROOT/include/makeinclude/platform_macros.GNUecho"include \$(ACE_ROOT)/include/makeinclude/platform_linux.GNU">>$ACE_ROOT/include/makeinclude/platform_macros.GNUecho"">>$ACE_ROOT/include/makeinclude/platform_macros.GNU# compile ace kernelcd$ACE_ROOT/ace;make;if["$?"-ne0];thenecho"FAILED to compile$ACE_ROOT/ace!";exit1;fi# compile gperfcd$ACE_ROOT/apps/gperf;make;if["$?"-ne0];thenecho"FAILED to compile$ACE_ROOT/apps/gperf!";exit1;ficd$ACE_ROOT/ace;makeinstall;if["$?"-ne0];thenecho"FAILED to install$ACE_ROOT/ace!";exit1;fi# compile TAOcd$TAO_ROOT;make;if["$?"-ne0];thenecho"FAILED to compile$TAO_ROOT/TAO!";exit1;fiecho"";echo"ACE+TAO successfully installed!!!";

Things to check after install

[edit |edit source]

After completing the bulding of the TAO it is important to check if everything is done correctly, Hence run the "tests" available in ACE and TAO to check.If the system is built in Linux then the Naming service is not available by default, but the functionality is provided bytao-cosnaming just like the IDL build is given bytao-idl. you can create a softlink for NamingService with tao_cosnaming by using

ln-stao_cosnamingNaming_Service

Steps

  1. Run the tests (ACE_wrappers/tests and ACE_wrappers/TAO/tests)
  2. check all the links for the binaries (tao_idl, tao_cosnaming.. etc)
  3. Start with the examples
Present in 2 locations just running then playing around with them is a great start
  1. ACE_wrappers/TAO/DevGuideExamples/ and
  2. ACE_wrappers/TAO/Examples/

Core Development Operations

[edit |edit source]

In this section, the basic tasks which should allow the user to create most CORBA enabled applications are described.

Services

[edit |edit source]

The following sections describe the various services, their configuration, and, if not covered above, should include an example.

References

[edit |edit source]
Retrieved from "https://en.wikibooks.org/w/index.php?title=ACE%2BTAO_Opensource_Programming_Notes&oldid=4094036"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp