
hans@938: \subsection{Configuring and Running the Artifact-Server}
hans@938: 
hans@938: This section describes the possibilities to configure the
hans@938: artifact-server. The following properties do affect mostly technical
hans@938: funtions of the server.
hans@938: 
hans@938: This section describes the possibilities in a kind of a reference
hans@938: manual. Information for the process of installing and integration can be
hans@938: found in the Administration Manual of the GNV-System (FIXME reference).
hans@938: The following elements are covered here:
hans@938: 
hans@938: \begin{lstlisting}
hans@938: artifact-database
hans@938: |-- geo-backend # pointing to database connection, SQL configuration
hans@938: |-- rest-server # port, listen addresses
hans@938: |-- database # internal database storing artifacts
hans@938: |-- ehcache # pointing to cache configuration
hans@938: |-- cleaner # time of cleanups FIXME
hans@938: `-- export-secret # signing project files
hans@938: \end{lstlisting}
hans@938: 
hans@938: \paragraph*{geo-backend}
hans@938: {\em Function}: The geo-backend encapsulates the logic for accessing the database
hans@938: backend. At this time, the use of ESRI ArcSDE 9.3.1 is supported.
hans@938: 
hans@938: At least, the following options for configuring the element {\tt
hans@938: geo-backend} are required:
hans@938: 
hans@938: \begin{itemize}
hans@938:     \item {\tt backend-configuration}: path to the file defining the
hans@938:     connection properties to the database backend, preconfigured to {\tt
hans@938:     arcsdeconnection.properties}. Normally, just the
hans@938:     connection parameters have to de adapted. Further information can be
hans@938:     found in the file itself.
hans@938: 
hans@938:     \item {\tt query-configuration}: path to the file listing a SQL
hans@938:     statements, preconfigured to {\tt queries.txt}. Further information can be
hans@938:     found at FIXME.
hans@938: \end{itemize}
hans@938: 
hans@938: 
hans@938: \paragraph*{rest-server}
hans@938: {\em Function}: The REST-Server needs a HTTP binding configured via:
hans@938: 
hans@938: \begin{itemize}
hans@938:     \item {\tt port}: port the server should listen on. Preconfigured on
hans@938:     8181.
hans@938:     \item {\tt listen}: for security reason the accessibility can be
hans@938:     limited. The parameter needs an IP-address or a hostname.
hans@938:     Accessibility to the entire network can be done by
hans@938:     removing/commenting out of the element.
hans@938: \end{itemize}
hans@938: 
hans@938: 
hans@938: \paragraph*{database}
hans@938: {\em Function}: The internal database of the system for storing
hans@938: artifacts representing a parameterisation of a client session. So fare,
hans@938: the filebased database H2 is supported. Connecting to other backends can
hans@938: be provided.
hans@938: 
hans@938: \begin{itemize}
hans@938:     \item {\tt user}: database user for connecting to the
hans@938:     artifact-database. In new installations "SA" is used.
hans@938:     \item {\tt password}: password of the database user for
hans@938:     authentification.
hans@938:     \item {\tt url}: Connection URL to the database-files.
hans@938:     In the preconfiguration, they are written to
hans@938:     \verb| ${artifacts.config.dir}/../artifactdb|
hans@938: \end{itemize}
hans@938: 
hans@938: 
hans@938: \paragraph*{ehcache}
hans@938: {\em Function}: The cache for storing result sets of the database. The
hans@938: configuration in {\tt ehcache.xml} should not been adapted. Changing has
hans@938: at least consequence to the system requirements.
hans@938: 
hans@938: \begin{itemize}
hans@938:     \item {\tt configuration}: the path to the configuration file.
hans@938:     Preconfigured: \verb+${artifacts.config.dir}/ehcache.xml+
hans@938: \end{itemize}
hans@938: 
hans@938: 
hans@938: \paragraph*{cleaner}
hans@938: {\em Function}: Process for cleaning up the artifact-database. Artifacts
hans@938: have a time-to-life. Died artifacts need to be removed. Changing the
hans@938: interval has consequences to the size of the database.
hans@938: 
hans@938: \begin{itemize}
hans@938:     \item {\tt sleep-time}: Time interval in milliseconds between 2
hans@938:     checks. Preconfigured: 60000 (1 minute)
hans@938: \end{itemize}
hans@938: 
hans@938: 
hans@938: \paragraph*{export-secret}
hans@938: {\em Function}: Signature for signing project files that were created by
hans@938: the artifact-server instance. Before reading a projectfile the server
hans@938: checks the file against that signature/check sum.
hans@938: 
hans@938: {\bf Be aware, changing the signature of updating the source code of
hans@938: artifacts will prevent of using existing project-files.}
hans@938: 
hans@938: For setting up the secret, c.f. the tips in the admin manual.




