Lade Inhalt...

ASP - Active Server Pages

Seminararbeit 2000 28 Seiten

Informatik - Software

Leseprobe

Inhaltsverzeichnis

1 Einleitung

2 Von der statischen zur dynamischen Webseite
2.1 Statische Inhalte - klassisches HTML
2.2 Dynamische Generierung von Webseiten
2.2.1 Klassische Verfahren
2.2.2 Active Server Pages
2.2.3 Java Server Pages
2.2.4 WebObjects, Cold Fusion

3 Das Verfahren Active Server Pages
3.1 Sprachen für Active Server Pages
3.2 Allgemeine Funktionsweise von ASP
3.3 Entwicklung mit ASP
3.3.1 Objektorientierter Ansatz der ASP-Programmierung
3.3.2 Dynamische Inhalte durch Datenbankanbindung

4 Realisierung eines Postershops
4.1 Systemabgrenzung
4.1.1 Technisch
4.1.2 Funktional
4.2 Datenmodell
4.3 Dynamische Anzeige von Daten
4.4 Aufbau der Client- Server Interaktion
4.4.1 Nachrichten
4.4.2 Warenkorb
4.4.3 Speicherung der Bestellung

5 Bewertung

6 Weiterführende Ressourcen
6.1 Literatur
6.2 Internetlinks

Vorwort

Die folgende Tabelle stellt dar, welche Kapitel von welchem Studenten geschrieben wurden.

Abbildung in dieser Leseprobe nicht enthalten

1 Einleitung

Die Active Server Pages (ASP) - Technologie ist ein Verfahren, um bisher stati- sche Webseiten mit dynamischen Inhalten zu füllen. In dieser Hausarbeit sollen die Möglichkeiten, aber auch die Grenzen der ASP-Technologie aufgezeigt wer- den.

In den Kapiteln 2 und 3 werden zunächst die wesentlichen Bestandteile der ASP-Technik erläutert. Dabei stehen insbesondere die diversen Möglichkeiten der Client-Server-Interaktion, die Programmiersprachen sowie die Architektur im Vordergrund.

Zur Visualisierung der Ergebnisse ist ein virtueller Postershop konzipiert und umgesetzt worden. Im vierten Kapitel wird ein Teil der beschriebenen Techniken angewandt und am Beispiel Postershop ausführlich erläutert.

2 Von der statischen zur dynamischen Webseite

2.1 Statische Inhalte - klassisches HTML

1 Zu Beginn der Entwicklung des Internets bestanden die Webseiten aus statischen Inhalten. Noch in der heutigen Zeit sind viele Seiten statisch aufgebaut. Statisch bedeutet, dass die HTML-Seiten einmal manuell erstellt und dann ins Internet gestellt werden. Soll eine statische Seite geändert werden, geschieht dies direkt an dem entsprechenden HTML-Dokument. Der Ablauf einer Seitenanforderung im statischen Modell erfolgt folgendermaßen:

- Ein Browser fordert per http2 -Protokoll eine HTML-Datei von einem Web- server an.
- Der Server empfängt die Anforderung und sendet die gewünschte HTML- Seite an den Browser.
- Dieser empfängt die Seite und stellt sie formatiert dar.

Dieses Modell garantiert einen schnellen Zugriff auf Internetseiten, eine Interaktion mit dem Benutzer ist aber nur in begrenztem Umfang möglich. Der schwerwiegendste Nachteil ist jedoch die Notwendigkeit der manuellen Seitenbearbeitung, wenn Inhalte aktualisiert werden sollen.

2.2 Dynamische Generierung von Webseiten

2.2.1 Klassische Verfahren

Das wohl bekannteste Verfahren zur Generierung von dynamischen Webseiten stellt die CGI3 -Schnittstelle dar. Mit Hilfe dieser Schnittstelle hat der Client die Möglichkeit, eine HTTP-Anforderung an eine ausführbare Anwendung zu stellen, die auf dem Webserver ausgeführt wird. Die entsprechende Anwendung kann die Anforderung verarbeiten. Nun kann die Anwendung in Abhängigkeit der übermittelten Daten ein HTML-Dokument generieren, das an den anfordernden Client gesendet wird.

Die entsprechenden Programme laufen unabhängig von einer HTML-Seite, so dass sie auch von verschiedenen HTML-Dokumenten aus aufgerufen werden können.

2.2.2 Active Server Pages

