changeset 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
files flys-aft/ChangeLog flys-aft/README.txt
diffstat 2 files changed, 136 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/flys-aft/ChangeLog	Thu Feb 16 11:26:56 2012 +0000
+++ b/flys-aft/ChangeLog	Thu Feb 16 15:03:30 2012 +0000
@@ -1,3 +1,8 @@
+2012-02-16	Sascha L. Teichmann	<sascha.teichmann@inteavtion.de>
+
+	* README.txt: Describe configuration and function. TODO:
+	  Write about running.
+
 2012-02-16	Sascha L. Teichmann	<sascha.teichmann@inteavtion.de>
 
 	* README.txt: New. Contains error messages by now. TODO: Write
--- 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:
 ----------
 

http://dive4elements.wald.intevation.org