
hans@938: \section{Overview of the GNV-Server}
hans@938: 
hans@938: \subsection{Tasks and Components of the GNV-Server}
hans@938: 
hans@938: The GNV-server is a middleware-component and consists of two functional
hans@938: components:
hans@938: \begin{enumerate}
hans@938:     \item artifact-server -- providing access to the database and
hans@938:     managing the users' workflow to the GNV-WebClient
hans@938:     \item mapserver -- providing user-generated maps. Mapserver is
hans@938:     controlled by the artifact-server.
hans@938: \end{enumerate}
hans@938: 
hans@947: %% TODO includegraphics
hans@947: 
hans@938: The central concept of the artifact-server is to model the workflow of
hans@938: users by the following steps:
hans@938: \begin{enumerate}
hans@938:     \item selection of data (parameterization)
hans@938:     \item processing of result sets (interpolation, clipping)
hans@938:     \item exporting processed result sets (charts, statistics, raw data)
hans@938: \end{enumerate}
hans@938: 
hans@938: Within the artifact-server, these steps are supported by the following
hans@938: core components for the entire GNV-system.  The naming refers to
hans@938: components used in the configuration. In order to simplify a first
hans@938: orientation in the configuration and this manual, the XML-tags/words in
hans@938: the central configuration file at {\tt conf/conf.xml} are used. They are
hans@938: marked in {\tt typewriter} style:
hans@938: 
hans@938: \begin{itemize}
hans@938:    \item {\tt geo-backend} -- access to the database backend
hans@938:    \item {\tt rest-server} -- providing a RESTful-Interface with a
hans@938:    XML-based protocol to serve the expert information systems (FIS) with
hans@938:    their products to different clients, e.g. GNV WebClient
hans@938:    \item {\tt factories/*}, {\tt artifacts/*} --  managing the steps and
hans@938:    operations of users' workflow for all expert information
hans@938:    systems (FIS)
hans@938:    \item {\tt gnv} -- processing pipeline providing results of the
hans@938:    products with the following subtasks:
hans@938:      \begin{itemize}
hans@938:        \item processing of result sets like interpolation, clipping 
hans@938:        \item visualization of charts and maps
hans@938:        \item exporting selected raw data
hans@938:      \end{itemize}
hans@938:    \item {\tt mapserver} -- managing the Web Map Service for creating maps
hans@938:    dynamically
hans@938: \end{itemize}
hans@938: 
hans@938: Each component has a specific configuration for its functionality and
hans@938: subsystems. 
hans@938: 
hans@938: \subsection{Internal Structure of the GNV-Server}
hans@938: 
hans@938: \subsubsection{Internal Structure of Artifact-Server}
hans@938: Per default the artifact-server can be found at {\tt
hans@938: /opt/artifact-server}\footnote{Information about installation and
hans@938: operation can be found in the admin-manual.}. The internal directory
hans@938: structure of the artifact-server looks like this:
hans@938: 
hans@938: %% tree /opt -d -L1
hans@938: \begin{lstlisting}
hans@938: artifact-server
hans@938: |-- artifactdb # storing artifacts in a database
hans@938: |-- bin # binaries including all libraries
hans@938: |-- cache # storage for cached data (e.g. result sets)
hans@938: |-- conf # central configuration of artifact-server
hans@938: |-- install # files for system integration (just for setup)
hans@938: |-- mapfiles # generated configurations for map-server (done by
hans@938:              # map-generator)
hans@938: `-- shapefiles # raw data for map generating (done by map-generator)
hans@938: \end{lstlisting}
hans@938: 
hans@938: 
hans@938: \subsubsection{Internal Structure of Mapserver}
hans@938: Per default the mapserver can be found at {\tt
hans@938: /usr/lib/cgi-bin}.\footnote{Information about installation and
hans@938: operation can be found in the admin-manual.} The internal structure of
hans@938: the mapserver looks like this:
hans@938: 
hans@938: %% tree /usr/lib/
hans@938: \begin{lstlisting}
hans@938: cgi-bin/
hans@938: |-- gnv-wms # wrapper pointing to the configuration (default:
hans@938:             # artifact-server/mapfiles/mapfile.map), invoked by
hans@938:             # webserver
hans@938: `-- mapserv-gp # binary of mapserver, invoked by wrapper
hans@938: \end{lstlisting}