Die ASP-Technologie ermöglicht es, ausführbare Programmteile (Skripte) direkt in eine HTML-Datei zu schreiben. Dadurch wird die Entwicklung von HTML-Sei- ten und Skripten zu einem einheitlichen Prozess. Die dynamischen Elemente einer Webseite werden somit direkt eingebunden ohne den Umweg über ein ausführbares Programm.

Daraus ergeben sich eine Vielzahl an Vorteilen:

- Web-Dienstleister können mit relativ wenig Aufwand interaktive Geschäftsanwendungen anbieten, anstatt bloße Inhalte zu veröffentli- chen.
- Das Entwickeln von ASP-Anwendungen wird dadurch erleichtert, dass eine Vielzahl von ActiveX-Objekten genutzt werden können. So wird bei- spielsweise eine Datenbankanbindung oder auch eine Komponente zur Werbebannerverwaltung zur Verfügung gestellt.
- Für ASP-Skripte können viele Skriptsprachen verwendet werden.
- Über vordefinierte integrierbare Programme können komplexe Funktio- nen hinzugefügt werden, um Daten zu verarbeiten und hilfreiche Infor- mationen bereitzustellen.
- Mit ASP erstellte Inhalte sind mit den Standard-Webbrowsern kompati- bel.

2.2.3 Java Server Pages

Java Server Pages verfolgen einen ähnlichen Ansatz wie die Active Server Pages. Jedoch wird hier als Programmiersprache ausschließlich Java genutzt. Ein Vorteil ist die plattformübergreifende Programmierung, nachteilig ist die Performance.

2.2.4 WebObjects, Cold Fusion

WebObjects und Cold Fusion Server verfolgen ein anderen Ansatz. Hier werden komplexe Entwicklungsumgebungen zur Verfügung gestellt, die auch umfang- reiche Programmieraufgaben gut administrieren können. WebObjects arbeitet intern mit Java, kann aber neben Java auch C oder Script-Sprachen nutzen. Ein eigenständiger Server erzeugt die HTML-Seiten und gibt diese an den Client zurück.

Grundsätzlich sind bei diesen Programmen das Layout und die Funktionalität getrennt. In der HTML-Vorlage stehen Platzhalter an den Stellen, die später dynamische Daten enthalten sollen. In einer Java-Klasse werden die eigentlichen Programmfunktionen abgelegt. Zur Laufzeit ersetzt der Server die Platzhalter durch die dynamischen Inhalte.

Dieses zunächst recht kompliziert wirkende System hat mehrere Vorteile gegenüber einem Skript-gesteuerten Ansatz wie z.B. ASP. Zum einen ist die so oft geforderte Trennung von Layout und Inhalt konsequent durchgesetzt, was ein späteres Cross-Media-Publishing4 vereinfacht. Auch XML lässt sich mit einem solchen System wesentlich besser nutzen. Zum anderen ermöglicht die Einbin- dung eines „vollwertigen“ Programmiersystems auch komplexe und sicherheits- kritische Applikationen. So wird ein Großteil der Homebanking-Systeme der großen Banken (Postbank, Deutsche Bank) mit WebObjects realisiert.

Viele professionelle Onlineshops nutzen den Cold Fusion Server, der neben einer hohen Performance auch eine einfache Bedienbarkeit bietet, jedoch in Sicherheitsfragen nicht so gut ausgestattet ist wie ein auf reinem Java basie- rendes System.

3 Das Verfahren Active Server Pages

Microsoft-ASP steht für Active Server Pages und bietet die Möglichkeit, HTML- Dokumente interaktiv zu gestalten. Dabei ist ASP ein integraler Bestandteil der Active-Plattform von Microsoft. Diese Active-Plattform stellt eine Technologie dar, um komplexe und interaktive Internetanwendungen entwickeln zu können. Hierdurch soll beispielsweise ermöglicht werden, dass ein Reisebüro nicht nur bloße Fluginformationen zur Verfügung stellt, sondern es seinen Kunden auch erlauben kann, mittels Eingabemasken Flüge eigenständig zu buchen. Beim Active-Plattform-Konzept ist zu Unterscheiden zwischen den Active-Desktop- (clientseitigen) und den Active-Server- (serverseitigen) Applikationen. Da der Schwerpunkt der vorliegenden Hausarbeit auf ASP und deren Anwendung liegt, wird auf Active-Desktop nicht näher eingegangen.

