raimund@716: Lada-Server
raimund@716: ===========
raimund@716: Die Software bietet Funktionalität zur Erfassung und Bearbeitung
raimund@716: von Messdaten. Sowie der Planung der Messungen.
raimund@716: 
raimund@716: Weitere Informationen finden sich auf der Projektwebseite unter
raimund@716: der Adresse: https://wald.intevation.org/projects/lada/
raimund@716: 
raimund@716: Die Software entstand im Rahmen einer Software Entwicklung durch die
raimund@716: Intevation GmbH im Auftrag des Bundesamt für Strahlenschutz in den Jahren 2013
raimund@716: bis 2015.
raimund@716: 
raimund@716: Kontakt
raimund@716: -------
raimund@716: Bundesamt für Strahlenschutz
raimund@716: SW2 Notfallschutz, Zentralstelle des Bundes (ZdB)
raimund@716: Willy-Brandt-Strasse 5
raimund@716: 38226 Salzgitter
raimund@716: info@bfs.de
raimund@716: 
raimund@716: Lizenz
raimund@716: ------
raimund@716: Die Software ist unter der GNU GPL v>=3 Lizenz verfügbar.
raimund@716: Details siehe die Datei `COPYING`.
raimund@716: 
raimund@716: Quelltext
raimund@716: ---------
raimund@716: Die Quelldateien lassen sich wie folgt auschecken:
raimund@716: ```
raimund@716: hg clone https://scm.wald.intevation.org/hg/lada/lada-server
raimund@716: ```
raimund@716: 
raimund@716: Entwicklung
raimund@716: -----------
raimund@716: Für die Entwicklung wird ein JDK7 und maven3 oder höher benötigt. Sämtliche
raimund@716: Abhängigkeiten werden von dem maven build System aufgelöst.
raimund@716: 
raimund@716: Installation
raimund@716: ------------
tom@750: Die Installation des Lada-Servers erfolgt in einem Wildfly-Application-Server
tom@750: (http://wildfly.org). Dazu müssen folgende Schritte unternommen werden:
raimund@716: 
raimund@716:  $ mvn clean compile package
tom@750:  $ mv target/lada-server-$VERSION.war $JBOSS_HOME/standalone/deployments
tom@750:  $ touch $JBOSS_HOME/standalone/deployments/lada-server-$VERSION.war.dodeploy
raimund@716: 
tom@750: $JBOSS_HOME ist hierbei durch den Pfad zur Wildfly-Installation zu ersetzen,
tom@750: $VERSION durch die aktuelle Versionsbezeichnung (entsprechend der Angabe in
tom@750: pom.xml).
raimund@716: 
tom@750: Zum Aktualisieren der Anwendung genügt es, das WAR-Archiv zu aktualisieren.
tom@750: 
tom@750: Die Anwendung ist dann unter dem Pfad "/lada-server-$VERSION" erreichbar.
raimund@716: 
tom@782: Um zu garantieren, dass die von den REST-Schnittstellen ausgelieferten
tom@782: Zeitstempel sich korrekt auf UTC beziehen, muss die entsprechende System-
tom@782: Property `user.timezone=UTC` vor dem Start des Application-Servers gesetzt
tom@782: werden (siehe `wildfly/standalone.conf`).
tom@782: 
tom@784: Das PostgreSQL-Datenbank-Backend des Lada-Servers kann als Nutzer `postgres`
tom@784: (bzw. als PostgreSQL-Superuser) mit dem Skript `db_schema/setup-db.sh`
tom@784: eingerichtet werden.
tom@784: 
tom@784: Details zur Installation können den Dateien `Dockerfile` und
tom@784: `db_schema/Dockerfile` entnommen werden.
tom@784: 
raimund@716: Tests
raimund@716: -----
raimund@716: Die auf Arquillian basierenden Tests erfordern einen vollständig konfigurierten
raimund@716: und gestarteten Wildfly Application-Server, da für die Schnittstellentest eine
raimund@716: Clientanwendung simuliert wird und HTTP-Requests ausgeführt werden.
raimund@716: 
raimund@716: Das Ausführen der Tests erfolgt durch das Kommando
raimund@716: 
raimund@716:  $ mvn -Premote-test clean test
raimund@716: 
raimund@716: Dokumenation
raimund@716: ------------
raimund@716: Die Entwicklerdokumentation (Javadoc) kann mit dem folgenden Befehl im
raimund@716: Verzeichnis der Serveranwendung erzeugt werden:
raimund@716: 
raimund@716:  $ mvn javadoc:javadoc
raimund@716: 
raimund@716: Der Ordner 'target' enthält dann die Dokumentation im HTML-Format in dem
raimund@716: Verzeichnis 'site/apidocs'.