Apps

Dieses Dokument beschreibt Programme, die von der WebBox ausgeführt werden können, die Apps. Das ist interessant, wenn man selbst Apps erstellen möchte. Anwender, die fertige Apps auf einer WebBox nutzen möchten, müssen hier nicht weiterlesen.

Apps müssen gemäß der Java Servlet Spezifikation aufgebaut sein, damit sie von der WebBox ausgeführt werden können. In diesem Dokument wird nicht der gesamte Standard der Java Servlet Spezifikation beschrieben. Es werden hier nur Teile erwähnt, die als Minimalansatz für eine App dienen können.

Laufzeitumgebung und -voraussetzungen
Aufbau einer App

App-Ordner
Der Ordner WEB-INF
Deployment Descriptor

Laufzeitumgebung und -voraussetzungen

Apps laufen auf der Maschine, auf der die WebBox gestartet wurde. Sie werden von der WebBox als Teil des Prozesses ausgeführt, in dem die WebBox läuft.

Prizipiell kann jede App, die die Java Servlet Spezifikation implementiert, auf der WebBox laufen. Einzelheiten zu besonderen Laufzeitvoraussetzungen müssen der Dokumentation der betreffenden App entnommen werden.

Die nachfolgenden Abschnitte beschreiben Aspekte einer App, die mindestens gegeben sein müssen. Diese werden in aller Regel von Apps erfüllt, die der Java Servlet Spezifikation entsprechen. Die Angaben an dieser Stelle richten sich an Nutzer, die selbst Apps für die WebBox herstellen möchten.

Aufbau einer App

Eine App ist eine Sammlung aus Dateien in einem Ordner des Dateisystems, dem App-Ordner. Apps müssen wie folgt aufgebaut sein:

/App-Ordner
  /WEB-INF
    web.xml
    /classes
    /lib

Der Hersteller einer App kann frei entscheiden, wie Struktur und Inhalt innerhalb dieses Rahmens beschaffen ist. NAchfolgend sind relevante Teile der obigen Struktur beschrieben.

App-Ordner

Der App-Ordner enthält alle Bestandteile der App, z.B. Webseiten, Konfigurationsdateien, als Programm ausführbare Teile. Was sich nicht im Ordner WEB-INF befindet liefert die WebBox zur Laufzeit der App als Inhalt aus. Liegt im App-Verzeichnis z.B. eine HTML-Datei, wird diese als Webseite ausgeliefert. Ebenso werden Bilddateien ausgegeben.

Die so im App-Ordner vorgefundenen Inhalte erhalten von der WebBox jeweils ihren eigenen Uniform Resource Locator (URL) unter dem sie zugänglich sind. Den URL bildet die WebBox aus dem Ablageort des Inhalts innerhalb des App-Ordners und seinem Dateinamen. Dabei wird der Name des App-Ordners ebenfalls Teil des URL. Befindet sich beispielsweise eine Datei namens Infos.html im Ordner /App-Ordner/meine wird der Inhalt über die WebBox über folgenden URL zugänglich

http://localhost:8098/App-Ordner/meine/Infos.html

Aus diesem Schema ergibt sich, dass der Name eines App-Ordners nur einmal verwendet werden kann. Er dient der WebBox als eindeutige Zuordnung.

Der Ordner WEB-INF

Im Ordner /App-Ordner/WEB-INF werden Java-Klassen, Java-Klassenbibliotheken und Konfigurationsdateien abgelegt. Diese werden von der WebBox dynamisch geladen und ausgeführt wie vom Hersteller der App programmiert.

Deployment Descriptor

Als Deployment Descriptor wird die Datei web.xml bezeichnet. Der Deployment Descriptor beschreibt die App in einer standardisierten Weise und muss im Ordner /App-Ordner/WEB-INF abgelegt sein. Die WebBox zieht den Inhalt des Deployment Descriptors heran, um die ausführbaren Teile einer App zu erkennen und so auszuführen, wie es konfiguriert wurde. Die Beschreibung des Aufbaus eines Deployment Descriptors findet sich in der Java Servlet Spezifikation.