Das ASP-Modul wird als eine Komponente auf einem bestehenden Webserver (bspw. Microsoft Internet Information Server oder Apache Server) installiert. Diese Servererweiterung verarbeitet die vom Client angeforderten ASP-Dateien (einfache Textdaten mit der Endung .asp) und übermittelt das Resultat dem anfordernden Client - meist einem Webbrowser.

3.1 Sprachen für Active Server Pages

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 - Komplexitätsdreieck Programmiersprachen/Skriptsprachen

ASP ist keine Programmiersprache im herkömmlichen Sinne, sondern ein Stan- dard, der unterschiedliche Sprachen miteinander verbindet. Bei diesen Pro- grammiersprachen handelt es sich um sog. Skriptsprachen. Diese bilden eine Zwischenstufe zwischen der Seitenbe- schreibungssprache HTML und vollwer- tigen Programmiersprachen wie Java, C++ oder Visual Basic. HTML dient im Normalfall dazu, Formatierungen und Verknüpfungen von Text zu erstellen. Programmiersprachen erfüllen dagegen die Aufgabe, komplexe Anweisungen auf einem Computer auszuführen. Die Skriptsprachen sind dazwischen anzusiedeln, obwohl sie mehr Programmiersprache als Seitenbeschreibungssprache sind. Der Grund ist in der weniger starken Komplexität und Starrheit bezüglich Syntax und Regeln der Skriptsprachen anzusehen.

Standardmäßig unterstützt ASP die Verwendung der Skriptsprachen VBScript (primäre Skriptsprache) und Jscript/JavaScript. Aber auch andere Skriptsprachen, wie z.B. Perl, können nachträglich integriert werden. Hierbei ist es egal, ob der anfordernde Client die entsprechende Skriptsprache beherrscht, da diese auf Serverseite umgesetzt werden.

Ebenfalls möglich ist die Integration unterschiedlicher Skriptsprachen in einer ASP-Anwendung. Dies ist möglich, da innerhalb einer ASP-Datei die verwendete Skriptsprache jederzeit neu definiert werden kann. Mit diesem Funktionsmerkmal können Skriptsprachen verwendet werden, die jeweils für eine bestimmte Aufgabe besonders geeignet sind.

3.2 Allgemeine Funktionsweise von ASP

Wenn bereits Grundkenntnisse in Visual Basic, VBA, VBScript oder JScript/JavaScript vorliegen, können ASP-Anwendungen relativ einfach umgesetzt werden. Gerade durch die Verwendung von VBScript als primäre Skriptsprache ist es besonders für Visual Basic-Entwickler sehr einfach, auch komplexe ASP-Anwendungen zu entwickeln.

ASP-Anwendungen werden nicht als eigenständige Programme entwickelt, die erst kompiliert und in ein CGI-Verzeichnis kopiert werden müssen, sondern sie werden direkt in eine abgewandelte HTML-Datei (mit der Endung .asp) geschrieben. Die folgende Darstellung gibt einen Überblick über den normalen Ablauf einer Anforderung einer ASP-Datei durch einen Web-Client.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2 - Ablauf einer ASP-Anfrage

Fordert ein Web-Client eine solche Datei an, interpretiert die ASP-Komponente auf dem Webserver mittels Server Side Scripting den Skriptcode und liefert ein HTML-Dokument an den anfordernden Webbrowser zurück. Die Seiten werden komplett auf dem Server generiert und dann vollständig an den Client übergeben. Auf der Client-Seite erfolgt keine Interpretation der ASP-Daten (der Client erhält nicht einmal den eigentlichen Code, sondern nur das Ergebnis). Es erfolgt lediglich die Anzeige der fertigen Seite.

3.3 Entwicklung mit ASP

Eine vollständige ASP-Datei kann die folgenden Elemente beinhalten:

- HTML-Code
- Script-Delimiters (Abgrenzungszeichen für die einzelnen ASP-Scriptteile)
- Script-Code
- ASP-Objekte

Die Syntax einer .asp-Datei wird im Folgenden am Beispiel „Hallo Welt“ demonstriert:

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 - Komplexitätsdreieck Programmiersprachen/Skriptsprachen

Im ersten Abschnitt (<Script>...</Script>) wird eine Funktion „Hallo“ definiert, die eine Begrüßung und das aktuelle Datum ausgeben soll.

Im zweiten Abschnitt (<HEAD>...</HEAD>) wird der Standard-Kopf einer HTMLSeite definiert und der Seitentitel gesetzt.

