Mercurial > dive4elements > river
comparison flys-aft/README.txt @ 4111:b7059aca60a8
Added doc about function and configuration.
flys-aft/trunk@4067 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 16 Feb 2012 15:03:30 +0000 |
parents | 06891562e633 |
children | 23677476fd09 |
comparison
equal
deleted
inserted
replaced
4110:06891562e633 | 4111:b7059aca60a8 |
---|---|
1 | 1 FLYS-AFT: |
2 """"""""" | |
3 | |
4 Der FLYS-AFT-ETL-Prozessor aktualisiert eine FLYS-Datenbank mithilfe | |
5 eines DIPS-XML-Exports und einer AFT-Datenbank in bezug auf Pegel und | |
6 Abflusstafeln. | |
7 | |
8 | |
9 Vorbedingungen: | |
10 --------------- | |
11 | |
12 * Es existiert ein DIPS-XML-Export unter einen erreichbaren Pfad | |
13 im Dateisystem. | |
14 | |
15 * Es existiert eine AFT-Datenbank mit bekannten Credentials. | |
16 | |
17 * Es existiert eine FLYS-Datenbank mit bekannten Credentials. | |
18 | |
19 Konfiguration: | |
20 -------------- | |
21 | |
22 Zur Konfiguration wird eine Konfiguration-Datei benötigt. Diese wird | |
23 standardmässig im aktuellen Arbeitsverzeichnis uter dem Name 'config.xml' | |
24 gesucht. Der Pfad zu dieser Datei kann allerdings auch mit der | |
25 System-Property config.file gesetzt werden. | |
26 | |
27 Dies geschieht über den Kommandozeilenparameter "-Dconfig.file=/pfad/zur/config.xml" | |
28 im Start-Skript contrib/run.sh | |
29 | |
30 Die Konfigurationsdatei hat folgende Struktur: | |
31 | |
32 1 <?xml version="1.0" encoding="UTF-8"?> | |
33 2 <sync> | |
34 3 <!-- If modified send messages --> | |
35 4 <notifications> | |
36 5 <notifaction url="http://example.com"> | |
37 6 <caches> | |
38 7 <cache name="my-cache"/> | |
39 8 </caches> | |
40 9 </notifaction> | |
41 10 </notifications> | |
42 11 <!-- The path to the DiPs file --> | |
43 12 <dips> | |
44 13 <file>/the/path/to/the/dips/file</file> | |
45 14 <repair>/the/path/to/the/xslt/to/repair/dips</repair> | |
46 15 </dips> | |
47 16 <!-- The FLYS side --> | |
48 17 <side name="flys"> | |
49 18 <db> | |
50 19 <driver>oracle.jdbc.OracleDriver</driver> | |
51 20 <user>flys</user> | |
52 21 <password>flys</password> | |
53 22 <url>jdbc:oracle:thin:@//localhost:1521/XE</url> | |
54 23 </db> | |
55 24 </side> | |
56 25 <!-- The AFT side --> | |
57 26 <side name="aft"> | |
58 27 <db> | |
59 28 <driver>oracle.jdbc.OracleDriver</driver> | |
60 29 <user>aft</user> | |
61 30 <password>aft</password> | |
62 31 <url>jdbc:oracle:thin:@//localhost:1521/XE</url> | |
63 32 </db> | |
64 33 </side> | |
65 34 </sync> | |
66 | |
67 Sie besteht aus vier Bereichen: | |
68 | |
69 * DIPS: | |
70 Zeile 13: Pfad zur XML-Datei mit dem DIPS-Export | |
71 Zeile 14: Pfad zur Reparatur-XSL-Transformation (s.u.). | |
72 Dieser ist optional. | |
73 * FLYS: | |
74 Zeile 19: JDBC-Treiber für den Zugriff auf die FLYS-Datenbank | |
75 Zeile 20: DB-Nutzername | |
76 Zeile 21: Connection-URL zur FLYS-Datenbank | |
77 | |
78 * AFT: | |
79 Zeile 28: JDBC-Treiber für den Zugriff auf die AFT-Datenbank | |
80 Zeile 29: DB-Nutzername | |
81 Zeile 30: Connection-URL zur AFT-Datenbank | |
82 | |
83 * Benachrichtigungen: | |
84 Zeile 5: URL des Web-Service, der benachrichtigt werden soll. | |
85 Zeile 6-18: Die Nachricht, die an den Web-Service verschickt werden soll. | |
86 | |
87 Funktionsweise: | |
88 --------------- | |
89 | |
90 Als erstes wird die DIPS-Datei geladen. Ist angegeben, dass | |
91 eine Reparatur-XSL-Transformation auf diese angewendet werden | |
92 soll, wird diese ebenfalls gelanden und auf das DIPS-Dokument | |
93 angewandt. | |
94 | |
95 !!! Hinweis: Unter doc/repair.xsl findet sich eine Beispiel-Transformation, | |
96 !!! Die mithilfe von doc/pegelstationen.xml für die Flüsse | |
97 !!! Saar, Mosel und Elbe die Pegelnummern der FLYS-Pegel | |
98 !!! auf die Pegelnummernvon Pegel-Online anpasst. | |
99 | |
100 Die so vorbehandelten DIPS-Daten werden mit der AFT-Datenbank | |
101 verbunden. Verbindungspunkt ist hierbei die Pegelnummer, die | |
102 in beiden Systemen gleich sein muss. | |
103 | |
104 Wurde für einzelne Pegel die Verbindung zwischen AFT und DIPS | |
105 erfolgreich hergestellt, wird versucht mit der entsprechenden | |
106 Pegelnummer auch eine Verbindung zu FLYS hergestellt. | |
107 | |
108 Werden Pegel in AFT und DIPS gefunden, die sich nicht in FLYS befinden, | |
109 werden diese in FLYS angelegt und mit den Abflusstafeln aus AFT | |
110 gefüllt. | |
111 | |
112 Werden Pegel in AFT, DIPS und FLYS gefunden, werde die Abflusstafeln | |
113 in FLYS mithilfe von AFT aktualisiert. Die Verbindung der Abflusstafeln | |
114 wird über deren Bezeichner hergestellt: | |
115 | |
116 AFT: "ABFLUSSTAFEL.ABFLUSSTAFEL_BEZ" | |
117 FLYS: "discharge_tables.decsription" | |
118 | |
119 Für alle vorhandenen Paare von AFT/FLYS-Abflusstafeln werden | |
120 die W/Q-Werte abgeglichen und FLYS entsprechend aktualisiert. | |
121 Abflusstafeln, die in FLYS noch nicht vorhanden sind, werden | |
122 in FLYS übernommen. | |
123 | |
124 Wenn es nach dem Abgleich der AFT- und FLYS-DB eine Veränderung | |
125 in FLYS gegeben hat, können an konfigurierbare Web-Dienste | |
126 Nachrichten verschickt werden, dass sich Daten geändert haben. | |
127 Die FLYS-Applikation selbst bestitzt einen Dienst, der aufgerufen | |
128 werden kann, um dessen internen Caches zu invalidieren. | |
129 Dies vermeidet Dateninkonsistenzen. | |
2 | 130 |
3 Fehlermeldungen: | 131 Fehlermeldungen: |
4 ================ | 132 ================ |
133 | |
134 Wärend die Synchronisationsprozesses können verschiedene Fehler | |
135 auftreten. | |
5 | 136 |
6 Allgemein: | 137 Allgemein: |
7 ---------- | 138 ---------- |
8 | 139 |
9 SYNC: syncing failed. | 140 SYNC: syncing failed. |