<!--
* 
*
*  ProLinga-Run
*
*  Copyright (C) 2002-2008 Xobas Software.
*  All rights reserved.
*  
*  This file is part of ProLinga-Run.
*
*  ProLinga-Run is free software: you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation, either version 3 of the License, or
*  (at your option) any later version.
*
*  ProLinga-Run is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with ProLinga-Run.  If not, see <http://www.gnu.org/licenses/>.
*
*  More information is available at the following addresses:
*
*  Website     : http://www.prolinga.org
*
*  Email       : prolinga-list@prolinga.org
*
*
-->
<refentry id="prolinga-run-prolinga">
  <refmeta>
    <refentrytitle>prolinga</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>prolinga</refname>
    <refpurpose>ProLinga script to start the ProLinga run-time binary
      <ulink type="http" url="prolinga-run-prolingarun.html">prolingarun</ulink>.
    </refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>prolinga</command>
	<arg><replaceable>passes on all arguments as documented for prolingarun.</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1 id="prolinga_introduction">
    <title>Introduction</title>
    <para>
      The <parameter>prolinga</parameter> is a small wrapper script to enable any
      environment preparations before starting up the binary 
      <ulink type="http" url="prolinga-run-prolingarun.html">prolingarun</ulink>.
      Environment settings as
      shared library paths can be set before starting the application. All arguments are passed on 
      to prolingarun without any syntax or contents checking.
    </para>
  </refsect1>
  <refsect1 id="prolinga_options">
    <title>Options</title>
    <para>Any options can be set and all options are passed on to the binary prolingarun.</para>
  </refsect1>
</refentry>

<refentry id="prolinga-run-prolingarun">
  <refmeta>
    <refentrytitle>prolingarun</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>prolingarun</refname>
    <refpurpose>ProLinga run-time environment.</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>prolingarun</command>
	<arg><option>--application <replaceable>application_name</replaceable></option></arg>
	<arg><option>--user <replaceable>user_name</replaceable></option></arg>
	<arg><option>--noconnectiondialog</option></arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>prolingarun</command>
	<arg><option>--version</option></arg>
  </cmdsynopsis>
    <cmdsynopsis>
      <command>prolingarun</command>
	<arg><option>--config <replaceable>file_name</replaceable></option></arg>
  </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1 id="prolingarun_introduction">
    <title>Introduction</title>
    <para>
      The <parameter>prolingarun</parameter> program is a 4GL interpreter and 
      contacts the prolinga network 
      environment to access various data sources.
      prolingarun will get the information as hostname and TCP portnumber of the
      run environment from the configuration file <parameter>etc/prolingaruncfg.xml
      </parameter>.
    </para>
  </refsect1>
  <refsect1 id="prolingarun_options">
    <title>Options</title>
    <variablelist>
      <varlistentry>
	<term><option>--application</option></term>
	<listitem>
	  <simpara>
	    Name of 4GL application to start.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--user</option></term>
	<listitem>
	  <simpara>
	    Name of user to logon as.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--noconnectiondialog</option></term>
	<listitem>
	  <simpara>
	    Suppress the connection dialog box. (Not applicable for stand-alone configurations.)
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--version</option></term>
	<listitem>
	  <simpara>
	    Displays version information.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--config filename</option></term>
	<listitem>
	  <simpara>
	   Configuration file to be used. (Optional)
	  </simpara>
	</listitem>
      </varlistentry>

    </variablelist>
  </refsect1>
</refentry>

<refentry id="prolinga-run-prolingarund">
  <refmeta>
    <refentrytitle>prolingarund</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>prolingarund</refname>
    <refpurpose>Run Web Service daemon.</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>prolingarund</command>
  </cmdsynopsis>
  <cmdsynopsis>
      <command>prolingarund</command>
      <arg choice='plain'><option>--version</option></arg>
  </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1 id="prolingarund-introduction">
    <title>Introduction</title>
    <para>
      The prolingarund program can be called from the command line without any arguments.
      The program will then initialize and run as a daemon in memory waiting for Run
      Command requests to arrive. Since the process
      is a fork, the prompt will return. Projects like
      ProLinga-Web can
      now be used to send requests to this Web Service. prolingarund will get the information 
      as hostname and TCP portnumber where the service needs to bind to 
      from the configuration file etc/prolingaruncfg.xml.</para>

      <para>An example automatic Run startup script for Linux is available as 
      file <parameter>prolingarund.init</parameter>. This file can be copied and renamed to
      <parameter>/etc/rc.d/init.d/prolingarund</parameter> and initialized using /sbin/chkconfig.
      Make sure all paths are correct in this file.
      The Web Service can then be started as <parameter>/etc/rc.d/init.d/prolingarund
      start</parameter>. To stop the 
      argument <parameter>stop</parameter> can be used.
      You need to have root access for this. The binary rpm installation will perform
      all these steps automatically.</para>

  </refsect1>
  <refsect1 id="prolingarund_options">
    <title>Options</title>
    <variablelist>
      <varlistentry>
	<term><option></option></term>
	<listitem>
	  <simpara>
	  </simpara>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