Im dritten Abschnitt erfolgt die eigentliche Definition der Seite. Dabei wird zunächst, wie bei jeder Seite, mit <BODY> der Beginn der Seite definiert. Die ASP-Engine erhält nun mit der Zeichenfolge <% die Aufforderung, den nachfolgenden Text zu interpretieren. Zunächst wird die Prozedur Hallo() aufgerufen. Durch das Objekt Response und dessen Methode Write wird auf der StandardAusgabe (in diesem Fall der Webbrowser des Clients) der Text „Hallo! Heute ist der 11.12.2000“ in großer Schrift ausgegeben. Dabei wird die Formatierung des Textes über den Standard-HTML-Befehl <H1>..</H1> vorgenommen. Das besondere ist das dynamische Einfügen des aktuellen Datums.

Diese Aufgabe könnte theoretisch auch direkt auf der Client-Seite über ein einfaches Java-Script übernommen werden. Dieses Beispiel dient jedoch nur dem Verständnis der allgemeinen Syntax.

3.3.1 Objektorientierter Ansatz der ASP-Programmierung

Die ASP-Technologie unterstützt wie die meisten modernen Programmierspra- chen eine objekt-orientierte Programmierung. Bei der objektorientierten Pro- grammierung werden bestimmte Objekte mit Eigenschaften und Methoden erzeugt. Diese Objekte dienen als Vorlage und werden zur Benutzung instanziiert. Eine lokale Kopie eines Objektes kann nun Eigenschaften besitzen. Diese werden durch Methoden verändert. Vollständige Programmiersprachen, wie z.B. JAVA, bieten eine Vielzahl von Objekten und lassen auch die Definition eigener Objekte zu. ASP bietet nur einige Objekte, mit einem sehr beschränkten Funktionsumfang. Der skriptorientierte Ansatz der ASP-Technologie erfordert aber für die meisten Lösungen auch keine weiteren Objekte.

Die folgende Tabelle zeigt die gebräuchlichsten Objekte.

Abbildung in dieser Leseprobe nicht enthalten

Jedes Objekt besitzt mehrere Methoden, die eine Kommunikation mit der Applikation erlauben. Die Client-Server-Interaktion findet bei ASP immer über solche Methoden statt.

3.3.1.1 Request-Objekt

Über das Objekt Request werden Informationen der Client-Seite dem Server zur Verfügung gestellt. Das Request-Objekt besitzt dabei verschiedene Methoden, um auf Informationen zuzugreifen. Die Methoden orientieren sich an der Art der Informationsabfrage. Gibt der Benutzer z.B. Daten in eine Textbox ein, so wird die Methode Form des Objektes genutzt.

Über den Funktionsaufruf Request.Form(„Textfeld“) wird der Inhalt des Feldes „Textfeld“ ausgelesen. Der Server kann mit den so gewonnen Informationen nun eine spezifische Aktion auslösen.

Weitere Methoden des Request-Objektes sind:

- QueryString - Informationen in der URL werden ausgelesen (z.B. ID=0815)
- Cookie - In einem Cookie gespeicherte Informationen werden an den Server übertragen (oft bei Warenkörben)
- ServerVariable - eine Variable auf dem Server wird verändert
- ClientCertificate - Eine Client-Berechtigung wird abgefragt (gerade im Sicherheitsbereich sehr wichtig)

3.3.1.2 Response-Objekt

Das Response-Objekt steuert das direkte Verarbeiten von Anweisungen auf dem Server. Da das Ergebnis einer ASP-Anfrage immer eine HTML-Datei ist, muß diese vollständig auf dem Server erzeugt werden. Dieser als „parsen“ bezeichnete Vorgang erfolgt auf der Server-Seite immer über das Response-Objekt. Die wichtigste Methode des Response-Objektes ist die Methode Write. Sie ist die Entsprechung des bekannten Befehls Print. Ein Aufruf der Art Response.Write(„<H1>dies ist Text</H1>“) erstellt auf der Server-Seite also eine HTML-Datei, in der der komplette Text enthalten ist.

3.3.1.3 Application-Objekt

In diesem Objekt werden auf der Server-Seite applikationsabhängige Variablen gespeichert. Klassische Beispiele sind Datenbankverbindungen, Währung- oder Umrechnungsfaktoren, Zahlenformate usw.

