| Versionsgeschichte | |
|---|---|
| Version $Revision: 1.1 $ | $Date: 2003/10/23 11:26:10 $ |
Am Web-Applikationsserver des Zentralen Informatikdiensts werden Web-Applikationen gehostet. Unter Web-Applikationen werden Applikationen verstanden, die einen spezifischen, klar definier- und eingrenzbaren Zweck erfüllen, der nicht durch das Web-Hosting Angebot des zentralen Webservers bzw. durch das Content Management-System der Universität - XIMS - abgedeckt werden kann. Damit steht der Web-Applikationsserver nicht zur Bereitstellung ganzer Homepages von Organisationseinheiten zur Verfügung.
Wenn Sie eine derartige Applikation am Web-Applikationsserver hosten lassen wollen, dann
wenden Sie sich bitte an den Betreuer der Applikationsebene des Servers: <Webapp-Admin@uibk.ac.at>
[ Nach oben ]
Es werden die folgenden Technologien unterstützt:
Applikationsebene
Java/J2EE
Perl/mod_perl, Apache AxKit Application Server
PHP
PL/SQL, mod_plsql
Datenbankebene
Oracle
PostgreSQL
Der ZID stellt keinen Entwicklungsserver für die Applikationseben zur Verfügung; wie bei der Entwicklung vorgangen werden sollte, entnehmen Sie bitte den Hinweisen zu den einzelnen Programmiersprachen.
Während der Entwicklung kann auf Test-Instances der Oracle und PostgreSQL Datenbanken zugegriffen werden. Details dazu entnehmen Sie bitte dem Abschnitt Entwicklung und Betrieb auf den Datenbank-Instanzen.
Unabhängig von der verwendeten Technologie ist bei der Applikationsentwicklung die URL-Namensgebung zu beachten. Die Einstiegs-URLs für die Applikationen folgen dem Schema http(s)://webapp.uibk.ac.at/projektkurzname/. Die formalen Regeln für die Kurznamen sind äquivalent zu denen, die im Dokument Namensgebung und Betrieb von Webservern an der Universität Innsbruck festgelegt sind.
Je nach Komplexität des Projekts macht es Sinn einzelne Objekte innerhalb der Applikation relativ zum aktuellen Verzeichnis oder absolut zum Serverstammverzeichnis "/" zu verlinken. Im Falle eines gewünschten Links auf http(s)://webapp.uibk.ac.at/projektkurzname/about/members.xsp ausgehend von http(s)://webapp.uibk.ac.at/projektkurzname/index.xsp könnte das mit einem relativen Link durch "about/members.xsp" oder über einen absoluten Verweis "/projektkurzname/about/members.xsp" erreicht werden. Wir empfehlen, Links zu Objekten abwärts der Hierarchie grundsätzlich relativ zu erstellen und Objekte, die sich mind. zwei Ebenen höher als das Ausgangsobjekt befinden, absolut zu verlinken (die Art und Weise der Verlinkung im Zwischenbereich ist mehr oder weniger Geschmackssache).
Es wird empfohlen, Webapplikationen in Java mit Hilfe des "JDeveloper" (download vom Oracle Technology Network [kostenfrei, Online-Registrierung erforderlich]) zu entwickeln. Dieser ist selbst in Java geschrieben und kann daher auf allen Java-unterstützten Plattformen betrieben werden. Als integrierte Entwicklungsumgebung stellt er die notwendigen Werkzeuge zur Verfügung. Insbesondere gibt es innerhalb des JDeveloper die Möglichkeit des Betriebs eines "privaten Applikationsservers", um die entwickelte Applikation zu testen!
Applikation werden als sogenannte EAR- oder WAR-Files auf den Applikationsserver eingebracht. Diese Dateien können ebenfalls direkt im JDeveloper erstellt werden. Die Details des Einbringens am Server bzw. des Erstellens des EAR/WAR-files sind von Anwendung zu Anwendung verschieden und müssen mit der/dem BetreuerIn des Servers geklärt werden.
[ Nach oben ]
Es empfiehlt sich, auf einer vergleichbaren Linuxumgebung wie das Produktionssystem webapp.uibk.ac.at zu entwickeln. Über Details zu den dort
im Einsatz befindlichen Perl und Modulversionen gibt
diese Liste
Auskunft. Selbstentwickelte oder nicht bereits installierte Perl-Module werden am Rechner
webapp.uibk.ac.at unter /usr/local/projektkurzname/ eingebracht werden und sollten mittels use lib
'/usr/local/projektkurzname/lib'; von den Skripten - unter /wwwroot/projektkurzname/ installiert -
eingebunden werden.
Beispiel 1. /wwwroot/projektkurzname/members.pl
...
use lib '/usr/local/projektkurzname/lib';
use PROJEKTKURZNAME::Basic;
use Apache::Request;
sub handler {
my $apr = Apache::Request->new(shift);
...
}
Die entwickelte Applikation soll als tar- oder zip-Archiv abgeliefert werden.
[ Nach oben ]
Analog zur Entwicklung in perl sollte auf einem System mit möglichst ähnlicher php-Version entwickelt werden. Welches die aktuelle Version von php am 'Web-Applikationsserver ist, erfahren Sie hier
[ Nach oben ]
Der Zentrale Informatikdienst stellt ein Oracle- und ein PostgreSQL-Datenbanksystem zur Verfügung (derzeit Oracle 9.2.0 und PostgreSQL-7.3.2). Auf beiden Systemen kann eine Entwicklungs- bzw. Testinstanz und eine Produktionsinstanz verwendet werden. Jeder Benutzer erhält seinen eigenen Namensraum (Schema), in dem er seine Objekte ablegen kann. Die Instanzen werden laufend überwacht und über ein Backup-System gesichert.
Die Datenbanksysteme sind über TCP/IP (Oracle SQL-Net, JDBC, PostgreSQL-TCP/IP-Layer) erreichbar, für interaktives Arbeiten ist auf Seiten des Clients die Installation eines entsprechenden Client-Programms nötig (Oracle: Oracle-Client-Modul Oracle8i oder höher; PostgreSQL: psql 7.2.2 oder höher). Alternativ zu einer individuellen Installation des benötigten Client-Moduls können Clienten-Module auf zentralen Servern des ZID verwendet werden: das PC-Client/Server-Systems des ZID unterstützt den Zugriff auf Oracle-Datenbanken (http://www2.uibk.ac.at/zid/software/pc/db/oracle.html), das Linux PC-Client-Server System 3 des ZID unterstützt den Zugriff auf Oracle- und PostgreSQL-Datenbanken (http://www2.uibk.ac.at/zid/software/unix/linux/lpccs3/index.html).
Die PostgreSQL-Datenbanken sind mit Unicode-Zeichensatz angelegt, für eine korrekte Darstellung der Daten müssen die Skripts Vorsorge treffen.
[ Nach oben ]
Es ist nicht möglich, daß EntwicklerInnen accounts zur Entwicklung direkt am Applikationsserver selbst bekommen können. Änderungen/Verbesserungen/Bugfixes der Applikationen müssen im allgemeinen leicht anwendbare Patches oder Gesamtupdates sein. Die Frequenz derartiger Updates sollte sich in Grenzen halten und wird mit dem Betreuer des Servers vereinbart
Versioning der Applikation ist Pflicht!
[ Nach oben ]
