05.10.2013 Aufrufe

Das Magazin für Netze, Daten- und Telekommunikation - ITwelzel.biz

Das Magazin für Netze, Daten- und Telekommunikation - ITwelzel.biz

Das Magazin für Netze, Daten- und Telekommunikation - ITwelzel.biz

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

fokusE-COMMERCE<br />

JSP, SERVLETS UND XML<br />

Architektur <strong>für</strong><br />

Anwendungen<br />

Während Java auf dem Client der Durchbruch noch<br />

nicht so recht gelang, erfreut sich die plattformunabhängige<br />

Programmiersprache auf der Server-<br />

Seite wachsender Beliebtheit. Denn die Kombination<br />

aus Java-Servlets, Java-Server-Pages (JSP) <strong>und</strong><br />

XML eignet sich hervorragend als Architektur <strong>für</strong><br />

flexible, skalierbare <strong>und</strong> vom Betriebssystem<br />

unabhängige E-Commerce-Anwendungen.<br />

Es gibt in der Praxis die verschiedensten<br />

Möglichkeiten,<br />

E-Commerce-Anwendungen<br />

zu strukturieren. Viele Hersteller<br />

entwickeln in diesem Umfeld<br />

proprietäre Anwendungen,<br />

die vor der Benutzung zunächst<br />

einmal auf den Client-<br />

Rechnern installiert werden<br />

müssen <strong>und</strong> meist an ein bestimmtes<br />

Betriebssystem geb<strong>und</strong>en<br />

sind. Im Gegensatz dazu<br />

stehen die so genannten<br />

“Thin-Client”-Lösungen, die<br />

in den allermeisten Fällen auf<br />

der Nutzung der bestehenden<br />

Web-Infrastruktur basieren.<br />

Mit anderen Worten: Die Benutzerschnittstelle<br />

auf den<br />

Client-Rechnern stellt ein gängiger<br />

Web-Browser zur Verfügung.<br />

Die Anwendungsdaten<br />

werden vom Server, der die gesamte<br />

Anwendungslogik bereitstellt,<br />

in HTML oder XML<br />

kodiert <strong>und</strong> per HTTP an den<br />

Client geschickt. Der Server<br />

generiert diese dynamischen<br />

Web-Seiten aus den in <strong>Daten</strong>banken<br />

gehaltenen Anwendungsdaten<br />

<strong>und</strong> aus Benutzer-<br />

238 LANline 12/2000<br />

wünschen. Ein Beispiel: Ein<br />

Online-Buchhändler bietet seinen<br />

K<strong>und</strong>en zunächst ein in<br />

HTML kodiertes Suchformular.<br />

Nach Auswertung der<br />

Stichworte, die der K<strong>und</strong>e angegeben<br />

hat, kontaktiert der<br />

Server eine <strong>Daten</strong>bank <strong>und</strong> erhält<br />

von dieser eine Reihe von<br />

Buchtiteln, die zu den Stichworten<br />

passen. Diese werden<br />

nun in HTML umgesetzt <strong>und</strong><br />

an den Web-Browser des<br />

Clients geschickt, der die Seite<br />

als Antwort auf das Abschicken<br />

eines Formulars im Fenster<br />

darstellt. Diese heute am<br />

häufigsten eingesetzte Architektur<br />

Web-basierter E-Com-<br />

Bild 1. 3-Tier-Architektur mit Servlets<br />

merce-Anwendungen wird<br />

auch als “3-Tier-Architektur”<br />

bezeichnet. Bild 1 stellt diese<br />

Variante grafisch dar.<br />

Jeder der drei Bereiche übernimmt<br />

dabei unterschiedliche<br />

Aufgaben. Tier 1 stellt die webbasierte<br />

Benutzerschnittstelle<br />

dar. Hier gibt der Benutzer seine<br />

Anfragen ein <strong>und</strong> erhält die<br />

Antworten der Anwendung.<br />

Tier 2 ist das Kernstück, denn<br />

dort ist die ganze Anwendungslogik<br />

untergebracht. Tier<br />

3 schließlich ist <strong>für</strong> die <strong>Daten</strong>haltung<br />

zuständig <strong>und</strong> wird<br />

über SQL angesprochen.<br />

Für die Umsetzung von Tier<br />

2, die sich im Wesentlichen auf<br />

die Erstellung eines Anwendungsprogramms<br />

konzentriert,<br />

gibt es heute eine Vielzahl von<br />

Möglichkeiten. Bekannte<br />

Techniken <strong>für</strong> die Erzeugung<br />

dynamischer Web-Seiten, die<br />

heute auch <strong>für</strong> E-Commerce im<br />

Einsatz sind, sind CGI-Skripte<br />

in Perl, PHP3 oder Microsofts<br />

Active Server Pages (ASP). In<br />

diesem Artikel betrachten wir<br />

eine spezielle Variante dieser<br />

3-Tier-Architektur, in der Tier<br />

2 durch die so genannte Java-<br />

Servlets realisiert wird.<br />

Die Servlet-Technologie ist<br />

eine logische Weiterentwicklung<br />

<strong>und</strong> Kombination zweier<br />

schon länger existierender Ansätze<br />

zur Erzeugung dynamischer<br />

Web-Seiten: CGI-Programme<br />

<strong>und</strong> den Java-Applets.<br />

CGI (Common Gateway Interface)<br />

ist wie schon erwähnt eine<br />

Server-seitige Technik,<br />

während Applets kleine Java-<br />

Programme sind, die im Browser<br />

des Clients ausgeführt werden.<br />

Servlets sind ebenfalls eine<br />

Server-seitige Technologie,<br />

aber sie werden nicht in Perl,<br />

sondern in Java geschrieben.<br />

Ein einzelnes Servlet ist ein<br />

üblicherweise relativ kleines<br />

Programm, das vom Benutzer<br />

wie ein CGI-Skript aufgerufen<br />

<strong>und</strong> dann mit den entsprechenden<br />

Parametern ausgeführt<br />

wird. Man kann sich das wie<br />

die Ausführung eines Applets<br />

in einer Java Virtual Machine<br />

vorstellen, nur, dass eben sämtliche<br />

Aktivitäten auf dem Server<br />

stattfinden. Wie Bild 1 verdeutlicht,<br />

benötigt man <strong>für</strong> eine<br />

Servlet-basierte Lösung eine<br />

Servlet-Erweiterung <strong>für</strong> den<br />

Web-Server, praktisch eine<br />

virtuelle Java-Maschine auf<br />

dem Server. Einige Web-Server<br />

wie etwa der Iplanet-Server<br />

unterstützen von Haus aus<br />

Servlets. Für die Web-Server<br />

von der Apache Group, Microsoft,<br />

Zeus, Netscape <strong>und</strong><br />

O’Reilly bietet Allaire mit Jrun<br />

Erweiterungen an.<br />

Auf einem Web-Server mit<br />

Servlet-Unterstützung definiert<br />

der Administrator zunächst<br />

ein spezielles virtuelles<br />

Verzeichnis, <strong>für</strong> das alle<br />

HTTP-Anfragen an die Servlet-Engine<br />

weitergegeben werden.<br />

Üblicherweise ist dies das<br />

“/servlet” Directory. Wird beispielsweise<br />

der GET Aufruf<br />

“http://www.mybookshop.de/<br />

servlet/Search?titel=potter”<br />

von einem HTML-Formular<br />

auf einer Suchseite empfangen,<br />

lädt die Java-Virtual-Machine<br />

(JVM) auf dem Web-Server<br />

die Java-Klasse Search.class.<br />

Denn Servlets sind gewöhnli-<br />

www.lanline.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!