Das Application-Objekt wird bei Start der Applikation erzeugt und kann zur Laufzeit verändert werden. Dabei steht das (einmalige) Applikation-Objekt allen Nutzern zur Verfügung und kann auch von allen geändert werden.

Der Ansatz der Objektorientierung bei ASP arbeitet jedoch recht selten mit Application-Objekten, da diese nicht dynamisch auf veränderte Situationen reagieren können.

3.3.1.4 Session-Objekt

Das Session-Objekt speichert Informationen auf Benutzerebene. Dies können z.B. Benutzername, Kreditkartennummer oder eine einmalige Benutzeridentifi- kation sein. Bei Einkaufssystemen wird dieses Session-Objekt zunehmend häufi- ger genutzt. Immer dann, wenn der Nutzer keine Cookies zulässt oder mehrere Nutzer an einem Rechner arbeiten, kann eine Cookie-basierte Lösung keine Nutzerdaten speichern. Durch die Vergabe einer Session-ID kann ein Benutzer eindeutig identifiziert werden. Für die Dauer des Besuches der Web-Seite wird das Session-Objekt über die Session-ID zur Verfügung gestellt.

Der Ablauf bei einer Bestellung wäre folgendermaßen:

1. Kunde ruft Startseite auf
2. Server vergibt Session-ID
3. Nutzer ruft Einkaufsfunktion auf
4. Server zeigt Shop und übergibt (meist in der URL) die Session-ID
5. Nutzer wählt mehrere Artikel aus
6. Server kann innerhalb des Systems z.B. Datenbank mit jedem gewählten Artikel und Session-ID speichern.

Am Ende dieses Vorganges kann der Server die Session-ID mit dem Benutzer verknüpfen und so zwischenspeichern oder der Kundenkartei hinzufügen. In der Kombination mit Cookies ist eine Session-ID das wichtigste Instrument zur Kundenanalyse und Marktforschung.

3.3.2 Dynamische Inhalte durch Datenbankanbindung

Die wohl wichtigste Anwendung der ASP-Technologie ist die Interaktion mit ver- schiedensten Datenquellen. Dabei kann praktisch jede Datenquelle genutzt werden, die über einen ODBC-Treiber5 angesprochen werden kann. Jede Daten- quelle muss also auf dem Server über einen entsprechenden Eintrag (Data Source Name - DSN) bekannt gemacht werden. Es spielt aber keine Rolle, ob es sich um eine lokale Access-Datei oder um eine Oracle-Datenbank auf einem Server handelt. In beiden Fällen wird die Verbindung über den entsprechenden Treiber aufgebaut.

Um dynamisch Daten aus einer Datenbank auszulesen, werden entsprechend der Active-Strategie von Microsoft ActiveX-Objekte genutzt. Die ActiveX-Kom- ponente ADO (Active Data Object) wird im ActiveX-Server-Framework ange- sprochen und leitet die Anfragen über die ODBC-Treiber an die Datenquellen weiter. Das ActiveX-Framework umfaßt alle ActiveX-Objekte, die innerhalb einer ASP-Umgebung eingesetzt werden können. Hier sind die beiden wesent- lichsten die ADO und die ActiveX-Scripting-Engine, die die eigentliche Interpre- tation der Skript-Dateien vornimmt und die entsprechenden Anweisungen durchführt. Sie ist auch für die Generierung der HTML-Datei zuständig.

Die folgende Grafik veranschaulicht diesen Zusammenhang.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3: Anbindung einer Datenbank

4 Realisierung eines Postershops

4.1 Systemabgrenzung

4.1.1 Technisch

Der virtuelle Poster-Shop „Poster“ soll die Einsatzmöglichkeiten der ASP-Tech- nologie demonstrieren. Dabei werden die technischen Elemente ausführlich erläutert, die in dem Postershop zum Einsatz kommen. Es besteht nicht der Anspruch, sämtliche ASP-Elemente abzudecken. Die folgenden Elemente wurden im Postershop eingesetzt:

- Post Methode

- Cookies

- Post (Übergabe über die URL)

- Dynamische Navigation

- Offset
- Master-Detail Beziehung

Darüber hinaus wird auch das Datenmodell des Postershops erläutert.

4.1.2 Funktional

Ziel ist es, dem Benutzer auf der Startseite dynamisch die neuesten Poster in Form einer News-Liste bekannt zu machen und eine Art Charts in Form einer Top-10-Liste bereitzustellen. Basierend auf dem ausgewählten Künstler soll eine Liste mit seinen weiteren Werken angezeigt werden. Über einen Button kann jedes Poster in den Bestellkorb übernommen werden.

