Mercurial > dive4elements > gnv-client
comparison doc/config-manual/model_of_transitions.tex @ 911:11ebb00c8bf4
Added overview of the subject-sepcific configuration and its file structure
doc/trunk@1045 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Hans Plum <hans.plum@intevation.de> |
---|---|
date | Tue, 04 May 2010 06:51:36 +0000 |
parents | 329a510ba5a2 |
children | 3ca45a124985 |
comparison
equal
deleted
inserted
replaced
910:329a510ba5a2 | 911:11ebb00c8bf4 |
---|---|
1 \section{Model of transitions} | 1 \section{Model of transitions} |
2 \subsection{Relation between System and Configuration} | 2 \subsection{Overview of Subject-Specific Configuration: From FIS, Products, States, |
3 | 3 Transitions and SQL-statements} |
4 The Generic Viewer provides several FIS. | 4 |
5 | 5 The GNV-system provides several expert information systems (FIS). Within a FIS |
6 In the Configurationdocument each FIS is provided by an ArtifactFactory. | 6 users can select products for analysing and visualising different |
7 subject-specific issues like timeseries diagrams and different types of | |
8 profiles. In order to generate these products, different kind of data out of the | |
9 dataware house is needed. | |
10 | |
11 The configuration is mainly split up into two steps\footnote{Except for | |
12 integrating the MapViewer. There is a third step necessary by configuring | |
13 additional tables in the datawarehouse}: | |
14 \begin{enumerate} | |
15 \item FIS and their according products (Metainformation) | |
16 \item products with their states, transitions, outputs and SQL-statements | |
17 (Implementation) | |
18 \end{enumerate} | |
19 | |
20 %% TODO: Add a screenshoot of the GNV WebClient marking GUI elements for FIS, | |
21 %% product, states and transitions | |
22 | |
23 Main entry point for the configuration is the file \verb+ conf/conf.xml + | |
24 defining the list of FIS and the according products based on the different | |
25 datamodels in the datawarehouse. The provided datamodels are: | |
26 | |
27 \begin{enumerate} | |
28 \item ESRI ArcMarineBSH with following subtypes | |
29 \begin{enumerate} | |
30 \item TimeSeriesPoints | |
31 \item MeshFeatures | |
32 \item Measurements/InstantaneousPoints | |
33 \end{enumerate} | |
34 \item ESRI ArcS57, | |
35 %% FIXME: Is Marine Feature a subtype of S57 or a model of its own? | |
36 %% \item Marine Features | |
37 \item CONTIS | |
38 \end{enumerate} | |
39 | |
40 Each product configuration consists of a datamodel specific configuration | |
41 organized in a product specific folder in \verb+ conf/products+\footnote{The | |
42 special case of a "Horizontales Schnittprofil" is configured in | |
43 \verb+conf/horizontalprofile/conf_mesh_cross.xml+}. The directory layout looks | |
44 like this: | |
45 | |
46 \begin{verbatim} | |
47 products/ | |
48 |-- horizontalcrosssection | |
49 | `-- conf_mesh.xml | |
50 |-- horizontalprofile | |
51 | |-- conf_instantaneouspoint.xml | |
52 | |-- conf_mesh.xml | |
53 | `-- conf_mesh_cross.xml | |
54 |-- layer | |
55 | `-- conf.xml | |
56 |-- timeseries | |
57 | |-- conf_mesh.xml | |
58 | |-- conf_timeseriespoint.xml | |
59 | `-- timegap_definition.xml | |
60 |-- verticalcrosssection | |
61 | `-- conf_mesh.xml | |
62 `-- verticalprofile | |
63 |-- conf_instantaneouspoint.xml | |
64 |-- conf_mesh.xml | |
65 `-- conf_timeseriespoint.xml | |
66 \end{verbatim} | |
67 | |
68 The subtypes of the ArcMarineBSH based datamodel are configured in the files below: | |
69 \begin{itemize} | |
70 \item TimeSeriesPoints: conf\_timeseriespoint.xml | |
71 \item Mesh: conf\_mesh.xml | |
72 \item InstantaneousPoints: conf\_instantaneouspoint.xml | |
73 \end{itemize} | |
74 | |
75 Within each of these files, the steps for gathering the values for the | |
76 parameterisation are configured by defining states, transitions and outputs | |
77 (c.f. \ref{ref:config-a-product}). The defintion of states, transitions and | |
78 outputs reference the actual SQL-statements via identifier. The SQL-statements | |
79 are gathered in the file \verb+conf/queries.txt+. | |
80 | |
81 | |
82 \subsection{General principle of model of transitions} | |
83 | |
84 It is possible to configure the GNV in many ways. | |
85 It is possible to add or remove FIS, add or remove Products from a FIS or | |
86 to manipulate the steps which must be gone until a product can be create | |
87 a diagramm or generate an CSV-Export. | |
88 | |
89 The configuration of the provided FIS are devided in three main parts. | |
90 | |
91 \begin{itemize} | |
92 \item Configuration of the list of FIS via Artifactfactories | |
93 \item Configuration of main Artifacts which will be instantiated if an | |
94 Artifactfactory was called. | |
95 \item Configuration of the different Artifacts which provides Products which can be | |
96 served by the FIS. | |
97 \end{itemize} | |
98 | |
99 \subsubsection{Configuration of a FIS} | |
100 The Point of Enty into the system is to configure an Artifactfactory. | |
101 Each Artifactfactory represents one FIS. | |
102 It is possible to configure several Artifactfactories. | |
103 The Artifactfactories will be configured in the Section | |
104 /artifact-database/artifact-factories of the Configurationfile. | |
105 | |
106 \begin{lstlisting} | |
107 <artifact-factory name='fis\_marnet' | |
108 description='Factory to create an artifact to be used with the FIS NEWFISNAME' | |
109 ttl='3600000' | |
110 artifact='de.intevation.artifactdatabase.ProxyArtifact'> | |
111 de.intevation.gnv.artifacts.GNVProductArtifactFactory | |
112 </artifact-factory> | |
113 \end{lstlisting} | |
114 | |
115 At this moment the following Attributes of an Artifact-Factory are configurabel. | |
116 \begin{itemize} | |
117 \item name: The Name of the Artifact. Must be unique in one Artifact-Server | |
118 \item description: Short description which Job the Artifactfactory has to do. | |
119 \item ttl: The Time to Live: The Time using Milliseconds an Artifact, created using this | |
120 factory, can live without any Userinteraction. | |
121 \item artifact: The Name of the Class of the Artifact which should be created. | |
122 \end{itemize} | |
123 | |
124 // TODO: List of Artifacts which currently used in this Configuration? | |
7 | 125 |
8 The next listing shows the dependencies between the FIS and the Name | 126 The next listing shows the dependencies between the FIS and the Name |
9 of the Artifactfactory which belongs to it. | 127 of the Artifactfactory which belongs to it. |
10 | 128 |
11 \begin{itemize} | 129 \begin{itemize} |
28 \item Nauthis: fis\_nauthis | 146 \item Nauthis: fis\_nauthis |
29 \item Contis: fis\_contis | 147 \item Contis: fis\_contis |
30 \item Marine Features: fis\_marinefeatures | 148 \item Marine Features: fis\_marinefeatures |
31 \end{itemize} | 149 \end{itemize} |
32 | 150 |
33 The Products of each FIS can be configured in the Artifact which belongs to | |
34 each Artifactfactory. | |
35 | |
36 There are three main groups where the different FIS can be devided to: | |
37 | |
38 \begin{itemize} | |
39 \item TimeSeriesPoints | |
40 \item Mesh | |
41 \item InstantaneousPoints | |
42 \end{itemize} | |
43 | |
44 Each product is configured in separate Files stored in subfolders of the | |
45 Folder conf/products. | |
46 | |
47 The Configurationfiles are put into separate foldes sorted by the kind of | |
48 Product they provide: | |
49 | |
50 \begin{itemize} | |
51 \item horizontalcrosssection | |
52 \item horizontalprofile | |
53 \item layer | |
54 \item timeseries | |
55 \item verticalcrosssection | |
56 \item verticalprofile | |
57 \end{itemize} | |
58 | |
59 The Name of the File links to the main group of an FIS it belongs to. | |
60 | |
61 \begin{itemize} | |
62 \item TimeSeriesPoints: conf\_timeseriespoint.xml | |
63 \item Mesh: conf\_mesh.xml | |
64 \item InstantaneousPoints: conf\_instantaneouspoint.xml | |
65 \end{itemize} | |
66 | |
67 The Configuration of each Product contains the different Steps which are | |
68 required to generate the output of an Product. | |
69 | |
70 \subsection{General principle of model of transitions} | |
71 - FIS -> product -> transitions in data model | |
72 | |
73 It is possible to configure the GNV in many ways. | |
74 It is possible to add or remove FIS, add or remove Products from a FIS or | |
75 to manipulate the steps which must be gone until a product can be create | |
76 a diagramm or generate an CSV-Export. | |
77 | |
78 The configuration of the provided FIS are devided in three main parts. | |
79 | |
80 \begin{itemize} | |
81 \item Configuration of the Artifactfactories which represents the FIS. | |
82 \item Configuration of main Artifacts which will be instantiated if an | |
83 Artifactfactory was called. | |
84 \item Configuration of the different Artifacts which provides Products which can be | |
85 served by the FIS. | |
86 \end{itemize} | |
87 | |
88 \subsubsection{Configuration of a FIS} | |
89 The Point of Enty into the system is to configure an Artifactfactory. | |
90 Each Artifactfactory represents one FIS. | |
91 It is possible to configure several Artifactfactories. | |
92 The Artifactfactories will be configured in the Section | |
93 /artifact-database/artifact-factories of the Configurationfile. | |
94 | |
95 \begin{lstlisting} | |
96 <artifact-factory name='fis\_marnet' | |
97 description='Factory to create an artifact to be used with the FIS NEWFISNAME' | |
98 ttl='3600000' | |
99 artifact='de.intevation.artifactdatabase.ProxyArtifact'> | |
100 de.intevation.gnv.artifacts.GNVProductArtifactFactory | |
101 </artifact-factory> | |
102 \end{lstlisting} | |
103 | |
104 At this moment the following Attributes of an Artifact-Factory are configurabel. | |
105 \begin{itemize} | |
106 \item name: The Name of the Artifact. Must be unique in one Artifact-Server | |
107 \item description: Short description which Job the Artifactfactory has to do. | |
108 \item ttl: The Time to Live: The Time using Milliseconds an Artifact, created using this | |
109 factory, can live without any Userinteraction. | |
110 \item artifact: The Name of the Class of the Artifact which should be created. | |
111 \end{itemize} | |
112 | |
113 // TODO: List of Artifacts which currently used in this Configuration? | |
114 | |
115 \subsubsection{Configuration of main Artifact} | 151 \subsubsection{Configuration of main Artifact} |
116 For each Artifact-Factory it is necessary to configure one Artifact which will be | 152 For each Artifact-Factory it is necessary to configure one Artifact which will be |
117 created using the Factory. | 153 created using the Factory. |
118 This Artifact is the representation of the specific FIS. | 154 This Artifact is the representation of the specific FIS. |
119 It contains the Configuration which products will be serverd for ths FIS. | 155 It contains the Configuration which products will be serverd for ths FIS. |
168 The Parameter sourceid contains the key to identify the FIS in the | 204 The Parameter sourceid contains the key to identify the FIS in the |
169 DataWareHouse. (MEDIAN.SOURCEINFO) | 205 DataWareHouse. (MEDIAN.SOURCEINFO) |
170 | 206 |
171 | 207 |
172 \subsubsection{Configuration of an Product} | 208 \subsubsection{Configuration of an Product} |
209 \label{ref:config-a-product} | |
173 The Products of the different FIS are also modeled as Artifact-Objects. | 210 The Products of the different FIS are also modeled as Artifact-Objects. |
174 The different Products which are currently avaliable are stored in separate | 211 The different Products which are currently avaliable are stored in separate |
175 Files in the Folder project. | 212 Files in the Folder project. |
176 | 213 |
177 In those Files the Workflow of each product is configured. Each step which is | 214 In those Files the Workflow of each product is configured. Each step which is |