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@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}