Über eine Maske soll außerdem die Bearbeitung des Warenkorbes möglich sein. Abschließend kann von einem Warenkorb ausgehend eine Bestellung ausgelöst werden. Dafür ist die Eingabe der Lieferadresse notwendig. Die Adresse wird mit einer eindeutigen Nummer in die Datenbank geschrieben.

4.2 Datenmodell

Für die Umsetzung des Postershops muß zunächst ein entsprechendes Datenmodell entwickelt werden, welches neben dem reinen Posterbestand auch noch Funktionen wie Top-10, News und weiterführende Informationen zu den Künstlern zur Verfügung stellen soll.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4 : Datenmodell des Postershops

Über ASP werden diverse Datenbankabfragen durchgeführt. Anhand der Such- funktion wird die generelle Funktionsweise beschrieben, die natürlich auch auf alle anderen Abfragen übertragen werden kann. Der Programmcode ähnelt dem von Visual Basic. Bei einer Abfrage wird immer ein Recordset erzeugt. Das Recordset enthält das Ergebnis der Abfrage und kann über den ASP-Code direkt angesprochen werden. Im ersten Schritt wird das Recordset (rsMaler) auf die Datenbank „ASPBilder“ eingestellt. Diese Datenbank muß einen DSN- (Data Source Name) Eintrag in der Systemsteuerung haben. Anschließend kann das Recordset mit der Abfrage gefüllt werden.

Abbildung in dieser Leseprobe nicht enthalten

Das Recordset wird dynamisch mit den Eingaben des Suchformulars gefüllt, sofern Einträge gemacht worden sind. Die obige Abfrage würde als Ergebnis sämtliche Poster liefern. Durch die Eingabe eines Bildnamens, eines Malervoroder nachnamens würde die Ergebnismenge eingeschränkt werden.

4.3 Dynamische Anzeige von Daten

Die folgende Abbildung enthält das Ergebnis der im vorigen Kapitel vorgestell- ten Suche. Als Filter wurde der Nachname des Malers (Kandinsky) eingetragen, so dass als Ergebnis die Bilder des Malers Wassily Kandinsky angezeigt werden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 5: Suchergebnis

Der Quellcode dieser auf dem Client angezeigten Seite enthält keine ASPAnteile mehr. Der Server hat eine reine HTML- Datei geliefert. Dies ist sinnvoll, da der Client auf diese Weise entlastet wird und der Benutzer keine Einblicke in den Aufbau der Strukturen der Datenbank erhält.

Da es dem Benutzer nicht zuzumuten wäre, wenn alle Bilder eines Malers auf einmal angezeigt werden würden, wird das erzeugte Recordset in mehrere Teile untergliedert. Wie man in Abbildung 5 erkennen kann, hat der Benutzer über die Befehle „vorherige Seite“ und „nächste Seite“ die Möglichkeit, weitere Daten anzeigen zu lassen. Dieses Verfahren wird mit Hilfe von Offsets realisiert. Wenn z.B. ein Recordset 90 Datensätze enthält und die maximale Größe eines Offsets 10 Datensätze beträgt, wird das Recordset in 9 Teile zerlegt. Die Identifizierung der einzelnen Teile erfolgt über einen statischen Link, in dem die Offsetposition über eine ID übergeben wird. Das folgende Beispiel zeigt, wie ein solcher Link aussehen könnte.

http://localhost/franchise_search.asp?txtBildname=&Search=Searc h&offset=10

Das nächste Offset hätte die ID Offset=20. Durch Offsets lassen sich größere Datenmengen mit wenig Aufwand dynamisch darstellen.

ASP bietet jedoch weitaus mehr dynamische Elemente. So lassen sich in ASP übliche Elemente einer Programmiersprache wie z.B. Schleifen implementieren. So werden in dem folgenden Beispiel zwei If-Anweisungen in eine For - Next Schleife geschachtelt.

Abbildung in dieser Leseprobe nicht enthalten

Im ersten Abschnitt wird das Objekt Request angesprochen. Die Methode Que- ryString ermittelt Daten aus der übergebenen URL. Für jedes Element in der URL wird dann überprüft, ob der übergebene Befehl UC_EmptyCart lautet oder ob ein Element übergeben wird. Wird als Befehl UC_EmptyCart übergeben, so wird der aktuelle Warenkorb gelöscht. Ist ein Element in der URL übergeben worden, so wird der bisherige Warenkorb um ein weiteres Element ergänzt.

