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.

http://dive4elements.wald.intevation.org