diff options
Diffstat (limited to 'CIAO/tutorials/Quoter/Simple/01.html')
-rw-r--r-- | CIAO/tutorials/Quoter/Simple/01.html | 385 |
1 files changed, 0 insertions, 385 deletions
diff --git a/CIAO/tutorials/Quoter/Simple/01.html b/CIAO/tutorials/Quoter/Simple/01.html deleted file mode 100644 index 298b7231c1d..00000000000 --- a/CIAO/tutorials/Quoter/Simple/01.html +++ /dev/null @@ -1,385 +0,0 @@ -<!-- --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <title>Getting Started</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - <style type="text/css"> -/*<![CDATA[*/ - <!-- - @font-face { - font-family:Tahoma; - panose-1:2 11 6 4 3 5 4 4 2 4; - } - h3 { - font-size:13.5pt; - font-family:"Times New Roman"; - font-weight:bold; - } - a:link, span.MsoHyperlink { - color:#000FFF; - text-decoration:underline; - text-underline:single; - } - a:visited, span.MsoHyperlinkFollowed { - color:#FF0F0F; - text-decoration:underline; - text-underline:single; - } - p { - font-size:12.0pt; - font-family:"Times New Roman"; - } - address { - font-size:12.0pt; - font-family:"Times New Roman"; - font-style:italic; - } - code { - font-family:"Courier New"; - } - p.MsoAcetate, li.MsoAcetate, div.MsoAcetate { - font-size:8.0pt; - font-family:Tahoma; - } - div.Section1 { - page:Section1 - } - --> - /*]]>*/ - </style><!-- 01.html,v 1.3 2006/02/10 14:34:35 mxiong Exp --> - - <style type="text/css"> -/*<![CDATA[*/ - body { - background-color: #FFFFFF; - } - :link { color: #000FFF } - :visited { color: #FF0F0F } - address.c50 {LINE-HEIGHT: 150%} - address.c49 {LINE-HEIGHT:150%} - div.c48 {LINE-HEIGHT: 150%; TEXT-ALIGN: center; text-align: center} - hr.c47 {text-align: center} - p.c46 {LINE-HEIGHT: 150%; TEXT-ALIGN: center; text-align: center} - p.c45 {LINE-HEIGHT:150%} - p.c44 {MARGIN-LEFT:1.75in;TEXT-INDENT:-0.75in;LINE-HEIGHT:150%;} - p.c43 {MARGIN-LEFT:0.5in;TEXT-INDENT:1.25in;LINE-HEIGHT:150%} - span.c42 {COLOR:black; FONT-FAMILY:'Courier New'} - span.c41 {LINE-HEIGHT:150%;FONT-FAMILY:'Times New Roman';} - p.c40 {LINE-HEIGHT: 150%; TEXT-INDENT: 0.5in; font-weight: bold} - p.c39 {MARGIN-LEFT: 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 150%;} - span.c38 {COLOR: black; FONT-FAMILY: 'Courier New';} - span.c37 {FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 150%} - span.c36 {COLOR: black; FONT-FAMILY: Symbol;} - span.c35 {FONT: 7pt 'Times New Roman'} - p.c34 {MARGIN-LEFT:1.5in;LINE-HEIGHT:150%} - p.c33 {MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%} - span.c32 {COLOR: black;} - p.c31 {MARGIN-LEFT:1.25in;LINE-HEIGHT:150%} - span.c30 {font-family: Times New Roman} - span.c29 {font-family: Courier; font-size: 80%} - p.c28 {MARGIN-LEFT: 0.5in; TEXT-INDENT: 1.25in; LINE-HEIGHT: 150%} - span.c27 {COLOR: black; FONT-FAMILY: 'Courier New'} - p.c26 {MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;} - span.c25 {FONT-SIZE: 10pt;COLOR: black;LINE-HEIGHT: 150%} - span.c24 {COLOR:black;LINE-HEIGHT:150%;FONT-FAMILY:'Times New Roman';} - span.c23 {FONT-SIZE:10pt; COLOR:black; LINE-HEIGHT:150%} - p.c22 {TEXT-INDENT:0.5in;LINE-HEIGHT:150%} - p.c21 {MARGIN-LEFT:0.75in;LINE-HEIGHT:150%} - span.c20 {COLOR:black;} - p.c19 {MARGIN-LEFT:0.5in;TEXT-INDENT:0.5in;LINE-HEIGHT:150%} - span.c18 {COLOR:black; FONT-FAMILY:'Courier New';} - p.c17 {MARGIN-LEFT:0.75in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;} - span.c16 {FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:150%} - span.c15 {COLOR:black;FONT-FAMILY:Symbol;} - p.c14 {LINE-HEIGHT: 150%; font-weight: bold} - h3.c13 {MARGIN:0in 0in 0pt 1.5in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%;} - span.c12 {FONT-WEIGHT:normal; FONT-SIZE:12pt; COLOR:black; LINE-HEIGHT:150%;} - h3.c11 {MARGIN:0in 0in 0pt 0.75in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%;} - span.c10 {FONT-WEIGHT:normal; FONT-SIZE:12pt; COLOR:black; LINE-HEIGHT:150%; FONT-FAMILY:Symbol;} - h3.c9 {MARGIN:0in 0in 0pt; TEXT-INDENT:0.5in; LINE-HEIGHT:150%} - span.c8 {FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%} - p.c7 {MARGIN:0in 0in 0pt 0.75in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%;} - span.c6 {FONT-FAMILY:Symbol;} - span.c5 {FONT:7pt 'Times New Roman'} - span.c4 {FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;} - h3.c3 {MARGIN:0in 0in 0pt; LINE-HEIGHT:150%} - h3.c2 {LINE-HEIGHT: 150%; MARGIN: 0in 0in 0pt; TEXT-ALIGN: center; text-align: center} - span.c1 {COLOR:black} - /*]]>*/ - </style> -</head> - -<body lang="EN-US" xml:lang="EN-US"> - <h3 class="Section1 c2"><span class='c1'>Step 1: Define your - interfaces and component types</span></h3> - - <h3 class="Section1 c2"><span class='c1'><img width="447" height= - "350" id="_x0000_i1025" src="images/step1.jpg" name= - "_x0000_i1025" /></span></h3> - - <h3 class="Section1 c3"><span class='c1'> </span></h3> - - <h3 class="Section1 c3"><span class='c4'>Please make sure to read - the following article to under the Stock Quoter system - architecture before delving further into the - tutorial:</span></h3> - - <p class="Section1 c7"><span class='c6'>·<span class= - "c5"> </span></span> <a href= - "http://www.cuj.com/documents/s=9152/cujexp0404vinoski/">The - CORBA Component Model, Part 2: Defining Components with the IDL - 3.x Types</a></p> - - <h3 class="Section1 c3"><span class='c4'> </span></h3> - - <h3 class="Section1 c3"><span class='c8'>Directory - Structure:</span></h3> - - <h3 class="Section1 c3"><span class='c4'>The tutorial relies on - the following directory structure. Create Quoter and all its - subdirectories as shown below. We will describe the purpose of - these directories later in the tutorial.</span></h3> - - <h3 class="Section1 c9"><span class='c4'>Quoter</span></h3> - - <h3 class="Section1 c3"><span class= - 'c4'> - |---- descriptors</span></h3> - - <h3 class="Section1 c3"><span class= - 'c4'> - |---- Stock_Base</span></h3> - - <h3 class="Section1 c3"><span class= - 'c4'> - |---- Distributor</span></h3> - - <h3 class="Section1 c3"><span class= - 'c4'> - |---- Broker</span></h3> - - <h3 class="Section1 c3"><span class='c4'> </span></h3> - - <h3 class="Section1 c3"><span class= - 'c8'>Preliminaries:</span></h3> - - <h3 class="Section1 c11"><span class='c10'>·<span class= - "c5"> </span></span> - <span class='c4'>We use the Make Project Creator (MPC) throughout - this tutorial. Understanding MPC will aid you in understanding - this tutorial. For more information on MPC please look at the - following:</span></h3> - - <h3 class="Section1 c13"><span class='c12'>1.<span class= - "c5"> </span></span> <span class='c4'>MPC - <a href="../../../../../../MPC/docs/html/MakeProjectCreator.html">Chapter</a>.</span></h3> - - <h3 class="Section1 c13"><span class='c12'>2.<span class= - "c5"> </span></span> <span class= - 'c4'>$ACE_ROOT/MPC/<a href="../../../../../../MPC/docs/README">README</a></span></h3> - - <h3 class="Section1 c11"><span class='c10'>·<span class= - "c5"> </span></span> - <span class='c4'>In the beginning of this tutorial, we're using a - perl scripts which creates the MPC files for you. This script is - called <span class="c42">generate_component_mpc.pl</span> - and is located in $CIAO_ROOT/bin.</span></h3> - - <h3 class="Section1 c11"><span class='c10'>·<span class= - "c5"> </span></span> - <span class='c4'>When running this script, please use the full - path to the CIAO bin directory instead of $CIAO_ROOT/bin on Linux or - %CIAO_ROOT%\bin on Windows.</span></h3> - - <h3 class="Section1 c11"><span class='c10'>·<span class= - "c5"> </span></span> - <span class='c4'>To understand the meaning of different parameters - passed to <span class="c42">generate_component_mpc.pl</span> - <span class='c4'>type the following command:<br/> - <span class="c42">generate_component_mpc.pl -h</span><br /> - <br /></span></span></h3> - - <p class='c14'><span class='c1'>Interface Design:</span></p> - - <p class='c17'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c1'>In the <i>Quoter/Stock_Base</i> sub-directory, - place an idl file</span> <code><i><span class= - 'c16'>Stock_Base.idl</span></i></code> <span class='c1'>that you - could copy from <a href="Stock_Base/Stock_Base.idl">here</a> . - This file defines the interfaces and events that will be used by - both StockDistributor and StockBroker components. We put together - the common interface definitions so the base library can be - shared by both components, reducing the footprint of "real" - components.</span></p> - - <p class='c17'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c1'>Next, we need to create a Make Project Creator - (MPC) file to generate the make files for us. From the - <i>Quoter/Stock_Base</i> subdirectory, type the following - command:</span></p> - - <p class='c19'><span class="c18">generate_component_mpc.pl - –n –e –l ../lib –o ../lib Stock_Base</span></p> - - <p class='c21'><span class='c20'>The command above will generate - a <i>Stock_Base.mpc</i> file that contains two projects - <i>Stock_Base_stub</i> and <i>Stock_Base_skel</i> for the Stub - and Servant code respectively. Since we're using events in this - tutorial, we need to add –e to the command line. - The MPC file should look like <a href="Stock_Base/Stock_Base.mpc"> - this</a>.<br/> - Mind that "-o" (library output) and "-l" (path to libraries) are added. - This is done to make the compilation of this example easier and at - runtime, all deliveralbes are in one directory. Beware that you need to - add this directory to your system path when running the executables - (see page 4). - </span></p> - - <p class='c14'><span class='c1'>Component Design:</span></p> - - <p class='c22'><b><span class= - 'c1'>Distributor:</span></b><span class= - 'c1'> </span></p> - - <p class='c26'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c1'>In the</span> <code><i><span class= - 'c23'>Quoter/Distributor</span></i></code> <code><span class= - "c24">sub-directory</span></code><span class='c1'>, place an idl - file</span> <code><i><span class= - 'c25'>StockDistributor.idl</span></i></code> <span class= - 'c1'>that looks like <a href= - "Distributor/StockDistributor.idl">this</a>. This file defines - the StockDistributor component interfaces.</span></p> - - <p class='c26'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c1'>Next, we need to create a Make Project Creator - (MPC) file to generate the make files for us. From the - <i>Quoter/Distributor</i> <span> </span>sub-directory, type - the following command</span></p> - - <p class="c28"><span class="c27">generate_component_mpc.pl - –e –p Stock_Base –c StockDistributorDriver - –o ../lib –l ../lib StockDistributor</span></p> - - <p class='c31'><span class='c20'>The command above takes a few - optional parameters. The -p option indicates that the <span class= - "c29">StockDistributor</span> component has a dependency on - <span class="c29">Stock_Base</span>, the -c option - causes the script to generate MPC files for a simple driver - program. In this tutorial, we use a simple driver program to - demonstrate how a non-CCM applications can interact with - component applications.</span></span></p> - - <p class="c33"><span class="c32">The command above will generate - a <i>StockDistributor.mpc</i> file that contains several - projects that will build the Stub, Servant, and Executor code - respectively. - <p class="c39">· - <span class="c32">Next we write a simple driver program - (<code><i><span class= - "c37">StockDistributorDriver.cpp)</span></i></code> that will - control the <span class="c29">StockDistributor</span> component. - The simple driver program controls when the <span class= - "c29">StockDistributor</span> component publishes stock quotes, - the rates of publication, and when publication of stock quotes - stops. The simple driver program should look - like </span><span class="c32"><a href= - "Distributor/StockDistributorDriver.cpp">this</a>.</span></span></p> - - <p class='c26'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c20'>The generated</span> <span class='c20'>MPC file - should look like <a href= - "Distributor/StockDistributor.mpc">this</a>. - </span></p> - - <p class='c40'><span class='c1'>Broker:</span></p> - - <p class='c26'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c1'>In the</span> <code><i><span class= - 'c23'>Quoter/Broker</span></i></code> <span class= - 'c1'><code><span class="c41">sub-directory,</span></code> place - an idl file</span> <code><i><span class= - 'c16'>StockBroker.id</span></i></code><code><span class= - 'c23'>l</span></code> <span class='c1'>that looks like <a href= - "Broker/StockBroker.idl">this</a>. This file defines the - StockBroker component interface.</span></p> - - <p class='c26'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c1'>Next, we need to create a Make Project Creator - (MPC) file to generate the make files for us. From the - <i>Quoter/Broker</i> sub-directory, type the following - command:</span></p> - - <p class='c43'><span class="c42"><span class="c27"> - generate_component_mpc.pl –e –p Stock_Base - –c StockBrokerDriver –o ../lib –l ../lib - StockBroker</span></span></p> - - <p class='c31'><span class='c20'><span class="c32">The command - above takes a few optional parameter. The -p option states that - the <span class="c29">StockBroker</span> component has a - dependency on <span class="c29">Stock_Base</span><span class="c32">, the - -c option causes the script to generates make files for a simple - driver program. In this tutorial, we use a simple driver program - to demonstrate how a non-CCM applications can interact with - Components.</span></span></span></span></p> - - <p class="c33"><span class="c32"><span class="c32">The command - above will generate a <i>StockBroker.mpc</i> file that - contains several projects that will build the Stub, Servant, - and Executor code respectively. - - <p class="c39"><span class="c36">·<span class= - "c35"> </span></span> - <span class="c32">Next we write a simple driver program - (<code><i><span class= - "c37">StockBrokerDriver.cpp)</span></i></code> that would control - the <span class="c29">StockBroker</span> component. The simple - driver program controls what stocks the <span class= - "c29">StockBroker</span> component subscribes to. The simple - driver program should look like </span><span class= - "c32"><a href="Broker/StockBrokerDriver.cpp">this</a>.</span></p> - - <p class='c44'><span class='c15'>·<span class= - "c5"> </span></span> - <span class='c20'><span class="c32">The generated</span> - <span class="c32">MPC file should look like</span> <a href= - "Broker/StockBroker.mpc">this</a>.</span></p> - - <p class='c46'><span class='c1'><a href= - "index.html">Previous</a> - <a href="02.html">Next</a></span></p> - - <div class='c48'> - <hr class="c47" size="2" width="100%" /> - </div> - - <div class="Section1"> - <address class='c49'> - <span class='c1'><a href= - "mailto:ming.xiong@vanderbilt.edu">Ming - Xiong<br /></a></span> <a href= - "mailto:abdullah.sowayan@lmco.com">Abdullah Sowayan</a> - </address> - - <address class="c50"> - - </address> - - <address class="c50"> - - </address> - </div> -</body> -</html> |