In einer Schleife werden auch die Datensätze aus der Datenbank ausgelesen. Dabei kann entweder nur eine bestimmte Anzahl von Datensätzen oder alle Datensätze angezeigt werden. Realisiert wird dies über das oben schon erwähnte Offset.

In der HTML-Datei werden Kopf und Fuß einer Tabelle vordefiniert und die einzelnen Tabellenzeilen dann dynamisch mit Inhalt gefüllt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 6: Realisierung einer Schleife

Über die Bedingung lassen sich z.B. komplette Elemente in Abhängigkeit von Bedingungen anzeigen oder verbergen. So wird für den Postershop zum Beispiel die Navigation (<< Vorige Seite Nächste Seite >>) in Abhängigkeit von der Posi- tion innerhalb des Recordsets angezeigt. Befindet man sich am Anfang des Recordsets, so wird dem Benutzer zwar die Möglichkeit gegeben, den nächsten Datensatz anzuzeigen, jedoch erscheint die Schaltfläche << Vorige Seite nicht. Ebenso wird beim letzten Datensatz eine Navigation über das Ende des Recordsets hinaus nicht erlaubt. Bei der Anzeige der Nachrichten wird diese Navigation eingesetzt.

4.4 Aufbau der Client- Server Interaktion

4.4.1 Nachrichten

Die Nachrichten werden über eine sogenannte Master-Detail Beziehung dargestellt. D.h. es gibt eine Masterseite (Abbildung 7: Master), auf der die Überschriften der Nachrichten mit einem Kurztext dargestellt werden. Die Überschrift ist mit der Detailseite (Abbildung 8: Detail) verknüpft, auf der die komplette Nachricht angezeigt wird.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7: Master

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 8: Detail

Die Links von der Master zur Detailseite werden vom Server fest definiert und mit Hilfe einer ID gesteuert. So erhält die erste Seite die ID=1. Der folgende Link zeigt, wie die URL aussehen könnte:

http://localhost/asp_tutorial/scaal_extranet/extranet_news_arti cle.asp?id=1

4.4.2 Warenkorb

Der Warenkorb ermöglicht eine Mengenänderung und das Löschen des kompletten Warenkorbes. Zudem berechnet er den gesamten Kaufpreis und gibt das Ergebnis aus. Zu jeder Bestellposition wird zur Kontrolle noch einmal ein Vorschaubild angezeigt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 9: Warenkorb

Der Warenkorb wird über Textdateien, sog. Cookies, auf der Clientseite gesteu- ert. Entscheidet sich der Benutzer, einen Artikel über die Schaltfläche „In den Einkaufskorb“ vorzumerken, so erhält der Server den Befehl, den bisherigen Cookie um die neue Position zu ergänzen oder einen neuen anzulegen. Dieser

Cookie wird dann an den Client übertragen. Die folgende Abbildung soll den Ablauf demonstrieren.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 10: Cookie setzen

Um den Warenkorb dann tatsächlich anzuzeigen, benötigt der Client nicht nur die Informationen, die im Cookie gespeichert sind, sondern noch weitere Daten vom Server. Ruft der Client also seinen Warenkorb auf, so schickt er seinen Cookie an den Server, dieser liest die darin enthaltenen Informationen aus und generiert aus einer Vorlage, der Datenbank und den Informationen aus dem Cookie die fertige HTML-Seite und schickt diese dem Client. Die folgende Abbil- dung zeigt diesen Sachverhalt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 11: Anzeige des Warenkorbes

4.4.3 Speicherung der Bestellung

Wurden alle gewünschten Poster dem Warenkorb hinzugefügt, kann über den Link das Bestellformular aufgerufen werden. Hierbei wird der im Cookie des Benutzer gespeicherte Warenkorb ausgelesen und als Tabelle angezeigt. Gleichzeitig wird ein einfaches HTML-Formular generiert, in das der Kunde seine persönlichen Daten eintragen muss.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 12: Bestellmaske

Wenn der Kunde nun den Button „Bestellen“ betätigt, werden

