Mercurial > dive4elements > river
diff 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 |
line wrap: on
line diff
--- a/flys-aft/README.txt Thu Feb 16 11:26:56 2012 +0000 +++ b/flys-aft/README.txt Thu Feb 16 15:03:30 2012 +0000 @@ -1,8 +1,139 @@ +FLYS-AFT: +""""""""" +Der FLYS-AFT-ETL-Prozessor aktualisiert eine FLYS-Datenbank mithilfe +eines DIPS-XML-Exports und einer AFT-Datenbank in bezug auf Pegel und +Abflusstafeln. + + +Vorbedingungen: +--------------- + + * Es existiert ein DIPS-XML-Export unter einen erreichbaren Pfad + im Dateisystem. + + * Es existiert eine AFT-Datenbank mit bekannten Credentials. + + * Es existiert eine FLYS-Datenbank mit bekannten Credentials. + +Konfiguration: +-------------- + +Zur Konfiguration wird eine Konfiguration-Datei benötigt. Diese wird +standardmässig im aktuellen Arbeitsverzeichnis uter dem Name 'config.xml' +gesucht. Der Pfad zu dieser Datei kann allerdings auch mit der +System-Property config.file gesetzt werden. + +Dies geschieht über den Kommandozeilenparameter "-Dconfig.file=/pfad/zur/config.xml" +im Start-Skript contrib/run.sh + +Die Konfigurationsdatei hat folgende Struktur: + + 1 <?xml version="1.0" encoding="UTF-8"?> + 2 <sync> + 3 <!-- If modified send messages --> + 4 <notifications> + 5 <notifaction url="http://example.com"> + 6 <caches> + 7 <cache name="my-cache"/> + 8 </caches> + 9 </notifaction> +10 </notifications> +11 <!-- The path to the DiPs file --> +12 <dips> +13 <file>/the/path/to/the/dips/file</file> +14 <repair>/the/path/to/the/xslt/to/repair/dips</repair> +15 </dips> +16 <!-- The FLYS side --> +17 <side name="flys"> +18 <db> +19 <driver>oracle.jdbc.OracleDriver</driver> +20 <user>flys</user> +21 <password>flys</password> +22 <url>jdbc:oracle:thin:@//localhost:1521/XE</url> +23 </db> +24 </side> +25 <!-- The AFT side --> +26 <side name="aft"> +27 <db> +28 <driver>oracle.jdbc.OracleDriver</driver> +29 <user>aft</user> +30 <password>aft</password> +31 <url>jdbc:oracle:thin:@//localhost:1521/XE</url> +32 </db> +33 </side> +34 </sync> + +Sie besteht aus vier Bereichen: + + * DIPS: + Zeile 13: Pfad zur XML-Datei mit dem DIPS-Export + Zeile 14: Pfad zur Reparatur-XSL-Transformation (s.u.). + Dieser ist optional. + * FLYS: + Zeile 19: JDBC-Treiber für den Zugriff auf die FLYS-Datenbank + Zeile 20: DB-Nutzername + Zeile 21: Connection-URL zur FLYS-Datenbank + + * AFT: + Zeile 28: JDBC-Treiber für den Zugriff auf die AFT-Datenbank + Zeile 29: DB-Nutzername + Zeile 30: Connection-URL zur AFT-Datenbank + + * Benachrichtigungen: + Zeile 5: URL des Web-Service, der benachrichtigt werden soll. + Zeile 6-18: Die Nachricht, die an den Web-Service verschickt werden soll. + +Funktionsweise: +--------------- + + Als erstes wird die DIPS-Datei geladen. Ist angegeben, dass + eine Reparatur-XSL-Transformation auf diese angewendet werden + soll, wird diese ebenfalls gelanden und auf das DIPS-Dokument + angewandt. + + !!! Hinweis: Unter doc/repair.xsl findet sich eine Beispiel-Transformation, + !!! Die mithilfe von doc/pegelstationen.xml für die Flüsse + !!! Saar, Mosel und Elbe die Pegelnummern der FLYS-Pegel + !!! auf die Pegelnummernvon Pegel-Online anpasst. + + Die so vorbehandelten DIPS-Daten werden mit der AFT-Datenbank + verbunden. Verbindungspunkt ist hierbei die Pegelnummer, die + in beiden Systemen gleich sein muss. + + Wurde für einzelne Pegel die Verbindung zwischen AFT und DIPS + erfolgreich hergestellt, wird versucht mit der entsprechenden + Pegelnummer auch eine Verbindung zu FLYS hergestellt. + + Werden Pegel in AFT und DIPS gefunden, die sich nicht in FLYS befinden, + werden diese in FLYS angelegt und mit den Abflusstafeln aus AFT + gefüllt. + + Werden Pegel in AFT, DIPS und FLYS gefunden, werde die Abflusstafeln + in FLYS mithilfe von AFT aktualisiert. Die Verbindung der Abflusstafeln + wird über deren Bezeichner hergestellt: + + AFT: "ABFLUSSTAFEL.ABFLUSSTAFEL_BEZ" + FLYS: "discharge_tables.decsription" + + Für alle vorhandenen Paare von AFT/FLYS-Abflusstafeln werden + die W/Q-Werte abgeglichen und FLYS entsprechend aktualisiert. + Abflusstafeln, die in FLYS noch nicht vorhanden sind, werden + in FLYS übernommen. + + Wenn es nach dem Abgleich der AFT- und FLYS-DB eine Veränderung + in FLYS gegeben hat, können an konfigurierbare Web-Dienste + Nachrichten verschickt werden, dass sich Daten geändert haben. + Die FLYS-Applikation selbst bestitzt einen Dienst, der aufgerufen + werden kann, um dessen internen Caches zu invalidieren. + Dies vermeidet Dateninkonsistenzen. Fehlermeldungen: ================ +Wärend die Synchronisationsprozesses können verschiedene Fehler +auftreten. + Allgemein: ----------