</refentry>

<refentry id="prolinga-run-config_file">
  <refmeta>
    <refentrytitle>Configuration File</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>
                                                                                                                                             
  <refnamediv>
    <refname>Configuration File</refname>
    <refpurpose>File containing settings for the run environment.</refpurpose>
  </refnamediv>

  <refsect1 id="prolinga-run-conf_file_introduction">
    <title>Introduction</title>
    <para>
      ProLinga-Run comes with a configuration file where various service endpoints
      can be entered. 
      Default installation of ProLinga-Run will put the default service file 
      <parameter>prolingaruncfg.xml</parameter> in the etc directory.</para>

      <para>A default configuration file looks like this:</para>

<programlisting><![CDATA[
<?xml version="1.0" encoding="utf-8" ?>

<!-- ProLinga Configuration File -->
<!-- Copyright (C) 2002-2008 The ProLinga Team. -->
<!-- All Rights Reserved. -->
                                                                                                                                             
<ProLinga>
  <Configuration>
    <Service Name="Runner">
      <!-- Settings for prolingarunclient. -->
      <Client>
        <ClientHost>m3</ClientHost>
        <ClientPort>8005</ClientPort>
        <ClientCompressionLevel>6</ClientCompressionLevel>
      </Client>

      <!-- Settings for prolingarund. -->
      <Server>
        <ServerHost>m3</ServerHost>
        <ServerPort>8005</ServerPort>
        <NumberOfThreads>3</NumberOfThreads>
        <LogFile>/tmp/run.log</LogFile>
        <LogLevel>5</LogLevel>
        <ServerCompressionLevel>6</ServerCompressionLevel>
        <RepositoryHost>m3</RepositoryHost>
        <RepositoryPort>8001</RepositoryPort>
        <ValidateHost>m3</ValidateHost>
        <ValidatePort>8003</ValidatePort>
        <DataHost>m3</DataHost>
        <DataPort>8007</DataPort>
        <ExternalScreenPainter>glade-2</ExternalScreenPainter>
      </Server>
    </Service>
                                                                                                                                             
    <!-- Foreign Services. -->
                                                                                                                                             
  </Configuration>
</ProLinga>
]]></programlisting>

      <para>
        There is a section for the client and server part available.
        The setup of this configuration file is such that it can be combined with
        configuration files from other ProLinga projects.
      </para>

  </refsect1>

  <refsect1 id="prolinga-run-conf_client_options">
    <title>Configuration Client Options</title>
    <variablelist>
      <varlistentry>
	<term><option>ClientHost</option></term>
	<listitem>
	  <simpara>
	    The name or IP number of the host where to connect to, to present
            a Web Command.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>ClientPort</option></term>
	<listitem>
	  <simpara>
	    The TCP port of the host where to connect to, to present
            a Web Command.
	  </simpara>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="prolinga-run-conf_server_options">
    <title>Configuration Server Options</title>
    <variablelist>
      <varlistentry>
	<term><option>ServerHost</option></term>
	<listitem>
	  <simpara>
	    The name or IP number to bind to when starting <parameter>prolingarund
            </parameter> as a Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>ServerPort</option></term>
	<listitem>
	  <simpara>
	    The port number to bind to when starting <parameter>prolingarund
            </parameter> as a Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>NumberOfThreads</option></term>
	<listitem>
	  <simpara>
	    Number of threads when starting prolingarepd  as a Web Service. This means 
            that up to NumberOfThreads  requests can be served simultanously, 
            before they are queued.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>LogFile</option></term>
	<listitem>
	  <simpara>
	     Name of the file where logging and debug info will be written to.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>LogLevel</option></term>
	<listitem>
	  <simpara>
	      The level of logging. 0=No Logging, 2= +Messages/Errors, 
              3= +Soap request/response info.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>ServerCompressionLevel</option></term>
	<listitem>
	  <simpara>
              Level of compression to be used on the Web Command XML document 
              before it is returned over the network to the Run caller/client. 
              0=No Compression, 9=Best Compression.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>RepositoryHost</option></term>
	<listitem>
	  <simpara>
	    The name or IP number the Repository Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>RepositoryPort</option></term>
	<listitem>
	  <simpara>
	    The port number the Repository Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>ValidateHost</option></term>
	<listitem>
	  <simpara>
	    The name or IP number the Validate Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>ValidatePort</option></term>
	<listitem>
	  <simpara>
	    The port number the Validate Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>DataHost</option></term>
	<listitem>
	  <simpara>
	    The name or IP number the Data Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>DataPort</option></term>
	<listitem>
	  <simpara>
	    The port number the Data Web Service.
	  </simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>ExternalScreenPainter</option></term>
	<listitem>
	  <simpara>
	    The path and filename of the external screen painter to be used.
	  </simpara>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
</refentry>

