Hinzufügen eines Serverkontexts
Ein Kontext bezeichnet einen Teilbereich innerhalb des HTTP-Servers, dem Webapplikationen, Servlets oder andere Elemente hinzugefügt werden können, die dann bei Anfragen entsprechend aufgerufen werden. Folgendes XML-Fragment richtet einen Kontext ein.
<
Call
name
=
"addContext"
>
<
Arg
>
<
New
class
=
"com.ebd.hub.xml.NullClass"
/>
</
Arg
>
<
Arg
>/service/*</
Arg
>
[Kontextspezifische Aufrufe und Definitionen]
</
Call
>
Der erste Parameter erlaubt es, einen virtuellen Host zu bezeichnen, für den der Kontext ausschließlich gelten soll. Ist keine Einschränkung auf einen bestimmten virtuellen Host vorgesehen, ist die Angabe von Null notwendig, wie aus dem oben gezeigten XML-Code zu ersehen ist.
Der zweite Parameter bezeichnet den Namen des Kontexts, wie er in der URL auftauchen soll.
URLs, die den Kontext wie oben definiert ansprechen, hätten hierbei den folgenden Aufbau.
http://<meinserver>/service/... |
Die Aufrufe und Definitionen, die nach dem Hinzufügen eines Kontexts möglich sind, sind sehr zahlreich. Daher seien hier nur die für den Betrieb des Integration Servers wichtigsten Bereiche beschrieben.
Setzen der Ressourcen-Basis
Soll ein anderes als das Arbeitsverzeichnis für das Beziehen von Ressourcen innerhalb eines Kontexts verwendet werden, kann dies mit folgendem XML-Fragment eingestellt werden.
<
Set
name
=
"ResourceBase"
>./myotherdir</
Set
>
Das Verzeichnis kann relativ zum Arbeitsverzeichnis des Integration Servers oder absolut angegeben werden.
Hinzufügen eines Ressourcen-Handlers zu einem Kontext
Ein Ressourcen-Handler ist für das Ausliefern von Ressourcen, d .h. HTML-Seiten, Bildern, usw. zuständig. Ohne einen hinzugefügten Ressourcen-Handler ist kein Ausliefern von statischen Elementen möglich.
Folgendes XML-Fragment fügt dem Kontext einen Ressourcehandler hinzu.
<
Call
name
=
"addHandler"
>
<
Arg
>
<
New
class
=
"com.ebd.hub.server.http.handler.ResourceHandler"
/>
</
Arg
>
</
Call
>
Sinnvollerweise sollte vor dem Setzen eines Ressourcen-Handlers eine passende Ressourcen-Basis definiert worden sein.
Hinzufügen eines Servlets zu einem Kontext
Folgendes XML-Fragment fügt dem aktuellen Kontext ein Servlet hinzu.
<
Call
name
=
"addServlet"
>
<
Arg
>Servletname</
Arg
>
<
Arg
>/ServletContext/*</
Arg
>
<
Arg
>com.ebd.dummy.servlet.MySpecialServlet</
Arg
>
</
Call
>
Hierbei ist Servletname der Name des Servlets, wie er z. B. im Informationsbereich erscheinen soll.
ServletContext ist der Kontext, in dem das Servlet angeboten werden soll. Dieser wird dem Kontext (hier service), dem das Servlet hinzugefügt wird, angefügt.
Der dritte Parameter bezeichnet den voll qualizierten Klassennamen des Servlets.
URLs, die das Servlet, wie oben definiert, ansprechen, hätten mit den oben angegebenen Werten den folgenden Aufbau.
http://<meinserver>/service/ServletContext/path/info?key1=val1 |
Aktivieren einer Benutzer-Authentifizierung
Für die Aktivierung einer Benutzerauthentifizierung ist es notwendig, zuvor eine Realm-Definition hinzugefügt zu haben.
Folgendes XML-Fragment aktiviert die HTTP-Basic-Authentication für den gewählten Kontext.
<
Set
name
=
"realmName"
>Admin Realm</
Set
>
<
Set
name
=
"authenticator"
>
<
New
class
=
"com.ebd.hub.server.http.BasicAuthenticator"
/>
</
Set
>
<
Call
name
=
"addHandler"
>
<
Arg
>
<
New
class
=
"com.ebd.hub.server.http.handler.SecurityHandler"
/>
</
Arg
>
</
Call
>
Der Parameter bezeichnet hierbei den Namen des Realms, so wie er beim Hinzufügen zuvor festgelegt wurde.
Hinzufügen einer einzelnen Webapplikation
Folgendes XML-Fragment fügt dem Server eine einzelne Webapplikation hinzu.
<
Call
name
=
"addWebApplication"
>
<
Arg
>/context</
Arg
>
<
Arg
>./webapps/webappdir</
Arg
>
<
Set
name
=
"extractWAR"
>false</
Set
>
<
Set
name
=
"defaultsDescriptor"
>etc/webdefault.xml</
Set
>
<
Set
name
=
"virtualHosts"
>
<
Array
type
=
"java.lang.String"
>
<
Item
/>
<
Item
>127.0.0.1</
Item
>
<
Item
>localhost</
Item
>
<
Item
>www.lobster.de</
Item
>
</
Array
>
</
Set
>
</
Call
>
Dabei haben die einzelnen Parameter die folgende Bedeutung.
Wert |
Bedeutung |
Context |
Der zu verwendende Kontext für diese Webapplikation. Wird null angegeben, wird der Basiskontext angenommen. |
Webappdir |
Das Verzeichnis, in dem sich die Webapp-Dateien befinden. |
ExtractWAR |
Legt fest, ob die gefundene WAR-Datei in ein temporäres Verzeichnis extrahiert werden soll oder nicht. |
DefaultsDescriptor |
Die XML-Datei, die den Webservice konfiguriert. |
Soll die Webapplikation auf bestimmte Virtual Hosts beschränkt sein, kann dies mit dem oben zu sehenden XML-Fragment vorgenommen werden.
Hinzufügen eines Webapplikations-Verzeichnisses
Folgendes XML-Fragment legt ein Verzeichnis als Basisverzeichnis für einstellbare Webapplikationen fest.
<
Call
name
=
"addWebApplications"
>
<
Arg
>
<
New
class
=
"com.ebd.hub.xml.NullClass"
/>
</
Arg
>
<
Arg
>./webapps/</
Arg
>
<
Arg
>etc/webdefault.xml</
Arg
>
<
Arg
type
=
"boolean"
>true</
Arg
>
</
Call
>
Der erste Parameter ist hierbei der eventuell eingestellte Virtual Host, für den das Webapplikations-Verzeichnis gültig sein soll oder der NullClass-Eintrag, wenn das Verzeichnis des jeweiligen HTTP-Servers gilt.
Die restlichen Parameter sind identisch zu den letzten Parametern, die bereits beim Hinzufügen einer einzelnen Webapplikation beschrieben wurden.