ulrich
2018-03-09 64773918c0eb346be28c5290a9186b6eaa34bcbe
commit | author | age
325783 1 # radiozentrale
U 2
d51bca 3 Eine Webanwendung zum Verwalten von Webradiosendern, Abspielgeräten und zum Spielen von Radio-Livestreams über die betreffenden Abspielgeräte.
819494 4 ## Voraussetzungen
U 5
6 Die radiozentrale erfordert zur Ausführung
7
8 + eine Java-Ablaufumgebung ([JRE](https://de.wikipedia.org/wiki/Java-Laufzeitumgebung))
9 + einen Server wie beispielsweise  [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat)
10 + eine [Derby-Datenbank](https://de.wikipedia.org/wiki/Apache_Derby)
11
d51bca 12 Eine komplette Ablaufumgebung für die radiozentrale steht zum Beispiel mit der [WebBox](/dev/Software/WebBox/WebBox) bereit.
U 13
14 Anstelle der WebBox können Java, Tomcat und Derby auch getrennt voneinander installiert und ausgeführt werden, wie es z.B. die Beiträge [Tomcat auf Linux](/dev/Tipps/Tomcat%20auf%20Ubuntu) und [Datenbankserver im Handumdrehen](/dev/Tipps/tipp-derby-network-server) beschreiben. 
819494 15
U 16 ### Bedienoberfläche
17
9af4b1 18 Die Bedienoberfläche setzt auf eine an die radiozentrale angepasste Version des [radio-ui](/gitblit/docs/web!radio-ui.git) auf.
819494 19
95695a 20 ## Webanwendung herstellen
H 21
604331 22 Zum Herstellen der Webanwendung wird ein Java Development Kit (JDK) benoetigt, wie es z.B. von [Azul](http://azul.com) oder dem [OpenJDK-Projekt](http://openjdk.java.net/) frei erhaeltlich ist. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt.
95695a 23
604331 24 Desweiteren werden die folgenden Klassenbibliotheken benoetigt
95695a 25
H 26 ```
27 Bibliothek            Datei(en)                       Ablageort lokal
28 ----------            ---------                       ---------------
29 Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME
604331 30 derbyclient ......... lib/derbyclient.jar ........... $CATALINA_BASE
95695a 31 XStream ............. xstream-1.4.7.jar ............. $JLIB
H 32 Jettison ............ jettison-1.3.3.jar ............ $JLIB
33 Transit ............. Transit.jar ................... $JLIB
34 BaseLink ............ BaseLink.jar .................. $JLIB
35 ```
604331 36 Diese sind an folgenden Orten frei erhaeltlich:
95695a 37
H 38 - [Apache Tomcat](http://tomcat.apache.org)
e0751d 39 - [Apache Derby](http://db.apache.org/derby)
95695a 40 - [XStream](https://github.com/codehaus/xstream)
H 41 - [Jettison](https://github.com/codehaus/jettison)
42 - [Transit](/gitblit/docs/Transit.git)
43 - [BaseLink](/gitblit/docs/BaseLink.git)
44
604331 45 Nach Beschaffung des JDK und der oben angegebenen Klassenbibliotheken wird der Quellcode aus diesem Git-Repository an einen frei waehlbaren lokalen Ablageort [heruntergeladen](http://uhilger.de/gitblit/zip/?r=radiozentrale.git&h=master&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `radiozentrale-master` einschliesslich des absoluten Pfades dorthin `$RZ` genannt. Ferner wird angenommen, dass die oben aufgefuehrten Klassenbibliotheken lokal an Orten abgelegt sind, deren Pfade mit den Platzhaltern `$JLIB` und `$CATALINA_HOME` gemeint sind. Anstelle der Platzhalter in den folgenden Kommandos muss also der absolute Pfad des lokalen Ablageortes eingesetzt werden.
95695a 46
604331 47 Zur Herstellung der Dateiverwaltung werden die folgenden Kommandos ausgefuehrt (Beispiel fuer Linux):
95695a 48
H 49 ```
50 cd $RZ
51 mkdir dist
52 mkdir build
53 cp -r web/* build
54 cd build/WEB-INF
55 mkdir classes
56 mkdir lib
57 cd ../..
58 cp $JLIB/* build/WEB-INF/lib
59
60 $JDK/bin/javac -classpath $JLIB/jettison-1.3.3.jar:$JLIB/Transit.jar:$JLIB/BaseLink.jar:$JLIB/xstream-1.4.7.jar:$CATALINA_HOME/lib/servlet-api.jar -d ./build/WEB-INF/classes src/java/de/uhilger/radiozentrale/api/*.java src/java/de/uhilger/radiozentrale/web/*.java src/java/de/uhilger/radiozentrale/daten/*.java
61
62 cp src/java/logging.properties build/WEB-INF/classes
63 $JDK/bin/jar -cf dist/rz.war -C build .
64 rm -r build
65 ```
66
604331 67 Das Webarchiv der Dateiverwaltung liegt anschliessend als `$RZS/dist/rz.war` fertig zum Deployment bereit.
95695a 68
H 69 ### Distributionsalternative
70
71 Das Kommando `cp $JLIB/* build/WEB-INF/lib` kann auch weggelassen werden, dann sind die Klassenbibliotheken nicht Teil des Webarchivs der Dateiverwaltung. In diesem Fall muss stattdessen der Inhalt von `$JLIB` nach `$CATALINA_BASE/lib` kopiert werden.
72
73 ### Datenbanktreiber
74
75 Die radiozentrale erfordert den Derby Client Datenbanktreiber (derbyclient.jar). Der Treiber ist nicht im Verteilpaket enthalten und sollte stattdessen im Ordner `$CATALINA_BASE/lib` von Tomcat hinterlegt sein. 
76
9af4b1 77 ### Abhaengigkeiten der Bedienoberflaeche
95695a 78
24aa36 79 Die radiozentrale erfordert zudem Bestandteile auf der Instanz von Tomcat, auf der sie ausgefuehrt werden soll, wie sie vom [radio-ui](/gitblit/docs/web!radio-ui.git) vorgegeben sind (siehe Beschreibung dort).
95695a 80
H 81 ## Lizenz
82
83 Die Radiozentrale wird zu den Bedingungen der [GNU Affero General Public License](/gitblit/doc/radiozentrale.git/master/web!agpl.txt) bereitgestellt. Die von der Radiozentrale verwendeten Komponenten unterliegen zum Teil anderen Lizenzen. Deren Nutzungsbedingungen sind an den Quellen der Komponenten angegeben.