summaryrefslogtreecommitdiff
path: root/CIAO/docs/tutorials/Quoter/Simple/README.html
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/docs/tutorials/Quoter/Simple/README.html')
-rw-r--r--CIAO/docs/tutorials/Quoter/Simple/README.html172
1 files changed, 172 insertions, 0 deletions
diff --git a/CIAO/docs/tutorials/Quoter/Simple/README.html b/CIAO/docs/tutorials/Quoter/Simple/README.html
new file mode 100644
index 00000000000..85e38e81150
--- /dev/null
+++ b/CIAO/docs/tutorials/Quoter/Simple/README.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<!--//$Id$ -->
+</head>
+<body>
+<b><font size="5">Quoter example README</font></b>
+<p>To download the source codes of this example please refer to the SVN
+repository at <code>$CIAO_ROOT\docs\tutorials\Quoter\Simple</code>
+</p>
+<hr>
+<h2>Example Description</h2>
+<div align="left">
+<font face="Times New Roman" size="3">The <b>StockDistributor</b>
+component would be monitoring a real-time stock database. When the
+values of particular stocks change, it pushes a CCM <b>eventtype</b>
+that contains the stock's name via a CCM event source to the
+corresponding CCM </font>
+</div>
+<div align="left">
+<font face="Times New Roman" size="3">event sink implemented by one or
+more <b>StockBroker</b> components. If these components are interested
+in the stock they can obtain more information about it by invoking a
+request/response operation via their CCM receptacle on a CCM facet
+exported by the <b>StockDistributor</b> component. The diagram of this
+example is shown in fig 1.</font>
+</div>
+<p align="center"><img alt="" src="images/quoter.jpg"
+ style="width: 362px; height: 212px;"><br>
+figure 1<br>
+</p>
+<h2 align="justify"><span style="font-weight: 400;"><font size="3"></font></span><span
+ style="font-weight: 400;"><font size="3">This example
+is based on a series of&nbsp;</font> <a
+ href="http://www.cs.wustl.edu/%7Eschmidt/report-doc.html"><font
+ size="3">CORBA Component Model</font></a><font size="3"> columns
+written by <a href="http://www.cs.wustl.edu/%7Eschmidt/">Douglas
+Schmidt</a> and <a href="http://www.iona.com/hyplan/vinoski/">Steve
+Vinoski</a>, and has been consistently used as a example for <a
+ href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a>. Please
+refer to <a
+ href="../../../../../docs/tutorials/Quoter/index.html">TAO
+online tutorial</a> for details. <br>
+</font></span></h2>
+<h2>The files you will find</h2>
+<li>The interfaces, data types and exceptions shared by the components
+of
+this
+application are specified in the <a href="Stock_Base/Stock_Base.idl"><code>Stock_Base.idl</code></a>.<code></code>The
+lib
+generated
+from Stock_Base.idl is linked to all the components of this example.</li>
+<li>&nbsp;mpc files for each of the components are available in the
+components
+directories. We use the&nbsp; <a
+ href="http://downloads.ociweb.com/MPC/MakeProjectCreator.pdf">MPC</a>
+to
+generate makefiles and Visual C++ project/solutions files for all <a
+ href="http://www.cs.wustl.edu/%7Eschmidt/ACE.html">ACE</a>, <a
+ href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a> and <a
+ href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">CIAO</a>
+libraries. </li>
+<li>&nbsp;idl and cidl files for each component are placed in
+components directory.
+</li>
+<li>&nbsp;The <code>_exec.h</code> and <code>_exec.cpp</code> files
+are the actual
+implementation of the components.</li>
+<hr>
+<h3><font size="5">Make</font></h3>
+Navigate to&nbsp; the directory <code>$CIAO_ROOT/docs/tutorials/Quoter/Simple</code>
+and do:<br>
+<code>$ACE_ROOT/bin/mwc.pl -type gnuace</code> (use different -type option
+if you are using a
+compiler/IDE other than GNU make) <br>
+For example, use <code>%ACE_ROOT%/bin/mwc.pl -type vc71</code> if you
+are using
+Visual C++ 7.1 IDE.<br>
+<br>
+Then build/make the generated project/make files. Correct errors in the
+source codes if necessary.<br>
+<hr>
+<h3><font size="5">Assemble</font></h3>
+<p>Now we can step forward to build the assembly. </p>
+<li>In the descriptor subdirectory, you'll find a XML descriptor file
+that
+describes your <em>deployment plan</em>, the
+flattened_deploymentplan.cdp. This file declaratively specifies how the
+component assembly is
+constructed.
+Specifically, it defines the component types, component instances,
+component
+connections and implementation artifact descriptions. <br>
+</li>
+<dd>
+&nbsp;<li>Please make sure that the Modified_Deployment.xsd and XMI.xsd
+files
+are in the Display/descriptors directory. The former file could be
+found in $CIAO_ROOT/docs/schema
+directory. <br>
+ <br>
+Note: Creating the deployment plan descriptor is a tedious and
+error-prone job,
+you can download <a href="http://www.dre.vanderbilt.edu/cosmic">CoSMIC</a>
+to
+assist you in this step. Please refer to <a
+ href="http://www.dre.vanderbilt.edu/%7Emxiong/tutorial">this tutorial</a>
+to see how you can use CoSMIC to automatically generate the descriptor
+file.
+ <p></p>
+ <hr></li>
+</dd>
+<h2>Running the program </h2>
+&gt;From different shells in&nbsp;<code>$CIAO_ROOT/docs/tutorials/Quoter/Simple/</code><code>descriptors/</code>
+directory:
+<ul>
+ <li>Start NodeManagers (NodeDameon) by running runNodeDaemon.pl </li>
+ <li>Start the execution manager
+$CIAO_ROOT/DAnCE/ExecutionManager/Execution_Manager -o ior -i
+Stock.dat&nbsp; </li>
+</ul>
+<p>The Stock.dat file describes the deployment daemons CIAO's
+Execution_Manager
+will contact to instantiate ComponentServer's, home's, and component
+instances.
+Each line specify the name of a installation "destination" and the
+corresponding corbaloc IOR for the CIAO_Daemon.</p>
+<ul type="square">
+ <li><em>NOTE</em>: As one can see, we use the "Stock.dat" file to
+instruct the Execution_Manager how to find the endpoint of each
+individual NodeManager (i.e., Node Daemon) where component(s) will be
+deployed, so this is non-standard. We plan to use Naming Service to do
+this in the future. </li>
+</ul>
+<ul>
+ <li> Start the plan_launcher by running
+$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p
+flattened_deploymentplan.cdp -k file://ior</li>
+ <li>By now the components should be successfully deployed. You may
+run the driver program to start the application. Open a new shell, keep
+in the /Quoter/descriptors directory,&nbsp; and try the following
+commands, see what happens in the component server<br>
+ </li>
+</ul>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start the distributor
+service at a frequency of&nbsp; 3 hertz:<br>
+&nbsp; &nbsp; &nbsp;&nbsp; <span style="color: rgb(51, 102, 255);">../Distributor/Distributor.exe
+-o&nbsp;&nbsp; -r3</span><br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use the broker program to
+subscribe to MSFT stock<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
+ style="color: rgb(51, 102, 255);">../Broker/Broker.exe -s MSFT</span><br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Subscribe to IBM stock<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <span
+ style="color: rgb(51, 102, 255);">../Broker/Broker.exe -s IBM</span><br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Unsubscribe to MSFT stock<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
+ style="color: rgb(51, 102, 255);">../Broker/Broker -u MSFT</span><br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Turn off the distribution
+service:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
+ style="color: rgb(51, 102, 255);">../Distributor/Distributor -f </span><br>
+<br>
+Please contact mxiong@dre.vanderbilt.edu if you have any questions.
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
+</body>
+</html>