Extensible Markup Language (PDF) - IT-Dienstleistungszentrum Berlin
Extensible Markup Language (PDF) - IT-Dienstleistungszentrum Berlin
Extensible Markup Language (PDF) - IT-Dienstleistungszentrum Berlin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
ç XML-Umfeld Weitere erwähnenswerte<br />
Bibliotheken sind Xalan (ein<br />
XSLT-Processor) und FOP (ein XSL-<br />
Formatter), beide von ASF FOP kann<br />
aus der gleichen XSL-Eingabe wahlweise<br />
<strong>PDF</strong>, PostScript, PCL, MIF, RTF<br />
oder formatierten Text erzeugen<br />
Web-Anwendungen<br />
Web-Anwendungen sind Anwendungen<br />
im Internet oder Intranet, die einen<br />
Internet-Browser für die Darstellung der<br />
Benutzerschnittstelle verwenden Die<br />
Anwendung selbst läuft dabei auf dem<br />
Web-Server Die Aufgabe eines Web-<br />
Servers war ursprünglich nur die Bereitstellung<br />
der statischen HTML-Seiten<br />
Schon früh wurde die Möglichkeit einer<br />
Benutzerinteraktion benötigt Der Benutzer<br />
konnte im Internet-Browser ein<br />
Formular ausfüllen und abschicken Auf<br />
der Server-Seite wurde das Common<br />
Gateway Interface (CGI) geschaffen,<br />
um die vom Benutzer abgeschickten<br />
Daten durch externe Programme (CGI-<br />
Skripte) auswerten zu können Nach<br />
und nach kamen andere Lösungen hinzu,<br />
die Seiten wurden zunehmend dynamisch<br />
und konnten schließlich als<br />
Benutzerschnittstellen für komplexe<br />
Anwendungen eingesetzt werden<br />
Eine der bekanntesten und leistungsfähigsten<br />
neuen Lösungen sind die Java<br />
Servlets und die davon abgeleiteten Java<br />
Server Pages (JSP) Servlets sind in Java<br />
geschriebene Erweiterungen der Web-<br />
Server-Funktionalität, die in der virtuellen<br />
Java-Maschine (JVM) des Web-Servers<br />
ablaufen Die meisten Web-Server<br />
haben die Fähigkeit, Servlets zu nutzen<br />
oder lassen sich einfach in dieser Hinsicht<br />
erweitern, zB durch die Integration<br />
von Tomcat von ASF<br />
DB<br />
Servlet<br />
JVM<br />
Web-Server<br />
Formulardaten<br />
Name: Hinz<br />
Vorname: Kunz<br />
...<br />
<br />
<br />
<br />
<br />
HTML-Seite (Ergebnis)<br />
Abbildung 5: Java Servlets<br />
Browser<br />
Servlets werten die Eingaben des Benutzers<br />
aus, leiten die Verarbeitung eventuell<br />
an andere Programme, wie zB Datenbanken,<br />
weiter und generieren dann<br />
eine neue HTML-Seite, die dem Benutzer<br />
angezeigt wird (Abbildung 5) Das<br />
Generieren von HTML-Seiten mit Hilfe<br />
von Java ist jedoch nicht effektiv, da in<br />
Java HTML wie normale Zeichenketten<br />
behandelt werden und die Ausgabe mit<br />
Hilfe von normalen Eingabe-/Ausgabe-Methoden<br />
erfolgt Das ist vor allem<br />
für die Pflege des statischen Teils der<br />
Seiten keine gute Lösung JSP-Seiten<br />
sind eine Weiterentwicklung von<br />
Servlets Sie enthalten den statischen<br />
Teil der Seiten als HTML im Klartext,<br />
während der dynamische Teil mit Hilfe<br />
von Java erzeugt wird Web-Anwendungen<br />
bestehen in der Regel aus mehreren<br />
Servlets und JSP-Seiten<br />
Apache Cocoon<br />
Zunächst soll unabhängig von Cocoon<br />
die Frage beantwortet werden, was es<br />
bedeutet und was benötigt wird, um<br />
Web-Anwendungen auf XML-Basis zu<br />
schreiben Das Wichtigste ist, dass die<br />
Information in einer solchen Anwendung<br />
in Form von XML-Daten vorliegt<br />
Neben den statischen Daten werden<br />
auch dynamische Daten, die aus Datenbanken<br />
und anderen Informationssystemen<br />
stammen können, temporär in<br />
XML zusammengestellt, um dann<br />
genauso wie die statischen Daten weiterverarbeitet<br />
zu werden Hier kommt der<br />
große Vorteil von XML zum Tragen,<br />
dass sie sich gleichermaßen zum Darstellen<br />
von Textdokumenten wie auch<br />
reinen Daten eignet<br />
Um die Information dem Benutzer zu<br />
präsentieren, ist es nötig, diese in eine<br />
Form umzuwandeln, die ein Internet<br />
Browser versteht – und das ist HTML<br />
Dafür werden die Daten aus dem XML-<br />
Dokument und die Formatierungsinformationen<br />
aus dem XSLT-Stylesheet<br />
mit Hilfe eines XSLT-Processors zusammengefügt<br />
Das Stylesheet muss entsprechende<br />
Regeln enthalten, damit<br />
dabei XHTML (und dann HTML, su)<br />
entsteht Neuere Browser verstehen auch<br />
direkt XML und besitzen einen eingebauten<br />
XSLT-Processor (IE ab 55,<br />
Netscape ab 60) In diesem Fall wird<br />
das XSLT-Stylesheet dem Browser direkt<br />
zur Verfügung gestellt (Abbildung<br />
6) Der Nachteil dieser Lösung ist, dass<br />
sie zum einen nur die neueren Browser<br />
beherrschen, zum anderen, dass die<br />
Implementierungen in einigen Browsern<br />
nicht standardkonform sind<br />
<br />
<br />
<br />
<br />
XML-<br />
Dokument<br />
Web-Server<br />
<br />
<br />
<br />
<br />
<br />
XSLT-Stylesheet<br />
Browser<br />
XSLT-<br />
Processor<br />
(Transformer)<br />
Abbildung 6: Umwandlung von XML zu<br />
HTML zum Zwecke der Präsentation<br />
(auf dem Client)<br />
Für ältere Browser muss die Umwandlung<br />
von XML nach HTML auf dem<br />
Server erfolgen (Abbildung 7)<br />
<br />
<br />
<br />
<br />
XML-<br />
Dokument<br />
Web-Server<br />
Servlet<br />
XSLT-<br />
Processor<br />
(Transformer)<br />
<br />
<br />
<br />
<br />
<br />
XSLT-Stylesheet<br />
Abbildung 7: Umwandlung von XML zu<br />
HTML zum Zwecke der Präsentation<br />
(auf dem Server)<br />
Diese Lösung ist universell, sie erscheint<br />
praktisch und einfach realisierbar Der<br />
XSLT-Processor läuft innerhalb eines<br />
Servlets, das die Aufgabe hat, anhand<br />
der Benutzeranforderung die richtigen<br />
Daten auszuwählen und sie dem XSLT-<br />
Processor zuzuführen sowie das Resultat<br />
anschließend an den Browser weiterzuleiten<br />
Es wurde bereits festgestellt,<br />
dass XSLT nur eine Umwandlung von<br />
einem XML-Dokumenttyp in einen anderen<br />
mit Hilfe von Regeln erlaubt<br />
HTML ist kein XML, so dass im ersten<br />
Schritt zunächst XHTML erzeugt wird,<br />
das anschließend 1:1 in HTML umgewandelt<br />
wird Obwohl dieser zusätzliche<br />
Schritt trivial ist, erhöht sich dadurch<br />
etwas die Komplexität der Lösung è<br />
1/02 2 11 7<br />
<br />
<br />
<br />
<br />
HTML-<br />
Dokument<br />
Browser