Ulrich
2018-02-27 12e8f372d2255cb254eb874e1c39fa62eef894d9
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.
325783 4
U 5 ## Im Bau
6
819494 7 Diese Anwendung ist noch im Bau. Der neueste lauffähige Stand erscheint demnächst als Prototyp und wird dann von hier aus per Verknüpfung zugänglich.
U 8
9 ## Voraussetzungen
10
11 Die radiozentrale erfordert zur Ausführung
12
13 + eine Java-Ablaufumgebung ([JRE](https://de.wikipedia.org/wiki/Java-Laufzeitumgebung))
14 + einen Server wie beispielsweise  [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat)
15 + eine [Derby-Datenbank](https://de.wikipedia.org/wiki/Apache_Derby)
16
d51bca 17 Eine komplette Ablaufumgebung für die radiozentrale steht zum Beispiel mit der [WebBox](/dev/Software/WebBox/WebBox) bereit.
U 18
19 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 20
U 21 ### Bedienoberfläche
22
23 Die Bedienoberfläche setzt auf eine für die Schnittstelle der radiozentrale angepasste Version des [radio-ui](/gitblit/docs/web!radio-ui.git) auf.
24
95695a 25 ## Webanwendung herstellen
H 26
604331 27 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 28
604331 29 Desweiteren werden die folgenden Klassenbibliotheken benoetigt
95695a 30
H 31 ```
32 Bibliothek            Datei(en)                       Ablageort lokal
33 ----------            ---------                       ---------------
34 Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME
604331 35 derbyclient ......... lib/derbyclient.jar ........... $CATALINA_BASE
95695a 36 XStream ............. xstream-1.4.7.jar ............. $JLIB
H 37 Jettison ............ jettison-1.3.3.jar ............ $JLIB
38 Transit ............. Transit.jar ................... $JLIB
39 BaseLink ............ BaseLink.jar .................. $JLIB
40 ```
604331 41 Diese sind an folgenden Orten frei erhaeltlich:
95695a 42
H 43 - [Apache Tomcat](http://tomcat.apache.org)
e0751d 44 - [Apache Derby](http://db.apache.org/derby)
95695a 45 - [XStream](https://github.com/codehaus/xstream)
H 46 - [Jettison](https://github.com/codehaus/jettison)
47 - [Transit](/gitblit/docs/Transit.git)
48 - [BaseLink](/gitblit/docs/BaseLink.git)
49
604331 50 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 51
604331 52 Zur Herstellung der Dateiverwaltung werden die folgenden Kommandos ausgefuehrt (Beispiel fuer Linux):
95695a 53
H 54 ```
55 cd $RZ
56 mkdir dist
57 mkdir build
58 cp -r web/* build
59 cd build/WEB-INF
60 mkdir classes
61 mkdir lib
62 cd ../..
63 cp $JLIB/* build/WEB-INF/lib
64
65 $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
66
67 cp src/java/logging.properties build/WEB-INF/classes
68 $JDK/bin/jar -cf dist/rz.war -C build .
69 rm -r build
70 ```
71
604331 72 Das Webarchiv der Dateiverwaltung liegt anschliessend als `$RZS/dist/rz.war` fertig zum Deployment bereit.
95695a 73
H 74 ### Distributionsalternative
75
76 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.
77
78 ### Datenbanktreiber
79
80 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. 
81
e0751d 82 ## Abhaengigkeiten
95695a 83
24aa36 84 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 85
H 86 ## Lizenz
87
88 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.