summaryrefslogtreecommitdiff
path: root/TAO/docs/orbsvcs.html
blob: c0e84f6bd04afb133edadfee060b5d67f97837b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<html>
  <!-- $Id$ -->
  <head>
    <title>TAO Services Documentation</title>
  </head>

  <body>
   <H1>TAO Services Directory Hierarchy</H1>

    <P>The file and directory organization for TAO services can be
      confusing at first glance (and even on subsequent ones to be
      honest),
      so we felt like some rationale and explanation of the directory
      hierarchy was needed.</P>

    <P>For general sanity all TAO services files are located under 
      <CODE>$TAO_ROOT/orbsvcs</CODE>.</P>

    <P>It is expected that clients use more
      than one service at the same time
      (in fact some of the services already do, for instance the
      <B>Event Service</B> uses the <B>Naming Service</B> and the
      <B>Scheduling Service</B>);
      for this reason all the services stubs are grouped in one
      library;
      this library is located in
      <CODE>$TAO_ROOT/orbsvcs/orbsvcs</CODE>.
      Usually the include path is only <CODE>$TAO_ROOT/orbsvcs</CODE>,
      so files are included like in:</P>

<P><CODE>
#include "orbsvcs/CosNamingC.h"
</CODE></P>

    <P>To simplify the IDL generation the skeletons are also on the
      library,
      this is not a problem for client programs and most services need
      to link the library anyway
      (since they use other services.)
      Further,
      the current support for collocation requires that clients link
      the skeleton files also.
    </P>

    <P>In the future we intend to use ACE Service Configurator to give
    the users control over servant collocation.
    As a first cut all the service implementations are included in the
    orbsvcs library <CODE>$TAO_ROOT/orbsvcs/orbsvcs</CODE>,
    since there are serveral services and each one require several
    files we have given a different directory to each service;
    for instance <B>Naming Service</B> is in
    <CODE>$TAO_ROOT/orbsvcs/orbsvcs/Naming</CODE>.
    This structure could also simplify a future split into several
    libraries (if it proves necessary).</P>

    <P>Please note that in this revision we still have a separate
    binary for each service,
    once the complete support for ACE Service Configurator is included
    we will probably have a single server,
    much like in <CODE>$ACE_ROOT/netsvcs</CODE>.</P>

    <P>Finally some test are located in
      <CODE>$TAO_ROOT/orbsvcs/tests</CODE>,
      since most tests require several files each one has its own
      directory.</P>

  <H1>SEE ALSO</H1>

  <P>You may you to check TAO
     <A HREF="releasenotes/index.html">release notes</A>
     for up to date information on status, changes, future work, etc.</P>

    <hr>

    <address><a href="mailto:coryan@macarena.cs.wustl.edu">Carlos O'Ryan</a></address>
  </body>
</html>