<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>1999</year><year>2009</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      The contents of this file are subject to the Erlang Public License,
      Version 1.1, (the "License"); you may not use this file except in
      compliance with the License. You should have received a copy of the
      Erlang Public License along with this software. If not, it can be
      retrieved online at http://www.erlang.org/.
    
      Software distributed under the License is distributed on an "AS IS"
      basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
      the License for the specific language governing rights and limitations
      under the License.
    
    </legalnotice>

    <title>The Orber Application</title>
    <prepared></prepared>
    <docno></docno>
    <date>1998-05-05</date>
    <rev>B</rev>
    <file>ch_contents.xml</file>
  </header>

  <section>
    <title>Content Overview</title>
    <p>The Orber documentation is divided into three sections:
      </p>
    <list type="bulleted">
      <item>
        <p>PART ONE - The User's Guide  
                    <br></br>
Description of the Orber Application including IDL-to-Erlang
          language mapping, services and a small tutorial demonstrating 
          the development of a simple service.</p>
      </item>
      <item>
        <p>PART TWO - Release Notes
                    <br></br>
A concise history of Orber.</p>
      </item>
      <item>
        <p>PART THREE - The Reference Manual
                    <br></br>
 A quick reference guide, including a
          brief description, to all the functions available in Orber.</p>
      </item>
    </list>
  </section>

  <section>
    <title>Brief Description of the User's Guide</title>
    <p>The User's Guide  contains the following parts:</p>
    <list type="bulleted">
      <item>
        <p>ORB kernel and IIOP support</p>
      </item>
      <item>
        <p>Interface Repository</p>
      </item>
      <item>
        <p>IDL to Erlang mapping</p>
      </item>
      <item>
        <p>CosNaming Service</p>
      </item>
      <item>
        <p>Resolving initial reference from Java or C++</p>
      </item>
      <item>
        <p>Tutorial - creating a simple service </p>
      </item>
      <item>
        <p>CORBA Exceptions </p>
      </item>
      <item>
        <p>Interceptors</p>
      </item>
      <item>
        <p>OrberWeb</p>
      </item>
      <item>
        <p>Debugging
          </p>
      </item>
    </list>

    <section>
      <title>ORB Kernel and IIOP Support</title>
      <p>The ORB kernel which has IIOP support will allow the creation
        of persistent server objects in Erlang. These objects can also
        be accessed via Erlang and Java environments. For the moment a
        Java enabled ORB is needed to generate Java from IDL to use
        Java server objects (this has been tested using OrbixWeb).</p>
    </section>

    <section>
      <title>Interface Repository</title>
      <p>The IFR is an interface repository used for some type-checking
        when coding/decoding IIOP. The IFR is capable of  storing all
        interfaces and declarations of OMG IDL.</p>
    </section>

    <section>
      <title>IDL to Erlang Mapping</title>
      <p>The OMG IDL mapping for Erlang, which is necessary to access the
        functionality of Orber, is described, The mapping structure is 
        included as the basic and the constructed OMG IDL types 
        references, invocations and Erlang characteristics. An example is
        also provided.</p>
    </section>

    <section>
      <title>CosNaming Service</title>
      <p>Orber contains a CosNaming compliant service.</p>
    </section>

    <section>
      <title>Resolving Initial References from Java or C++</title>
      <p>A couple of classes are added to Orber to simplify initial 
        reference access from Java or C++.
        </p>
      <p><em>Resolving initial reference from Java</em>        <br></br>
 A class with only one method which returns an <term id="IOR"><termdef>Interoperable Object Reference</termdef></term>on the
        external string format to the INIT object (see "Interoperable
        Naming Service" specification).</p>
      <p><em>Resolving initial reference from C++</em>        <br></br>

        A class (and header file) with only one method which returns
        an IOR on the external  string format to the INIT object (see
        "Interoperable Naming Service" specification).</p>
    </section>

    <section>
      <title>Orber Stub/Skeleton</title>
      <p>An example which describes the API and behavior of Orber stubs and skeletons. </p>
    </section>

    <section>
      <title>CORBA Exceptions</title>
      <p>A listing of all system exceptions supported by Orber and how one should
        handle them. This chapter also describe how to generate user defined 
        exceptions.</p>
    </section>

    <section>
      <title>Interceptors</title>
      <p>Descibes how to implement and activate interceptors.</p>
    </section>

    <section>
      <title>OrberWeb</title>
      <p>Offers the possibility to administrate and supervise Orber via a GUI.</p>
    </section>

    <section>
      <title>Debugging</title>
      <p>Describes how to use different tools when debugging and/or developing
        new applications using Orber. Also includes a FAQ, which deal with
        the most common mistakes when using Orber.
        </p>
    </section>
  </section>
</chapter>