a. die persönlichen Daten aus dem Web-Formular in die Tabelle „Kunden“ der Datenbank geschrieben. Die Datenbank vergibt dabei automatisch eine neue Kundennummer.
b. die aktuelle Bestellnummer aus der Tabelle „NextOrderID“ ausgelesen.
c. die Daten aus dem Cookie in die Datenbank auf dem Webserver geschrieben.
d. der Cookie, der den Warenkorb des Kunden enthält, gelöscht.

Danach erfolgt eine Weiterleitung auf eine „Dankeschön-Seite“. An dieser Stelle muss der Benutzer den Bestellvorgang mit dem Druck auf die OK-Schalt- fläche abschließen. Die vorhandene „NextOrderID“ wird nun um eins erhöht.

5 Bewertung

Die ASP-Technik wird sehr kontrovers diskutiert. Es gibt eine Reihe von Vor- und Nachteilen, die gegeneinander aufgewogen werden müssen. Letztendlich muss vor dem Hintergrund der einzelnen Projekte entschieden werden, ob ASP ge- eignet ist. Um die Entscheidung zu erleichtern, werden die wichtigsten Argu- mente genannt:

Möglichkeiten:

- Schnelle, unkomplizierte Erstellung von dynamischen Seiten

- Zugriff auf beliebige ODBC-Quelle

- Kostengünstiger, als komplizierte objektgesteuerte Entwicklungsumge- bung

- Die meisten Komponenten werden mit WIN 98/2000 mitgeliefert

- Personal Webserver
- Frontpage in Office

- Aufbauen von dynamischen Web-Sites, selbst wenn der Browser keine Scripts interpretieren kann (Browserunabhängigkeit)

- Möglichkeit, diverse Skriptsprachen zu kombinieren

- Fünf eingebaute Objekte (Request, Response, Server, Session, Applica- tion)

- Unterstützung von ActiveX-Serverkomponenten

- Zusatzkomponenten von Drittanbietern (sowohl frei als auch kommer- ziell)

Grenzen:

- Der Einsatz von ASP ist beschränkt auf eine heterogene Microsoft-Umge- bung
- Der Internetserver muss ASP unterstützen
- Modularisierung ist zwar theoretisch über ActiveX -Objekte möglich, ist aber sehr aufwendig - bei großen Projekten kann dies ein entscheiden- der Nachteil sein
- Keine wiederverwendbaren Java Objekte, die bei ähnlicher Aufgabenstellung wiederverwendet werden können
- Cross-Media Publishing ist nicht möglich
- Sicherheitsbedenken, da ActiveX (ado6 ) serverseitig ausgeführt wird
- Unübersichtlicher Code durch die Mischung von HTML, Text und ActiveX- Skripten

6 Weiterführende Ressourcen

6.1 Literatur

Christian Wenz, Tobias Hauser:

Dynamic Web-Publishing - Jetzt lerne ich Einfache Web-Programmierung mit

HTML, JavaScript, Perl PHP und ASP,

Markt und Technik; ISBN: 3827257646

Christian Wenz:

Workshop ASP

Addison-Wesley, München; ISBN: 3827316936

J ö rg Krause:

Microsoft Active Server Pages. Programmierung dynamischer, datenbankgestützter Webseiten

Addison-Wesley, München; ISBN: 3827316561

J ö rg Krause:

ASP-Programmierpraxis. ADO, ADSI und CDO im Detail

Addison-Wesley, München; ISBN: 3827316553

Uwe B ü nning:

Internet Intern. Dynamische Webseiten mit ASP

DATA Becker, Ddf.; ISBN: 3815820197

Stephan Walther, Jonathan Levine:

E-commerce-Programmierung mit ASP in 21 Tagen

Markt u. Technik, Mchn.; ISBN: 3827258391

6.2 Internetlinks

Abbildung in dieser Leseprobe nicht enthalten

[...]


1 HyperText Markup Language

2 HyperText Transport Protocol

3 CGI (Common Gateway Interface) ist eine genormte Schnittstelle, die es anderen Programmen ermöglicht, HTML-Seiten auf dem Server vor dem Versenden zu bearbeiten. Hierbei werden meist Scriptsprachen wie Perl benutzt.

4 Veröffentlichen einer Struktur in diversen Formaten (html, pdf)

5 Open database connectivity

6 active data objects

Details

Seiten
28
Jahr
2000
Dateigröße
806 KB
Sprache
Deutsch
Katalognummer
v98902
Note
1,0
Schlagworte
Active Server Pages Informatik Anwendung

Autor

Zurück

Titel: ASP - Active Server Pages