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. |
c00150
|
4 |
|
U |
5 |
### Bedienoberfläche |
|
6 |
|
|
7 |
Die Bedienoberfläche setzt auf eine an die radiozentrale angepasste Version des [radio-ui](/gitblit/docs/web!radio-ui.git) auf. |
|
8 |
|
819494
|
9 |
## Voraussetzungen |
U |
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 |
|
1214dd
|
17 |
Eine komplette Ablaufumgebung für die radiozentrale steht zum Beispiel mit der [WebBox](/data/ulrich/prg/webbox/) bereit. |
d51bca
|
18 |
|
1214dd
|
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](/data/ulrich/artikel/2013/05/tomcat-auf-linux.htmi) und [Derby Network Server](/data/ulrich/artikel/2018/02/derby-server-artikel.htmi) beschreiben. |
819494
|
20 |
|
95695a
|
21 |
## Webanwendung herstellen |
H |
22 |
|
604331
|
23 |
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
|
24 |
|
604331
|
25 |
Desweiteren werden die folgenden Klassenbibliotheken benoetigt |
95695a
|
26 |
|
H |
27 |
``` |
|
28 |
Bibliothek Datei(en) Ablageort lokal |
|
29 |
---------- --------- --------------- |
|
30 |
Tomcat .............. lib/servlet-api.jar ........... $CATALINA_HOME |
604331
|
31 |
derbyclient ......... lib/derbyclient.jar ........... $CATALINA_BASE |
95695a
|
32 |
XStream ............. xstream-1.4.7.jar ............. $JLIB |
H |
33 |
Jettison ............ jettison-1.3.3.jar ............ $JLIB |
|
34 |
Transit ............. Transit.jar ................... $JLIB |
|
35 |
BaseLink ............ BaseLink.jar .................. $JLIB |
|
36 |
``` |
604331
|
37 |
Diese sind an folgenden Orten frei erhaeltlich: |
95695a
|
38 |
|
H |
39 |
- [Apache Tomcat](http://tomcat.apache.org) |
e0751d
|
40 |
- [Apache Derby](http://db.apache.org/derby) |
95695a
|
41 |
- [XStream](https://github.com/codehaus/xstream) |
H |
42 |
- [Jettison](https://github.com/codehaus/jettison) |
|
43 |
- [Transit](/gitblit/docs/Transit.git) |
|
44 |
- [BaseLink](/gitblit/docs/BaseLink.git) |
|
45 |
|
604331
|
46 |
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
|
47 |
|
c00150
|
48 |
Zur Herstellung der radiozentrale werden die folgenden Kommandos ausgefuehrt (Beispiel fuer Linux): |
95695a
|
49 |
|
H |
50 |
``` |
|
51 |
cd $RZ |
|
52 |
mkdir dist |
|
53 |
mkdir build |
|
54 |
cp -r web/* build |
|
55 |
cd build/WEB-INF |
|
56 |
mkdir classes |
|
57 |
mkdir lib |
|
58 |
cd ../.. |
|
59 |
cp $JLIB/* build/WEB-INF/lib |
|
60 |
|
|
61 |
$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 |
|
62 |
|
|
63 |
cp src/java/logging.properties build/WEB-INF/classes |
|
64 |
$JDK/bin/jar -cf dist/rz.war -C build . |
|
65 |
rm -r build |
|
66 |
``` |
|
67 |
|
c00150
|
68 |
Das Webarchiv der rediozentrale liegt anschliessend als `$RZS/dist/rz.war` fertig zum Deployment bereit. |
95695a
|
69 |
|
H |
70 |
### Distributionsalternative |
|
71 |
|
c00150
|
72 |
Das Kommando `cp $JLIB/* build/WEB-INF/lib` kann auch weggelassen werden, dann sind die Klassenbibliotheken nicht Teil des Webarchivs der rediozentrale. In diesem Fall muss stattdessen der Inhalt von `$JLIB` nach `$CATALINA_BASE/lib` kopiert werden. |
95695a
|
73 |
|
H |
74 |
### Datenbanktreiber |
|
75 |
|
|
76 |
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. |
|
77 |
|
9af4b1
|
78 |
### Abhaengigkeiten der Bedienoberflaeche |
95695a
|
79 |
|
c00150
|
80 |
Die radiozentrale erfordert zudem Javascript-Bibliotheken und Zeichensaetze, die vom [radio-ui](/gitblit/docs/web!radio-ui.git) benoetigt werden (siehe Beschreibung dort). Diese Bestandteile muessen auf dem Server hinterlegt werden, auf dem die radiozentrale ausgefuehrt werden soll. |
95695a
|
81 |
|
H |
82 |
## Lizenz |
|
83 |
|
|
84 |
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. |