300 74 7MB
German Pages 628 Year 2001
E-CommerceProgrammierung mit ASP in 21 Tagen
Stephen Walther Jonathan Levine
E-CommerceProgrammierung mit ASP in 21 Tagen
Bitte beachten Sie: Der originalen Printversion liegt eine CD-ROM bei. In der vorliegenden elektronischen Version ist die Lieferung einer CD-ROM nicht enthalten. Alle Hinweise und alle Verweise auf die CD-ROM sind ungültig.
Markt+Technik Verlag
Die Deutsche Bibliothek – CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich.
Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar.
Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Software-Bezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden. Autorisierte Übersetzung der amerikanischen Originalausgabe: Teach Yourself E-Commerce Programming with ASP in 21 Days © by SAMS Publishing Umwelthinweis: Dieses Buch wurde auf chlorfrei gebleichtem Papier gedruckt. Die Einschrumpffolie – zum Schutz vor Verschmutzung – ist aus umweltverträglichem und recyclingfähigem PE-Material.
10 9 8 7 6 5 4 3 2 1 03 02 01
ISBN 3-8272-5839-1
© 2001 by Markt+Technik Verlag, ein Imprint der Pearson Education Deutschland GmbH. Martin-Kollar-Straße 10–12, D–81829 München/Germany Alle Rechte vorbehalten Einbandgestaltung: NOWAK werbeagentur & medien, Pfaffenhofen Lektorat: Jürgen Bergmoser, [email protected] Übersetzung: blue tec München Herstellung: Claudia Bäurle, [email protected] Satz: reemers publishing services gmbh, Krefeld Druck und Verarbeitung: Bercker, Kevelaer Printed in Germany
Inhaltsverzeichnis Inhaltsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Tag 1
Einführung in den E-Commerce . . . . . . . . . . . . . . . . . . . . 13 Was ist E-Commerce? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Microsoft-Technologien für den E-Commerce . . . . . . . . . . . . . Was ist eine ASP-Seite? . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 2
Interaktion mit dem Kunden . . . . . . . . . . . . . . . . . . . . . . . 29 Arbeit mit dem Response-Objekt . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit dem Request-Objekt . . . . . . . . . . . . . . . . . . . . . URL-Parameter und Formularfeldwerte auslesen. . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 3
30 36 48 54 55 56
Verwenden der Application- und -Session-Objekte in E-Commerce-Anwendungen. . . . . . . . . . . . . . . . . . . . . 57 Kundeninformationen mit Hilfe von Cookies gewinnen . . . . . . Kundeninformationen mit Hilfe von Session-Variablen gewinnen . . . . . . . . . . . . . . . . . . . . . . . . . Verwendung von Application-Variablen . . . . . . . . . . . . . . . . . Verwendung der Global.asa-Datei . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 4
14 16 20 25 25 26
58 63 68 74 77 78 79
Arbeiten mit Dateien in Ihrer E-CommerceAnwendung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Einfügen von Dateien in eine ASP-Seite. . . . . . . . . . . . . . . . . 82 Verwenden von Dateiumleitungen . . . . . . . . . . . . . . . . . . . . . 87 Verwendung der File-Access-Komponente . . . . . . . . . . . . . . . 90
5
Inhaltsverzeichnis
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Fragen & Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Tag 5
Erstellen Ihres Produktkatalogs . . . . . . . . . . . . . . . . . . . . 103 Anlegen der Store-Datenbank . . . . . . . . . . . . . . . . . . . . . . . Anlegen der Produkttabelle . . . . . . . . . . . . . . . . . . . . . . . . . Verbindung zu einer Datenbank . . . . . . . . . . . . . . . . . . . . . . Hinzufügen von Produkten zu der Produkttabelle . . . . . . . . . Aktualisieren von Produktinformationen in der Produkttabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 6
164 173 179 181 181 182 184
Erstellen der Transaktionsdatenbank . . . . . . . . . . . . . . . 189 Die Tabellen der Transaktionsdatenbank. . . . . . . . . . . . . . . . Erstellen der Datenbanktabelle des Benutzers . . . . . . . . . . . . Registrierung von Benutzern . . . . . . . . . . . . . . . . . . . . . . . . Abfangen von Fehlern innerhalb des Formulars . . . . . . . . . . Verwenden von Secure Sockets Layer . . . . . . . . . . . . . . . . .
6
138 142 157 160 160 161
Suchen Ihrer Produkte. . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Anzeigen einer Liste der Sonderangebote. . . . . . . . . . . . . . . Erstellen einer Suchseite . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen von indizierbaren Webseiten. . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bonusprojekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 8
120 134 134 135
Die Anzeige Ihrer Produkte . . . . . . . . . . . . . . . . . . . . . . . 137 Verwenden von Datensätzen . . . . . . . . . . . . . . . . . . . . . . . . Anzeigen von Produkten. . . . . . . . . . . . . . . . . . . . . . . . . . . Wie machen Sie Ihren Shop skalierbar? . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 7
104 105 108 110
190 191 192 203 205
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Tag 9
Erstellen des Warenkorbs . . . . . . . . . . . . . . . . . . . . . . . . 213 Verwenden von Session-Variablen zum Erstellen eines Warenkorbs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden der grundlegenden ADO-Methoden . . . . . . . . . . Verwenden einer Datenbanktabelle zum Erstellen eines Warenkorbs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 10
238 244 251 260 260 261
Arbeiten mit Kreditkarten . . . . . . . . . . . . . . . . . . . . . . . . 263 Wählen Sie eine Methode für das Verarbeiten von Kreditkarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vorbereitungen zu CyberCash . . . . . . . . . . . . . . . . . . . . . . . Kreditkarten-Transaktionen autorisieren . . . . . . . . . . . . . . . . Kreditkarten-Transaktionen einstellen. . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 12
228 235 235 236
An der Kasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Was sind Transaktionen? . . . . . . . . . . . . . . . . . . . . . . . . . . Vervollständigen der Bestellung . . . . . . . . . . . . . . . . . . . . . . Verarbeiten der Bestellungen. . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 11
214 222
264 267 272 281 284 284 285
Lassen Sie Kunden ihre Bestellungen verfolgen . . . . . . . 287 Lassen Sie Ihre Kunden die Bestellungen auf einer Webseite verfolgen. . . . . . . . . . . . . . . . . . . . . . . . . . . Zustellungskosten berechnen . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
288 293 301 301 302
7
Inhaltsverzeichnis
Tag 13
Erstellen von Sites, die auf Abonnements basieren . . . . 303 Die HTTP-Zugriffsberechtigung . . . . . . . . . . . . . . . . . . . . . . Verwendung der Datenbank-Zugriffsberechtigung . . . . . . . . . Verwenden von hybriden Authentifizierungen . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 14
Kundenspezifisches Shopping-Erlebnis . . . . . . . . . . . . . . 329 Existierende Anwendereinstellungen wieder aufgreifen . . . . . Kundennahe Produktwerbung . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bonusprojekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 15
330 340 350 351 352 354
Sicherheitsvorkehrungen für Ihren Shop treffen . . . . . . . 361 Ihre eigene Domäne registrieren . . . . . . . . . . . . . . . . . . . . . Domänennamen und Marketing . . . . . . . . . . . . . . . . . . . . . So registrieren Sie Ihren Domänennamen selbst . . . . . . . . . . Ihren Server sicherer machen . . . . . . . . . . . . . . . . . . . . . . . Mit SSL private Informationen der Anwender schützen . . . . . Ihre Datenbank schützen. . . . . . . . . . . . . . . . . . . . . . . . . . . Das Better Business Bureau Reliability-Programm . . . . . . . . . Aufstellen von Geheimhaltungsrichtlinien und deren Zertifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Better Business Bureau's Children's Advertising Review Unit Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 16
304 308 320 327 327 328
362 363 364 366 372 374 376 377 379 381 381 381
Das Debugging von E-Commerce-Applikationen . . . . . . 383 Separate Entwicklungs- und Produktionssysteme. . . . . . . . . . 384 Mit Visual InterDev integriertem Debugger Applikationen testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Eine Applikation auf einem Produktionsserver debuggen . . . . 400
8
Die Anwendung von iDebugLevel . . . . . . . . . . . . . . . . . . . . Fehler in einer Logdatei erfassen . . . . . . . . . . . . . . . . . . . . . Testen der Skalierbarkeit. . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tag 17
Remote-Verwaltung Ihres Shops mit ASP . . . . . . . . . . . . 417 Die IIS-Verwaltungsseiten . . . . . . . . . . . . . . . . . . . . . . . . . . Installieren und Verwalten des IIS FTP Services . . . . . . . . . . . Hochladen von Dateien auf eine Site, die FTP verwendet. . . . Fortgeschrittene Wartung des webbasierten Produktkatalogs . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verständnisfragen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 18
454 457 459 460 474 485 486 486
Erstellen von Berichten . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Berichte über Sitebesucher . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 20
418 425 428 430 449 450 451 451
E-Mail und Active Server Pages. . . . . . . . . . . . . . . . . . . . 453 Die Grundlagen von Internet Mail . . . . . . . . . . . . . . . . . . . . Konfigurieren des SMTP Services . . . . . . . . . . . . . . . . . . . . Die Collaboration-Datenobjekte für NT Server (CDONTS) . . . Senden von E-Mail von einer ASP-Seite . . . . . . . . . . . . . . . . Senden von Stapel-E-Mails . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag 19
403 409 411 413 413 414
488 513 514 514
Arbeiten mit Wallets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Realer Handel im Vergleich zu E-Commerce. . . . . . . . . . . . . Elektronische Geldbörsen (Wallets) . . . . . . . . . . . . . . . . . . . . Wallet-Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ihr eigenes Wallet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
516 517 524 525
9
Inhaltsverzeichnis
Informationen von Wallets empfangen . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tag 21
541 542 542 543
Werben für Ihre Site und Verwaltung von Werbebannern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 Web Rings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Werbebanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Für Werbebanner zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . An Treueprogrammen teilnehmen . . . . . . . . . . . . . . . . . . . . Andere Wege, um den Umsatz zu erhöhen . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bonusprojekt: Feedback-Bestätigung für den Kunden . . . . . .
560 562 564 565 566 569 570 570 572
Anhang A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Anhang B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
10
Überblick
1 Woche
In dieser Woche werden Sie mit der Erstellung Ihres Online-Stores beginnen. In der ersten Lektion werden Sie in E-Commerce und das Erstellen von Active Server Pages eingeführt. Sie werden drei verschiedene E-Commerce Modelle kennen lernen. Des weiteren werden Sie einen Überblick über die Microsoft-Technologien und die Erstellung kommerzieller Websites bekommen. Die nächsten drei Lektionen, vom 2. bis 4. Tag, werden aus einem Crash-Kurs im Programmieren von Active Server Pages bestehen, wobei der Schwerpunkt auf der Erstellung kommerzieller Websites liegt. Sie werden lernen, wie man Active Server Pages-Scripts schreibt und wie man Kundeninformationen abruft. Sie werden ebenfalls lernen, wie man Kundeninformationen mit Hilfe von Cookies und SessionVariablen verfolgt. Schließlich werden Sie lernen, wie man mit Dateien in Active Server Pages arbeitet. Am 5. Tag werden Sie mit der Erstellung Ihres Online-Stores beginnen. Zuerst werden Sie lernen, wie man Active Server Pages erstellt, um Ihren Produktkatalog zu pflegen. Danach, am 6. Tag, werden Sie lernen, wie Sie Produktseiten für Ihren Store anlegen. Zuletzt, in der Lektion des 7. Tages, werden Sie einige Techniken erlernen, die es dem Kunden ermöglichen, den Produktkatalog durchzublättern. Sie werden in der Lage sein, Ihren Produktkatalog ins Web zu stellen.
12
1 Einführung in den E-Commerce Woche 1
1
Einführung in den E-Commerce
Das explosionsartige Wachstum des Internetgeschäfts hat das Interesse der Öffentlichkeit geweckt. Diese Tatsache lässt sich einfach erklären. Ein Großteil der Internet-Faszination ist durch die großen Gewinne hervorgerufen worden, die das Internet mit sich bringt. Viele Leute haben eine Menge Geld damit gemacht. Laut einer kürzlich von Cisco Systems erstellten Studie wird vermutet, dass mit dem Internet im Jahr 2000 ein Umsatz von 507 Milliarden Dollar erzielt wird (siehe http://www.internetindicators.com). E-Commerce bringt jetzt schon mehr Geld ein als die Telekommunikations- und Luftfahrtbranche. eBay, eine Firma, die vor weniger als fünf Jahren von einem Mann gegründet worden ist, der nach einer effizienteren Methode suchte, um die Pez-Spender seiner Frau zu verkaufen, hat vor kurzem Butterfield & Butterfield, ein seit 135 Jahren bestehendes Aktionshaus, aufgekauft. Und Amazon, eine vor knapp fünf Jahren gegründete Firma, verkauft heute online fünfmal so viele Bücher wie der renommierte Buchhandel Barnes and Noble. Die Welt verändert sich. Es liegt noch nicht lange zurück, dass das Erstellen von Webseiten, besonders die für den Handel ausgerichteten Webseiten, eine Aufgabe war, die bestenfalls Absolventen des Massachusetts Institute of Technology übertragen wurde. Man hatte keine andere Wahl, als sich mit der unverständlichen Syntax der Sprachen wie Perl abzumühen oder mit Programmiersprachen auf niedriger Ebene wie C++ zu arbeiten. Glücklicherweise hat Microsoft-Technologien entwickelt, die es Ihnen ermöglichen, schnell eine kommerzielle Webseite zu erstellen: Active Server Pages (ASP). Mit der Verwendung von Active Server Pages können sie Webseiten mit der gleichen Qualität wie der von Dell.com oder BarnesandNable.com erstellen (beides Webseiten, die mit Active Server Pages erstellt worden sind). In der heutigen Lektion werden Sie in zwei Themengebiete dieses Buches eingeführt: E-Commerce und Active Server Pages. Wir werden die folgenden Fragen diskutieren: 1. Welche Bedeutung hat es für ein Unternehmen, im E-Commerce aktiv zu sein? 2. Welche Microsoft-Technologien gibt es, um kommerzielle Webseiten zu erstellen. 3. Was ist eine ASP-Seite?
Was ist E-Commerce? Unter E-Commerce versteht man den Prozess des Kaufs oder Verkaufs eines Produkts oder einer Dienstleistung über ein elektronisches Netzwerk. Das beliebteste Medium, über das E-Commerce betrieben wird, ist das Internet.
14
Was ist E-Commerce?
1
E-Commerce umfasst drei Arten von Geschäftstransaktionen. Zum einen kann die Transaktion zwischen einem Unternehmen und einem Kunden stattfinden. Wenn man an E-Commerce denkt, ist dies das erste, an das man denkt. Amazon ist ein gutes Beispiel für den business-to-consumer-E-Commerce. Amazon wirbt für sich, als »die Stelle, bei der man alles finden und entdecken kann, was man online kaufen möchte«. Amazon verkauft dem Kunden online Bücher, CDs, elektronische Geräte und Videos. Business-to-consumer-E-Commerce kann auch Dienstleistungen beinhalten. Eine anmeldepflichtige Webseite, die keine materiellen Güter verkauft, fällt auch unter den Begriff E-Commerce. Match.com – ein Online Partnervermittlungsservice – verkauft Zugangsberechtigungen zu seiner Webseite, die es Kunden ermöglichen die Listen zu durchsuchen, um einen Partner zu finden. Eine zweite allgemeine Form von E-Commerce umfasst Transaktionen zwischen zwei Unternehmen. Ein Unternehmen, das in dieser Art des E-Commerce aktiv ist, fällt dem Kunden und damit der breiten Öffentlichkeit weniger auf. Cisco Systems ist ein klassisches Beispiel für ein Unternehmen, das im business-to-business-E-Commerce aktiv ist. Cisco Systems legt eine physikalische Infrastruktur des Internets an, die es Unternehmen ermöglicht zu kommunizieren. Eine letzte Form des E-Commerce, die in den letzten Jahren sehr beliebt geworden ist, ist die Transaktion vom Kunden zum Kunden. Das bekannteste Beispiel für ein Unternehmen, das diese Art von E-Commerce betreibt, ist eBay. eBay ermöglicht es seinen Kunden, Gegenstände an andere Kunden zu versteigern. (eBay erhebt für jede Transaktion eine Gebühr). Die Wurzeln des E-Commerce liegen im EDI (Electronic Data Interchange). EDI ist eine strukturierte Methode, Informationen von einem Computer zu einem anderen zu übermitteln. EDI wurde entwickelt, um es Unternehmen zu ermöglichen, Geschäftsdokumente zu übermitteln, wie zum Beispiel Rechnungen oder Kaufaufträge. EDI kann auch für die Übertragung vieler anderer Arten von Informationen genutzt werden. Universitäten verwenden EDI, um Abschriften zu übermitteln und Krankenkassen nutzen EDI, um Patientenberichte zu übermitteln. Wenn man an E-Commerce denkt, denkt man sofort an einen Kunden, der ein Produkt von einer Webseite aussucht und dieses online mit seiner Kreditkarte bezahlt. Oder mit anderen Worten, es sieht so aus, als ob eine Kreditkarten-Transaktion ein wesentlicher Bestandteil des E-Commerce ist. Aber E-Commerce kann auch nur die Aktivitäten umfassen, die zum Kauf führen, nicht aber den eigentlichen Kauf. Nehmen wir einmal an, Sie haben einen Store (hier im Sinne eines wirklichen Ladens und kein virtueller Store) in dem Sie Küchengeräte wie Herde oder Kühlschränke verkaufen. Sie könnten sich dazu entscheiden, dass es sinnvoll ist, eine Website anzu-
15
1
Einführung in den E-Commerce
legen, die eine Liste der Geräte enthält, die Sie in Ihrem Laden verkaufen, auch wenn Sie dem Kunden keine Möglichkeit bieten, Ihre Produkte online zu kaufen. Der einzige Zweck der Website ist es, den Kunden zu animieren, einen real existierenden Laden zu besuchen. Dies ist also auch eine gültige Form des E-Commerce. Eine gute Informationsquelle zum Thema E-Commerce ist die Webseite der Electronic Commerce Policy (http:\\www.ecommerce.gov) der US-Regierung. Hier findet man eine Anzahl von interessanten Berichten zum Thema E-Commerce. Finanziert wird das Ganze aus Steuermitteln.
Microsoft-Technologien für den E-Commerce Die Lektionen in diesem Buch konzentrieren sich auf die Anwendung von MicrosoftTechnologien, um kommerziell nutzbare Webseiten anlegen zu können. Die Lektionen setzen voraus, dass Sie sowohl mit einem Microsoft-Webserver als auch mit einer Microsoft-Datenbank arbeiten. Microsoft bietet zwei Webserver an: Den Personal Web Server und den Internet Information Server. Sie benötigen einen der beiden Webserver auf Ihrem Computer, um die Lektion abschließen zu können. (Für einige der fortgeschrittenen Lektionen ist der Internet Information Server erforderlich.) Sie benötigen zusätzlich Zugang zu einer Datenbank, um die Lektionen abschließen zu können. Für die Lektionen ist es erforderlich, dass Sie entweder mit Microsoft Access oder mit dem Microsoft SQL Server arbeiten. Dennoch können Sie bei den meisten Lektionen mit geringfügigen Änderungen auch andere Datenbank-Server wie zum Beispiel Oracle verwenden. Die folgenden Abschnitte liefern einen kurzen Überblick über die Unterschiede zwischen diesen Programmen und den Microsoft-Anwendungen für die Erstellung kommerzieller Webseiten.
Microsoft Personal Web Server Der Microsoft Personal Web Server arbeitet mit Windows 95, Windows 98 oder Windows NT Workstation. Sie können den Personal Web Server kostenlos unter der folgenden Internetadresse herunterladen: http://www.microsoft.com/windows/ie/pws/default.htm
16
Microsoft-Technologien für den E-Commerce
1
Wegen einiger mysteriöser Gründe hat Microsoft den Personal Web Server dem Windows NT Option Pack beigelegt. Dies ist deswegen verwirrend, da der Personal Web Server für Windows 95 oder Windows 98 entwickelt wurde. Der Personal Web Server wurde entwickelt, um zwei Ziele verfolgen zu können. Sie können ihn für eine wenig besuchte Webseite nutzen (zum Beispiel um Dokumente im Intranet Ihrer Firma bereitzustellen). Als Alternative können Sie den Personal Web Server auch dazu nutzen, einen Prototypen einer Webseite zu erstellen, um den Inhalt einer Seite zum Internet Information Server zu übermitteln. An dieser Stelle muss betont werden, dass der Personal Web Server kein geeigneter Webserver ist, um eine aktuelle Seite im Internet zur Verfügung zu stellen. Er kann nicht eine große Anzahl von Benutzern gleichzeitig unterstützen. Wenn es nicht ausdrücklich anders erwähnt ist, können Sie mit dem Personal Web Server aber in allen Lektionen arbeiten, die in diesem Buch behandelt werden.
Microsoft Internet Information Server Wenn Sie bereit sind, Ihre Website ins Internet zu stellen, müssen Sie mit dem Microsoft Internet Information Server arbeiten, da er hunderte, ja sogar tausende gleichzeitige Benutzer bedienen kann. Einige der größten Webseiten im Internet nutzen den Internet Information Server. Daher ist es nicht überraschend, dass Microsoft den Internet Information Server für seine eigene Webseite http://www.microsoft.com. einsetzt. Die Microsoft-Seite steht an vierter Stelle der am häufigsten besuchten Seiten im Internet. (Sie zählt ungefähr fünf Millionen Besucher pro Tag.) Der Internet Information Server ist nicht kompatibel mit Windows 95 oder Windows 98. Für den Internet Information Server muss mit dem Windows NT Server oder dem Windows 2000 Server gearbeitet werden. Er ist in beiden Betriebssystemen enthalten. Wenn Sie sehr ehrgeizige Pläne für Ihre Website haben, können Sie den Internet Information Server zusammen mit dem Windows 2000 Advanced Server nutzen. Der Windows 2000 Advanced Server beinhaltet die Unterstützung für das Server Clustering, das es Ihnen ermöglicht, Ihre Webseite über mehrere Maschinen verteilt laufen zu lassen.
17
1
Einführung in den E-Commerce
Microsoft Access Um eine kommerzielle Website aufzubauen, müssen Sie mit einer Datenbank arbeiten, um die Produkt- und Bestellinformationen zu speichern. Wenn nichts anderes vermerkt ist, wird in den Lektionen dieses Buchs davon ausgegangen, dass Sie als Datenbank Microsoft Access verwenden. Microsoft Access gehört zu den Produkten der Microsoft Office-Familie und kann in fast allen Geschäften, die Software verkaufen, erworben werden. Microsoft Access ist eine Desktop-Datenbank und keine Client/Server-Datenbank wie der SQL Server (auf den im nächsten Abschnitt näher eingegegangen wird). Da es sich bei Microsoft Access um eine Desktop-Datenbank handelt, sollten Sie es nur verwenden, um den Prototypen Ihrer Webseite zu erstellen oder um eine wenig besuchte Webseite aufzubauen. In der Regel kann die Microsoft Access-Datenbank nicht mehr als ungefähr 30 Kundenanfragen gleichzeitig bearbeiten. Nachdem Sie eine Webseite mit Microsoft Access aufgebaut haben, kann sie mit dem SQL Server aufgerüstet werden. (Microsoft bezeichnet diesen Vorgang als »upsizing« was so viel bedeutet wie »vergrößern«). Microsoft hat ein Werkzeug, das Upsizing Tools genannt wird und das es ermöglicht, eine Microsoft Access-Datenbank zu einer Microsoft SQL Server-Datenbank zu konvertieren (es konvertiert Tabellen und übliche Abfragen). Wenn Sie mit Microsoft Access 97 arbeiten, können sie die Upsizing Tools unter folgender Adresse herunterladen: http://www.microsoft.com/accessdev/prodinfo/aut97dat.htm. Wenn Sie Microsoft Access 2000 verwenden, ist ein Herunterladen nicht erforderlich. Die Upsizing Tools sind in Microsoft Access 2000 enthalten.
Microsoft SQL Server Im Gegensatz zu Microsoft Access stellen für den Microsoft SQL Server 7.0 auch tausende von gleichzeitigen Benutzern oder auch Terabyte große Datenbanken kein Problem dar. Der SQL Server ermöglicht es Ihnen, einen Online-Store von beliebiger Größe aufzubauen. Einige der größten kommerziellen Webseiten im Internet nutzen den SQL Server, dazu gehören auch Dell, Buy.com, Barnes und Noble und 1-800flowers.com. Es gibt drei Versionen des SQL Servers 7.0: SQL Server Desktop Edition, SQL Server Standard Edition und SQL Server Enterprise Edition. SQL Server Desktop Edition arbeitet mit Windows 95, Windows 98 oder Windows NT Workstation. SQL Server Standard Edition ist darauf ausgerichtet, mit Windows NT Server oder Windows 2000 Server zu arbeiten. Bei der Microsoft SQL Server Enterprise Edition handelt es sich um eine überarbeitete Version der Standard Edition, die mehr Speicher, mehrere Prozessoren, Clustering und Online Analytical Processing (OLAP) unterstützt.
18
Microsoft-Technologien für den E-Commerce
1
Wenn Sie keine kommerzielle Webseite mit sehr großem Volumen erstellen wollen, sollten Sie die Standard Edition des Microsoft SQL Servers mit dem Windows NT Server Betriebssystem einsetzen. Sie können eine Testversion des SQL Servers von Microsoft herunterladen, wenn Sie die folgende Internetadresse besuchen (die Testversion endet automatisch nach Ablauf von 120 Tagen): http://www.microsoft.com/sql/productinfo/evalcd.htm
Um den Microsoft SQL Server im Web nutzen zu können, müssen Sie die korrekten Lizenzen erwerben. Microsoft verlangt, dass Sie die Internet Connector-Lizenz erwerben, wenn andere Person vom Internet auf den SQL Server zugreifen. Es ist außerdem erforderlich, eine zusätzliche Lizenz für jeden Prozessor auf jedem Server zu erwerben, auf dem der SQL Server läuft. Ich empfehle Ihnen sehr, dass Sie zum SQL Server umsteigen, bevor die Öffentlichkeit Ihre Webseite im Internet besucht. Das Arbeiten mit der aktuellen Version ist nicht viel schwieriger als das Arbeiten mit Microsoft Access. Ausserdem ist der SQL Server zuverlässiger und leistungsfähiger als Microsoft Access.
Microsoft Visual InterDev Microsoft Visual InterDev ist eine Entwicklungsumgebung, um Webseiten zu erstellen. In einer seiner Grundfunktionen ist Microsoft Visual InterDev ein phantastischer Texteditor, der es Ihnen ermöglicht, eine Webseite auf einem lokalen Server oder einem remote Server zu ändern. Sie können Visual InterDev sowohl für Active Server Pages als auch für normale HTML-Seiten verwenden. Der Visual InterDev integriert sich perfekt in den Microsoft SQL Server. Sie können Visual InterDev verwenden, um Datenbanktabellen zu gestalten und zu ändern und um Stored Procedures zu erstellen. Visual InterDev arbeitet mit jeder ODBC- oder OLE DB-kompatiblen Datenbank. Sie brauchen Visual InterDev nicht, um eine ASP-Seite zu erstellen. Sie können eine ASP-Seite erstellen, indem Sie den Standard Text Editor verwenden. Notepad, der Texteditor, über den alle Windows-Betriebssysteme verfügen, reicht völlig aus. Der Visual InterDev erleichtert es jedoch sehr, umfangreiche Webseiten zu pflegen. Visual InterDev verfügt auch über verschiedene Werkzeuge zur Fehlersuche. Microsoft bietet noch ein anderes Produkt zur Erstellung von Webseiten an: Microsoft FrontPage. Ich empfehle es jedoch nicht, Microsoft FrontPage für die Erstellung von Webseiten zu verwenden, die Interactive Server Pages beinhalten. Microsoft FrontPage hat die Tendenz, den Quelltext einer Seite automatisch zu ändern. Dies bedeutet, dass es häufig ein ASP-Script durcheinander bringen kann, an dem Sie stundenlang gearbeitet haben.
19
1
Einführung in den E-Commerce
Was ist eine ASP-Seite? Die Lektionen der folgenden Tage beschreiben, wie Sie eine kommerzielle Webseite unter Verwendung von Active Server Pages erstellen können. Aber Sie werden sich fragen, was genau eine ASP-Seite ist. Eine ASP-Seite ist irgendeine Datei auf Ihrem Webserver, die die Endung .ASP besitzt. Diese spezielle Endung unterscheidet eine ASP-Seite von einer normalen HTML-Datei, die mit der Endung .HTML oder .HTM endet. Wenn ein Benutzer eine Webseite besucht und eine normale HTML-Seite verlangt, ruft der Webserver einfach eine Datei von der Festplatte des Computers oder aus dem Speicher ab und sendet die Datei zum Browser des Benutzers. Der Browser interpretiert den HTML-Inhalt und der Besucher sieht die Webseite. Wenn jemand eine normale HTML-Seite aufruft, kümmert sich der Webserver nicht um den Inhalt der Datei. Die Rolle des Webservers besteht einfach darin, geeignete Dateien abzurufen, ohne sie zu verarbeiten. Die Arbeit, den Inhalt der Datei auszuwerten, wird vom Webbrowser des Benutzers vorgenommen. Wenn jemand eine ASP-Seite aufruft, übernimmt der Webserver eine aktivere Rolle. Bevor die Datei an den Webbrowser des Benutzers gesendet wird, wird sie vom Webserver verarbeitet. Der Webserver interpretiert und verarbeitet jedes Script einer ASPSeite, bevor er sie an den Benutzer sendet. Zum Beispiel beinhaltet die Datei in Listing 1.1 eine sehr einfache ASP-Seite mit Namen showtime.asp. Diese Seite zeigt die aktuelle Zeit an. Listing 1.1: Anzeige der aktuellen Uhrzeit 1 2 3 4 5 6
Show Time
At the tone, the time will be:
Wenn jemand die showtime.asp-Datei von einem Webserver aufruft, erkennt der Webserver diese Datei als ASP-Seite, da der Name der Datei mit .ASP endet. Bevor die Datei zum Browser des Benutzers gesendet wird, führt der Webserver zuerst jedes Script in der Datei aus. Im Fall der showtime.asp.-Datei bedeutet das, dass im Text in Zeile 4 die aktuelle Zeit eingefügt wird. Die aktuelle Datei, die zum Webserver gesendet wird, ist in Listing 1.2 dargestellt. Beachten Sie, dass es sich um eine normale HTML Datei handelt. Alle Scripts sind auf
20
Was ist eine ASP-Seite?
1
dem Webserver ausgeführt bevor die Datei zum Browser gesendet wird. Da eine ASPSeite auf dem Server und nicht auf dem Browser ausgeführt wird, ist sie mit allen Webbrowsern kompatibel. Listing 1.2: Inhalt nach der Ausführung 1 2 3 4 5 6
Show Time
At the tone, the time will be: 4:55:36 AM
Active Server Pages enthalten Scripts Active Server Pages enthalten Scripts, die auf dem Server ausgeführt werden. In den Lektionen dieses Buchs werden wir mit der Microsoft Visual Basic Scripting Edition (VBScript) als Scriptsprache arbeiten. Eine ASP-Seite kann jedoch auch Scripts enthalten, die mit anderen Scriptsprachen geschrieben wurden, wie zum Beispiel Microsoft JScript (Microsofts JavaScripts-Version) oder PerlScript. Microsoft liefert JScript mit den Active Server Pages zusammen aus. PerlScript wird nicht von Microsoft hergestellt. Um mit PerlScript arbeiten zu können, müssen Sie es zuerst unter folgender Adresse herunterladen: http://www.activestate.com. Scriptsprachen wie VBScript unterscheiden sich von vollwertigen Programmiersprachen, wie zum Beispiel Visual Basic und Java, durch seine einfachen Regeln und seine einfache Syntax. So ist es für ein VBScript zum Beispiel nicht notwendig, dass Sie Variablen mit speziellen Datentypen einführen. Ausserdem müssen Sie nicht, anders als bei Visual Basic oder Java, eine ASP-Seite in eine separate Datei übersetzen, bevor Sie sie ausführen können. Wenn Sie die ASPSeite ändern, ist die Seite automatisch wieder übersetzt, wenn sie das nächste Mal aufgerufen wird. Der Vorteil, mit einer Scriptsprache zu arbeiten, liegt darin, dass es leicht möglich ist, eine Webseite zu ändern, auch nachdem sie bereits gestartet wurde. Wenn Sie einen Fehler auf Ihrer Webseite entdecken, können Sie die betreffende Seite schnell mit Notepad bearbeiten und das Problem beheben. Sie sollten aus der Tatsache, dass eine ASP-Seite mit einer Scriptsprache arbeitet, nicht den Rückschluss ziehen, dass Active Server Pages langsam sind oder nicht leicht zu warten sind. ASP-Scripts laufen im selben Prozessraum wie der Webserver und sie
21
1
Einführung in den E-Commerce
laufen in mehreren Threads ab. Dies ermöglicht einer ASP-Seite, eine große Anzahl gleichzeitiger Benutzer effizient zu unterstützen.
Active Server Pages beinhalten Objekte und Komponenten Eine ASP-Seite wäre in ihrer Funktion stark eingeschränkt, wenn sie nur Scripts enthalten würde. Sie könnten mit ihr die aktuelle Zeit oder interessante Mitteilungen anzeigen, aber Sie könnten vom Benutzer keine Informationen abrufen, Sie könnten keine Daten in einer Datenbank speichern oder Dateien auf dem Server erstellen. Glücklicherweise beinhaltet eine ASP-Seite auch serverseitige Komponenten. Eine Komponente verfügt typischerweise über Methoden, Eigenschaften und Sammlungen. Eine Komponenten-Methode legt die Aktionen fest, die Sie mit einem Objekt durchführen können. Die Eigenschaften einer Komponente können gelesen oder gesetzt werden, um den Status der Komponente zu spezifizieren. Die Aufzählungen einer Komponente sind Mengen von Schlüsseln und Werten, die sich auf die Komponente beziehen. Dieses Buch ist ein Beispiel für eine Komponente. Die Komponente verfügt über bestimmte Methoden, die festlegen, was Sie mit dem Buch machen können. Sie können es zum Beispiel lesen, als Türstopper benutzen oder (und bitte tun Sie das nicht) es in Fetzen reißen. Das Buch hat bestimmte Eigenschaften. Es hat ein bestimmtes Gewicht und eine bestimmte Anzahl an Seiten. Schließlich verfügt es noch über eine Aufzählung von Schlüsseln und Werten. Zu jeder Seitennummer (der Schlüssel) gibt es eine entsprechende Textseite (der Wert). Active Server Pages beinhalten zwei Arten von Komponenten: eingebaute Objekte und installierbare Objekte. Im Folgenden werden die sechs eingebauten Active Server Pages-Objekte kurz beschrieben. 1. Application-Objekt – Das Application-Objekt beinhaltet die Informationen, die unter allen Benutzern einer Active Server Page-Anwendung geteilt werden können. 2. ObjectContext-Objekt – Das ObjectContext-Objekt wird mit transaktionsorientierten Active Server Pages verwendet. 3. Request-Objekt – Das Request-Objekt beinhaltet alle Informationen, die von einem Browser zu einem Server gesendet werden, einschließlich der Variablen und Anfrage-Zeichenketten. 4. Response-Objekt – Das Response-Objekt beinhaltet alle Informationen die von einem Server zu einem Browser geschickt werden, einschließlich der des HTMLInhalts, der von einer ASP-Seite erzeugt wird.
22
Was ist eine ASP-Seite?
1
5. Server-Objekt – Das Server-Objekt ermöglicht die Verwendung vieler nützlicher Funktionen auf dem Server. 6. Session-Objekt – Das Session-Objekt beinhaltet Informationen über einzelne Benutzersitzungen. Die neue Version der Active Server Pages, die in Windows 2000 enthalten ist, beinhaltet noch ein zusätzliches eingebautes Objekt mit Namen ASPError. Das ASPError-Objekt beinhaltet Informationen über Fehler, die in der ASP-Seite aufgetaucht sind. Listing 1.3 zeigt an einem Beispiel, wie Sie das Response-Objekt einsetzen können, um den Text "Hello World!" zum Browser auszugeben. Listing 1.3: Hello World! 1 2 3 4 5 6 7 8
Hello World!
Zusätzlich zu den eingebauten Objekten werden verschiedene installierbare Komponenten mit den Active Server Pages ausgeliefert. Hier eine Liste der nützlichsten Komponenten: 1. Ad Rotator-Komponente – Die Ad Rotator-Komponente wird verwendet, um Werbebanner auf den einzelnen Seiten einer Website anzuzeigen. Sie können diese Komponente verwenden, um zu spezifizieren, wie oft unterschiedliche Werbebanner angezeigt werden sollen. 2. Browser Capabilities-Komponente – Die Browser Capabilities-Komponente kann eingesetzt werden, um verschiedene HTML-Inhalte entsprechend der Fähigkeiten der verschiedenen Browser anzuzeigen. Als Beispiel können Sie diese Komponente einsetzen, um Web Seiten mit Frames nur auf Browsern mit Frameunterstützung anzuzeigen. 3. Content Linking-Komponente – Die Content Linking-Komponente kann verwendet werden, um verschiedene HTML-Seiten miteinander zu verbinden, damit man sich einfach zwischen diesen bewegen kann. Diese Komponente können Sie zum Beispiel verwenden, um die Seiten eines Online-Buchs miteinander zu verknüpfen.
23
1
Einführung in den E-Commerce
4. File Access-Komponente – Die File Access-Komponente ermöglicht es Ihnen, mit dem Dateisystem Ihres Computers zu arbeiten. Diese Komponente können Sie verwenden, um Textdateien zu lesen und zu schreiben. Anders als bei den integrierten Active Server Pages-Objekten müssen Sie eine Instanz einer installierbaren Komponenten anlegen, bevor Sie diese in einer ASP-Seite verwenden können. Die ASP-Seite in Listing 1.4 erstellt eine Ad Rotator-KomponentenInstanz und zeigt einen Werbebanner an. Listing 1.4: Das Verwenden der Ad Rotator-Komponente 1 2 3 4 5 6 7 8 9
Ad Rotator Component
Was ist der Unterschied zwischen einer Komponente und einem Objekt? Ein Objekt ist eine Instanz einer Komponente. Die in Active Server Pages integrierten Objekte werden eher Objekte als Komponenten genannt, da sie schon implizit instanziiert sind. Ihnen sind in der Verwendung von Komponenten, die mit den Active Server Pages ausgeliefert wurden, keine Grenzen gesetzt. Es gibt hunderte von Komponenten, die von Drittfirmen erstellt wurden, die Sie in Ihre Scripts integrieren können. Sie können diese Komponenten einsetzen, um die Übertragung von Dateien zu akzeptieren, um Dateien innerhalb der Server zu übertragen oder um E-Mails zu senden oder zu erhalten. Sie können auch eigene Komponenten erstellen, indem Sie eine Computersprache wie Visual Basic, C++ oder Java verwenden. Eine umfangreiche Liste von Komponenten finden Sie im Softwareabschnitt von ASP Superexpert auf http://asp.superexpert.com/software.
Active Server Pages und Datenbankzugriff Eine besondere Menge an Objekten ist in den Active Server Pages enthalten, die in einem eigenen Abschnitt behandelt werden: Die ActiveX-Datenobjekte (ActiveX Data Objects ADO). Die ActiveX-Datenobjekte ermöglichen es Ihnen, von einer ASP-Seite aus Zugriff auf eine Datenbank zu erhalten.
24
Zusammenfassung
1
Sie können ActiveX-Datenobjekte verwenden, um Zeilen in eine Datenbanktabelle einzufügen, Zeilen zu ändern oder zu löschen. Sie können sie auch nutzen, um Mengen von Datensätzen aus einer Datenbankabfrage zu erhalten und diese Datensätze in einer ASP-Seite darzustellen. In den Lektionen dieses Buchs werden Sie lernen, wie Sie die ActiveX Datenobjekte verwenden, um Daten sowohl von einer Microsoft Access-Datenbank als auch von einer Microsoft SQL Server-Datenbank abzurufen und zu speichern. ActiveX Datenobjekte können mit jeder Open Database Connectivity (ODBC) oder OLE DB- kompatiblen Datenbank verwendet werden. Dazu zählen auch Oracle-, Sybase-, Informix-, DB2- und Ingres- Datenbanken.
Zusammenfassung Die heutige Lektion hat Ihnen die beiden Hauptthemen dieses Buchs vorgestellt: E-Commerce und Active Server Pages. Im ersten Abschnitt wurden Sie über das phänomenale Wachstum des E-Commerce informiert. Jede der verschiedenen E-Commerce-Formen wurde kurz erklärt. Im zweiten Abschnitt wurden die Microsoft-Technologien zur Erstellung einer kommerziellen Webseite vorgestellt. Sie haben den Microsoft Personal Web Server und den Internet Information Server ebenso wie Microsoft Access und den Microsoft SQL Server kennen gelernt. Im letzten Abschnitt lag der Schwerpunkt auf den Active Server Pages. Sie haben den Unterschied zwischen ASP-Seiten und normalen HTML-Seiten kennen gelernt. Sie haben gelernt, wie Active Server Pages Scripts, Objekte und Komponenten verwenden und wie Sie die ActiveX Datenobjekte zum Zugang zu einer Datenbank verwenden.
Fragen und Antworten F
Welche Einschränkungen gibt es bei Active Server Pages? Kann ich Active Server Pages zur Erstellung jeder Art von kommerziellen Webseiten verwenden?
A Wie Sie in der heutigen Lektion gelernt haben, sind Active Server Pages schon bei einigen der größten und erfolgreichsten kommerziellen Webseiten im Internet zum Einsatz gekommen. Dell zum Beispiel verkauft derzeit online
25
1
Einführung in den E-Commerce
jeden Tag Waren im Wert von über 18 Millionen Dollar. Die Webseite von Dell ist mit dem Internet Information Server und Active Server Pages erstellt worden. Active Server Pages sind eine außergewöhnlich flexible Technologie. Wenn eine Funktion fehlt, kann ein ASP-Script jederzeit um eine Kundenkomponente erweitert werden. F
Welche Betriebssysteme sind mit Active Server Pages kompatibel?
A Active Server Pages laufen auf Microsoft Windows NT Server 4.0, Microsoft Windows NT Workstation 4.0 mit den Peer Web Services und Windows 95/98 mit Personal Web Server. Bei der Verwendung von Chili!Soft's Chili!ASP (siehe http://www.chilisoft.com), können Sie Active Server Pages auch mit SUN Solaris und IBM AIX verwenden. Chili!ASP ermöglicht es, dass Active Server Pages auf Apache Servern, Netscape Enterprise und FastTrack Servern, Lotus Domino Go Webserver und O'Reilly Website Pro laufen. Microsoft hatte auch eine Version des Personal Web Servers und der Active Server Pages für Macintosh entwickelt und auf den Markt gebracht, aber leider werden diese Versionen nicht mehr unterstützt.
Workshop Die Verständnisfragen dienen dazu, Ihr Wissen bezüglich des in diesem Kapitel behandelten Stoffs zu testen. Die Antworten finden Sie in Anhang A, Antworten zu den Verständnisfragen.
Verständnisfragen 1. Welche drei Arten von E-Commerce gibt es? 2. Kann man den Microsoft Personal Web Server verwenden, um eine kommerzielle Webseite aufzubauen, die an einem Tag hunderte von Besuchern verkraften kann? 3. Kann Microsoft Access für eine Website verwendet werden, die jeden Tag tausende von Besuchern unterstützen kann? 4. Brauchen Sie Visual InterDev, um Active Server Pages erstellen zu können? 5. Wie unterscheidet ein Webserver eine ASP-Seite von einer normalen HTMLSeite?
26
Workshop
1
6. Sind Active Server Pages mit allen Webbrowsern kompatibel? 7. Können Sie Active Server Page-Scripts erstellen, die mit einer anderen Sprache als VBScript arbeiten?
27
2 Interaktion mit dem Kunden Woche 1
2
Interaktion mit dem Kunden
In der heutigen Lektion werden Sie lernen, wie Sie eine E-Commerce-Webseite unter Verwendung von Active Server Pages erstellen. In der heutigen Lektion werden Ihnen die wichtigsten Active Server Pages-Objekte erklärt: das Reponse- und das RequestObjekt. Sie können mit diesen beiden Objekten arbeiten, um mit dem Kunden, der Ihre Webseite besucht, in Interaktion zu treten. Heute werden Sie lernen,
왘 왘
wie man das Reponse-Objekt einsetzt, um Inhalte an den Webbrowser zu schicken,
왘
wie man das Request-Objekt einsetzt, um Informationen zu erhalten, die der Kunde in die HTML-Formulare eingegeben hat,
왘
wie man das Request-Objekt einsetzt, um den Browser-Kopfsatz und die ServerVariablen abzufragen.
wie man das Request-Objekt verwendet, um mit HTML Abfrage-Zeichenfolgen zu arbeiten,
Arbeit mit dem Response-Objekt In der gestrigen Lektion haben Sie eine Einführung in die Active Server Pages erhalten. Sie haben gelernt, dass eine ASP-Seite eine normale HTML-Seite ist, die Scripts enthält. Sie können diese Scripts verwenden, um dynamische Inhalte an den Browser zu schicken. Was ist ein dynamischer Inhalt? Eine normale HTML hat einen statischen Inhalt. Immer wenn eine HTML-Seite aufgerufen wird, ist der auf der Seite angezeigte Inhalt derselbe. Eine HTML-Seite aber kann Inhalte haben, die sich jedes Mal, wenn die Seite aufgerufen wird, ändern. Wenn eine kommerzielle Webseite betrieben wird, gibt es viele Situationen, in denen Sie dem Kunden einen dynamischen Inhalt übermitteln müssen. Wenn Sie es einem Kunden zum Beispiel ermöglichen, Ihren Store nach Kategorien zu durchsuchen, um Produkte zu finden, müssen Sie die Produktliste für die entsprechende Kategorie dynamisch erzeugen können. Nachdem der Kunde eine Bestellung vorgenommen hat, müssen Sie eine Quittung der Information über die Bestellung dynamisch erzeugen. Sie können einen dynamischen Inhalt einer ASP-Seite senden, indem Sie das Response-Objekt, ein eingebautes ASP-Objekt, verwenden. Es beinhaltet alle Informationen, die vom Webserver zum Webbrowser gesandt werden. Zum Beispiel zeigt die ASP-Seite in Listing 2.1 das aktuelle Datum und die aktuelle Zeit an. Immer wenn ein Kunde die ASP-Seite in Listing 2.1 aufruft, wird ein anderes Datum und eine andere Zeit angezeigt.
30
Arbeit mit dem Response-Objekt
2
Listing 2.1: Dynamischen Inhalt anzeigen 1 2 3 4 5 6 7 8
Date and Time
Sie werden feststellen, dass der Hauptteil der in Listing 2.1 aufgeführten ASP-Seite aus einer normalen HTML-Seite besteht. Die vierte bis sechste Zeile enthält ein sehr einfaches ASP-Script. Der Anfang und das Ende des Scripts sind mit den Script-Trennzeichen gekennzeichnet. In der fünften Zeile wird die Write-Methode des Response-Objekts angewendet, um das aktuelle Datum und die Zeit auszugeben, die durch Verwendung der VBScript NOW()Funktion erhalten werden. In der Regel verwenden Sie die Write Methode des Response-Objekts, um den Wert der Funktion, einer Variablen, einer Zeichenfolge oder eines Buchstabens auszugeben. Die ASP-Seite in Listing 2.2 zeigt zum Beispiel den Text "Welcome to our store!" (Herzlich willkommen in unserem Store) mit Hilfe des Response-Objekts an. Listing 2.2: Welcome to Our Store 1 2 3 4 5 6 7 8
Welcome
Ausgabe langer Zeichenfolgen Wenn Sie das Response-Objekt dazu verwenden, sehr lange Zeichenfolgen auszugeben, können Sie die Zeichenfolge unter Verwendung des & -Zeichens in mehrere Zeilen aufteilen. Die ASP-Seite in Listing 2.3 zeigt zum Beispiel den ersten Paragraphen der amerikanischen Unabhängigkeitserklärung an.
31
2
Interaktion mit dem Kunden
Listing 2.3: Ausgabe einer langen Zeichenfolge 1 2 Long String 3 4 16 17
Im in den Zeilen 4-15 enthaltenen ASP-Script wird die Write-Methode angewandt, um eine Zeichenfolge anzuzeigen, die sich über mehre Zeilen erstreckt. Das Zeichen &_ wird verwendet, um anzuzeigen, dass die Zeichenfolge in der nächsten Zeile fortgesetzt wird.
Anzeigen spezieller Zeichen Einige Zeichen werden nicht korrekt angezeigt, wenn sie mit der Write-Methode des Response-Objektes ausgegeben werden. Diese Zeichen beinhalten das Zeichen >; das Zeichen, benutzt, um den Anfang und das Ende eines HTML-Schlüsselworts zu kennzeichnen. Wenn ein Browser zu diesen Zeichen auf der Seite kommt, versucht er sie als Teile des HTML-Schlüsselworts zu interpretieren. Um dieses Problem zu umgehen, müssen Sie diese Zeichen kodieren, bevor Sie sie anzeigen. Glücklicherweise geht dies sehr leicht mit den Active Server Pages. Sie können die HTMLEncode()-Methode des Server-Objektes verwenden, um das Zeichen zu HTML-kodieren, bevor es angezeigt wird.
32
Arbeit mit dem Response-Objekt
2
Die ASP-Seite in Listing 2.4 kodiert zum Beispiel korrekt die Zeichenfolge "We sell the products!" (Wir verkaufen die besten Produkte), bevor diese Zeichenfolge angezeigt wird. Listing 2.4: HTML-Kodierung einer Zeichenfolge 1 2 3 4 5 6 7 8
Long String
Sie werden feststellen, dass Sie die HTML-Kodierung von Zeichenfolgen sehr oft brauchen, wenn Sie mit HTML-Formularen arbeiten. Etwas später in dieser Lektion werden Sie lernen, wie man die HTMLEncode()-Methode innerhalb eines HTML-Formulars verwendet (siehe weiter unten in diesem Kapitel).
Anzeige der Anführungszeichen VBScript verwendet Anführungszeichen, um den Anfang und das Ende einer Zeichenfolge zu kennzeichnen. Wenn die Zeichenfolge selbst Anführungszeichen enthält, treten Probleme auf. VBScript interpretiert die in einer Zeichenfolge enthaltenen Anführungszeichen falsch und sieht sie als das Ende der Zeichenfolge an. Die ASP-Seite in Listing 2.5 generiert zum Beispiel einen Fehler. Listing 2.5: Falsche Verwendung von Anführungszeichen 1 2 3 4 5 6 7 8
Bad Quotes
38
|
was updated in the database | 128|
Manage ➥Products | 131 Administration Page | 132
138 139 140
Add product
26Manage Products
27 28 Set Debug Level 29Debug Level: | 3233 |
58 | Customer | 59E-Mail ➥Address | 60
---|---|---|
69 | 70 | 71 |
79 | Select all customers | 80
66 | 67Select all files | 68
This Demonstration
Web Rings
21
➥WebRing site owned by 10 Jonathan Levine. 11
12 [ 13 Previous 5 Sites | 14 15 Previous | 16 Next | 17 18 Next 5 Sites | 19 Random Site | 20 List Sites ] 21
Alle Web Rings werden von Servern bei webring.org verwaltet. Die Zeilen 8-20 erstellen die in Abbildung 21.3 aufgeführten Links. Die Zeilen 12-17 ermöglichen dem Benutzer, durch den Web Ring zu navigieren, indem er die aktuelle Site-ID durchläuft und eine Operation (prev, next, prev5 oder next5) zu den webring.org-Servern durchführt. Die Zeilen 19-20 befähigen den Anwender, alle Sites zu sehen oder durch eine Zufallssite zu navigieren; keine der Operationen erfordert eine Site-ID.
Abbildung 21.3: Die Navigationszeile des Web Ring-Beispiels
561
21
Werben für Ihre Site und Verwaltung von Werbebannern
Werbebanner Ein anderer Weg, den Datenverkehr zu Ihrem Internetshop zu erhöhen, ist Werbung. Wenn Sie schon einmal im Internet waren, dann kennen Sie bereits die häufigste Art der Werbung im Internet – Werbebanner (siehe Abbildung 21.4). Werbebanner kann man kaufen, aber auch über gemeinsame Werbeprogramme, bekannt als Link Exchanges, erwerben.
Abbildung 21.4: Beispiel eines Werbebanners
Link Exchanges Wie es auch bei der realen Werbung üblich ist, kann man für Internetwerbung einfach zahlen, dennoch macht das Internet kooperatives Werben für jedermann erschwinglich. Kooperatives Werben bedeutet, dass Werbeplatz und Werbekosten geteilt werden. In der Hardware-Industrie ist Intel ein allgegenwärtiges Beispiel für einen Benutzer der kooperativen Werbung. Als Gegenleistung für das Platzieren des Intel-Logos »Intel inside« auf Computern und in Werbespots bezahlt Intel den PC-Herstellern anteilig die Kosten für deren Werbung. Standards für Größe und Format der Internetwerbung werden vom Internet Advertising Bureau (http://www.iab.net/) erstellt. Die meisten, die mit Bannern werben, begrenzen die Größe auf 10 K oder weniger, um die Auswirkungen des Banner-Downloads für den Benutzer zu reduzieren. Beim Werben mit Bannern findet das kooperative Werben mithilfe des Austauschs von Links statt (link exchanges). Link exchanges sind für die Betreiber von Websites ein einfaches Mittel, um Werbungen untereinander zu handeln. Ein Netzverwalter schließt mit einer Linkzentrale einen Vertrag, lädt ein Banner und fügt seiner Site einen speziellen HTML-Code hinzu. Der HTML-Code, den die Zentrale automatisch liefert, lädt ein Banner von der Zentrale herunter und speichert eine Impression im
562
Werbebanner
21
Namen der Site. Für jede Banner-Impression auf der Site eines Mitglieds schreibt die Zentrale gut. Die Zentrale zeigt dann das Werbebanner dieser Site auf der Site eines anderen Mitglieds einmal für jede Gutschrift an. Eine Impression ist eine Standardbezeichnung der Industrie für die Häufigkeit der Anzeige eines Werbebanners. Wenn Sie zum Beispiel ein Werbebanner fünfmal anzeigen, dann sind dies fünf Impressionen (selbst wenn dieselbe Person das Banner fünfmal sieht). Impressionen stehen im Kontrast zu dem, was als Transfers oder ClickThroughs bezeichnet wird. Impressionen zählen, wie oft eine Werbung angezeigt wurde; Transfers und Click-Throughs zählen, wie oft ein Banner angeklickt wurde. Die Zentralen fordern üblicherweise, dass eine Website mehr als eine Werbung anzeigen muss, um ein Anzeige-Guthaben zu bekommen. Die Zentrale finanziert sich über den Verkauf dieser zusätzlichen Werbeflächen. Das Verhältnis zwischen geforderten Impressionen und bewilligten Impressionen ist die Exchange-Rate. Wie immer im Internet gibt es viele, viele Link-Exchanges, von denen jede eine Vielzahl von Exchange-Rates anbietet. Einige bekannte Exchanges und ihre Rates sind in Tabelle 21.2 aufgeführt. Vereinigung
Exchange Rate
URL
123Banners
1 zu 2
http://www.123banners.com/
1for1.com
ca. 1,7 zu 11
http://www.1for1.com/
AdSwap
2 zu 12
http://www.adswap.com/
Ad-Xchange
2 zu 14
http://www.ad-xchange.com/
Abe 1 to 1
1 zu 15
http://www.com.au/121/index html
BannerSwap
2 zu 12
http://www.bannerswap.com/
BannerWomen
2 zu 1
http://www.bannerwomen.com/
CyberLink Exchange
2 zu 1
Disney Banner Network
1 zu 17
http://www.disneybanner.net/
Exchange-it
2 zu 1
http://www.exchange-it.com/
Free Banners
2 zu 1
http://www.free-banners.com/
EIS Banner Exchange
variiert bis zu 5 zu 4
http://www.lycos.com/addasite html
Hyper Banner
2 zu 1
http://www.hyperbanner.com/
3,5,6
cyberlinkexchange.usww.com
Tabelle 21.2: Einige bekannte Banner-Exchange-Vereinigungen
563
21
Werben für Ihre Site und Verwaltung von Werbebannern
Vereinigung
Exchange Rate
URL
LinkBuddies
variiert, hängt von Click-Through Rate ab
www.linkbuddies.com
LinkExchange
2 zu 1
http://www.linkexchange.com/
MS-Links Exchange
4 zu 3
msbannerexchange.com
SmartAge
2 zu 1
http://www.smartage.com/
TradeBanners
2 zu 18
resource-marketing.com/banner.shtml
Web Resources
3 zu 2
exchange.Web-resources.com
Webmaster Exchange
1 zu 1
http://www.webmasterexchange/.com
Tabelle 21.2: Einige bekannte Banner-Exchange-Vereinigungen (Forts.)
1. Gewährt 2-zu-1-Rates außer an 5 Tagen pro Monat, dann 1-zu-1-Rate. Bietet auch 0,10 $ Werbeguthaben für jedes Click-Through 2. Gibt für jeden angeklickten Banner ein 1-zu-1-Guthaben 3. Gewährt 500 Gratis-Impressions bei Vertragsabschluss 4. Gewährt 1000 Gratis-Impressions bei Vertragsabschluss 5. Verwendet Banner, die nicht der Standardgröße entsprechen 6. Bietet auch »Premiums-Mitgliedschaft« mit höherer Rate und Click-ThroughBonus an 7. Nur Disney-bezogene Sites 8. Gebührenpflichtige Mitgliedschaft erhöht Rate auf 4 zu 3 9. Nur Webmaster-orientierte Sites
Für Werbebanner zahlen Ein Nachteil der Verwendung eines LinkExchanges ist, dass Sie Werbebanner anzeigen müssen, um ein Werbebanner zu bekommen. Das macht aus Link exchanges eine schlechte Wahl, wenn Sie wirklich Startseitenbetrachtungen für eine neue E-Commerce-Site verknüpfen wollen. Natürlich ist es sehr einfach, Werbebanner zu kaufen. Alle Banneragenturen bieten Werbebanner zu günstigen Preisen an. Es gibt ebenfalls viele Internetwerbeagenturen, von denen einige in Tabelle 21.3 aufgeführt sind.
564
An Treueprogrammen teilnehmen
Agentur
URL
AdAuction.com
www.adauction.com
AdBase.net
www.adbase.net
AdForce
www.adforce.com
DoubleClick
www.doubleclick.net
Flycast
www.flycast.com
Microsoft bCentral
store.linkexchange.com
Pegasus Ad Network
www.pegasusads.com
ValueClick
www.valueclick.com
21
Tabelle 21.3: Werbeagenturen für das Internet
Jede Internetwerbeagentur verarbeitet Werbeplatzierungen auf ihrer eigenen Exklusivsite und jede Agentur bietet mehr oder weniger anspruchvolles ad targeting an. Sie offerieren auch eine große Bandbreite an Preismodellen und Kosten pro Werbeeinheit. Die beliebtesten Preismodelle sind Kosten pro Click-Through und Kosten pro tausend Impressionen (CPM), wie in Kapitel 19 beschrieben. Ad Targeting bedeutet, dass die Werbung nur einem bestimmten Publikum gezeigt wird. Internet-Werbeagenturen erreichen dies, indem sie Cookies auf den Browser eines Anwenders laden und dann die Surfmuster, Clickthrough-Muster und jede andere Information, die sie sammeln können, nachvollziehen.
An Treueprogrammen teilnehmen 1999 war das Jahr des Internet-Treueprogramms. Bei einem Treueprogramm werden die Kunden für den Besuch Ihrer Site belohnt. An einem solchen Programm teilzunehmen ist leicht und relativ billig. Es gibt zwei große Arten von Programmen: die Kunden bekommen Geld oder sammeln Punkte (Punkte werden normalerweise in Geschenkgutscheine, CDs und Kinokarten umgetauscht). Unternehmen
Belohnung
URL
Beenz
Points
www.beenz.com
CyberGold
Cash
www.cybergold.com
Dash
Cash
www.dash.com
FreeRide
Points
www.freeride.com
Tabelle 21.4: Internet-Treueprogramme
565
21
Werben für Ihre Site und Verwaltung von Werbebannern
Unternehmen
Belohnung
URL
IPoints
Points
www.ipoints.co.uk
MyPoints
Points
www.mypointsinc.com
NetCentives
Points and Miles
www.netcentives.com
Tabelle 21.4: Internet-Treueprogramme
Andere Wege, um den Umsatz zu erhöhen Sie werden sich natürlich anstrengen, den größten Umsatz durch den Verkauf der auf Ihrer Website angebotenen Waren und Dienstleistungen zu erzielen. Wenn Ihre Site an Popularität gewinnt, werden Sie vielleicht dennoch das Kooperationsprogramm eines anderen Einzelhändlers nutzen wollen, einen Teil Ihrer Internetseite für Werbezwecke verkaufen wollen, die E-Mail-Listen Ihrer Kunden verkaufen wollen oder ein anderes Unternehmen auf der Grundlage Ihrer Site gründen wollen.
Kooperationsprogramme Sich einem Kooperationsprogramm anzuschließen ist vielleicht der einfachste Weg, den Umsatz Ihrer Site zu steigern. Fast jeder Händler bietet eine Provision für eine Überweisung, die mit einem Kauf endet; andere Unternehmen bieten Provisionen für Klicks, Registrierungen und mehr. Da diese Programme sehr dynamisch sind, ist es am besten, sie zu erforschen, wenn Sie bereit sind, den Vertrag zu unterschreiben, und sie zu überwachen. http://www.affiliatesdirectory.com/ ist eine gute Adresse, um über diese Programme etwas zu erfahren.
Betreiben Sie Ihre Werbung selbst Es gibt mehrere Arten, wie Sie Werbung auf Ihrer eigenen Website betreiben können. Jede der in Tabelle 21.3 aufgeführten Werbeagenturen wird Ihnen gerne helfen, vorausgesetzt, dass Ihre Site genügend Datenverkehr erzeugt. Andererseits können Sie auch die Ad Rotator-Komponente, die in IIS integriert ist, verwenden, um Ihre Werbung zu entwerfen und Ihren Besuchern zu zeigen. Obwohl die Implementierung und die Verwendung der Ad Rotator-Komponente sehr einfach ist, ist die Verwaltung des Datenverkehrs durch die Werbung sehr schwer. Das ist eine mögliche Erklärung dafür, warum so viele erfolgreiche Aktiengesellschaften die Verwaltung ihrer Werbung ausgegliedert haben.
566
Andere Wege, um den Umsatz zu erhöhen
21
Die Verwendung des Ad Rotators ist einfach: Erstellen Sie zuerst eine Umleitungsdatei, mit deren Hilfe Sie die Click-Throughs zählen können. Erstellen Sie dann eine Übersichtsdatei, mittels derer Sie die anzuzeigende Werbung, die Links zur Werbung und den relativen Stellenwert der Banner definieren können. Schließlich erstellen Sie auf jeder Seite, auf der eine Werbung angezeigt werden soll, ein Objekt des Ad Rotators und nennen es AdRotator.GetAdvertisement.
Die Umleitungsdatei Wenn jemand auf eine Werbung klickt, die durch die Ad Rotator-Komponente angezeigt wird, dann wird dieser Befehl an die Umleitungsdatei gesendet. Sie können der Datei jeden beliebigen Inhalt geben. Natürlich sollte sie auch ein Script enthalten, das aufzeichnet, wie oft eine Werbung angeklickt wurde. Sie können diese Information in der Datenbanktabelle speichern. Als Nächstes muss die Datei den Benutzer zu der mit dem Werbebanner verbundenen Site umleiten. Wenn Sie auf eine Werbung klicken, die von der Ad Rotator-Komponente angezeigt wird, dann wird der Pfad zu der mit der Werbung in Verbindung stehenden Site als URL-Parameter an die Umleitungsdatei geleitet. Dieser URLParameter ist die URL der Site. Listing 21.6 zeigt Ihnen, wie Sie eine einfache Umleitungsdatei mit dem Namen adredir.asp erstellen können, die den Benutzer mithilfe der URL übermittelt. Listing 21.5: adredir.asp – Die einfachste Umleitungsdatei 1 2
Die Übersichtsdatei Eine Übersichtsdatei (Siehe Listing 21.7) enthält Informationen, die die Ad RotatorKomponente benötigt, um die Werbebanner zu verwalten und anzuzeigen. Sie ist in zwei Abschnitte unterteilt: Die eine wendet alle Werbungen in der Übersicht an, die andere definiert jede Werbung einzeln. Der allgemeine Abschnitt ermöglicht Ihnen, die URLs für die Umleitungsdatei zu spezifizieren sowie die Breite, Höhe und Randbreite jeder Werbung. Der spezielle Abschnitt beschreibt die zu verwendenden Bilddateien, die zu verknüpfenden Dateien und die relative Zeit, die bei jeder Werbung angezeigt wird.
567
21
Werben für Ihre Site und Verwaltung von Werbebannern
Listing 21.6: Beispiel einer Übersichtsdatei 1 2 3 4 5 6 7 8 9 10 11 12 13
REDIRECT /adredir.asp WIDTH 468 HEIGHT 60 BORDER 0 * http://www.levlin.com/images/yawn.gif http://www.levlin.com/ Check out the most boring site on the Internet! 80 http://www.mcp.com/images/informit_ad/enman_blk.gif InformIT from Macmillian 20
Die Zeilen 1-4 definieren die allgemeinen Parameter für jede Werbung: die Umleitungsseite (Zeile 1), die Höhe und Breite jeder Werbung (Zeilen 2 und 3) und die Breite des Rands (Zeile 4). Die Werte in den Zeilen 2-4 sind in Pixel angegeben. Der einzelne Stern in Zeile 5 trennt den allgemeinen Teil vom werbungsbezogenen Teil. Zeilen 6-9 und 10-13 definieren beide einzelne Werbungen. Die Zeilen 6 und 10 sind die URLs der Werbebanner. Zeile 7 ist das URL zu einer Seite, zu der das Banner in Zeile 6 ein Link besitzt. Wenn das Banner kein Link besitzt, so wird dies durch einen Bindestrich wie in Zeile 11 dargestellt. Die Zeilen 8 und 12 zeigen Text für Browser an, die keine Grafiken darstellen. Die Zeilen 9 und 13 geben schließlich das relative Gewicht jedes Werbebanners an. Relatives Gewicht bedeutet, dass der Ad Rotator die Summe aller relativen Gewichte bildet und dann jedes Banner im Verhältnis zu seinem Gewicht anzeigt. Wenn z.B. die Rotator-Übersichtsdatei zwei Werbungen enthält mit dem relativen Gewicht 80 und 20, dann wird erstere 80% der Zeit angezeigt und die zweite 20%. Wenn die Summe aller Impression-Parameter größer als 10.000 ist, wird ein Fehler auftreten, sobald die Rotator-Übersichtsdatei durch die GetAdvertisement-Methode aufgerufen wird.
568
Zusammenfassung
21
Der Ad Rotator Der letzte Schritt der Implementierung des Ad Rotators: Fügen Sie den Code aus Listing 21.8 dem Rumpf jeder Internetseite an, auf der Sie Werbung zeigen wollen. Das Resultat sieht folgendermaßen aus: .
Listing 21.7: Code für die Implementierung von Ad Rotator auf einer Internetseite 1 2 3 4 5
Zeile 3 erzeugt ein Objekt des Ad Rotators, und Zeile 4 verwendet die Übersichtsdatei aus Listing 21.7, um das Werbebanner anzuzeigen. Zeile 5 zerstört schließlich das Ad Rotator-Objekt wieder.
Zusammenfassung Im heutigen Kapitel haben Sie die Grundlagen des Internet-Marketings gelernt – wie Sie auf Ihre Site aufmerksam machen können und wie Sie Menschen dazu bringen können, Sie für das Zeigen von Werbung zu bezahlen. Ihnen wurde gezeigt, wie Sie Ihre Site für Internetsuchmaschinen attraktiv machen können und wie Sie einem Web Ring beitreten können. Sie haben erfahren, wie Sie Ihre Site mit gratis und bezahlter Werbung promoten können. Am Ende haben Sie gelernt, wie Sie Werbebanner selbst verwalten können, den Umsatz durch Zusammenschlussprogramme steigern können und wie Sie Ihre Kunden durch Treueprogramme an sich binden.
569
21
Werben für Ihre Site und Verwaltung von Werbebannern
Fragen und Antworten F
Wie indiziert eine Suchmaschine Sites?
A Fast jede Suchmaschine hütet ihren Indizier-Algorithmus so sorgfältig, wie Coca-Cola ihr geheimes Rezept. Google ist eine Ausnahme, dessen Gründer bei der WWW7-Konferenz einen Überblick über ihre Algorithmen gaben. Dieser Überblick kann unter http://www7.scu.edu.au/programme/fullpapers!1921/ com1921.htm abgerufen werden.
Workshop Die Verständnisfragen und die Übungsfragen sollen Ihre Kenntnisse über die Inhalte dieses Kapitel überprüfen. Die Antworten finden Sie in Anhang A »Antworten zu den Verständnisfragen«.
Verständnisfragen 1. Was ist ein Spider? 2. Was ist relevance metric? 3. Was ist ein Web Ring? 4. Was versteht man unter Link-Exchange?
Übung 1. Das CreateStaticPage-Script wird nur aufgerufen, wenn ein Produkt hinzugefügt oder aktualisiert wird. Schreiben Sie ein Script, das das static-Verzeichnis neu aufbaut, indem es die Datenbank durchgeht und dafür CreateStaticPage aufruft. 2. Schreiben Sie eine auf dem Internet basierende Oberfläche, die es Ihnen ermöglicht, die Ad Rotation-Übersichtsdatei schedule.txt zu pflegen.
570
Rückblick
3 Woche
Rückblick auf die 3. Woche
In der letzten Woche haben Sie gelernt, wie Sie Ihre Website attraktiv gestalten und vermarkten können. In der ersten Lektion wurde Ihnen gezeigt, wie Sie Ihre Website schützen. Anhand des in Microsoft Visual InterDev integrierten Debuggers und einer Reihe von Teilprogrammen des Debuggers, die Standard in Active Server Pages sind, haben Sie am nächsten Tag verschiedene Methoden zu Fehlerbeseitigung in Ihrer Website kennen gelernt. Anschließend wurde Ihnen gezeigt, wie Sie Ihre Website mit E-Mail-Marketing promoten können. Sie wissen jetzt, wie CDO für NTS zur Sendung personalisierter E-Mails an potenzielle Kunden verwendet wird. Etwas später haben Sie verschiedene Methoden zur Überwachung und Benutzung Ihrer Website mit Fernzugriff kennen gelernt. Sie wissen nun auch, wie Ihr Webserver per Fernzugriff von einem Webbrowser verwaltet werden kann und wie der FTP Service benutzt werden muss, wenn Sie Ihre Website-ateien per Fernzugriff managen möchten. Als Nächstes haben Sie einen Überblick über die verschiedenen Protokolldateienformate, die von Ihrem Webserver unterstützt werden, erhalten. Sie haben gelernt, wie Informationen aus Ihren Protokolldateien gelesen und analysiert werden können, um die Besucher- und Verkaufszahlen Ihrer Site auflisten zu können. Schließlich haben Sie gelernt, wie Werbebanner auf Ihrer Website angezeigt werden können. Ihnen wurde gezeigt, wie Sie Werbebanner auf Ihrer Site verwalten und aufzeichnen lassen können, wie oft jeder Werbebanner angezeigt wird.
Bonusprojekt: Feedback-Bestätigung für den Kunden Im Bonusprojekt dieser Woche werden Sie das vom Kunden an Sie gesendete Formular, das Sie in den letzten beiden Bonusprojekten zusätzlich zu E-Mails erstellt haben, verändern. In der Lektion an Tag 18 haben Sie gelernt, wie CDO für NTS zum Senden von E-Mails von Active Server Pages aus verwendet wird. Diese Kenntnisse werden Sie nun in diesem Bonusprojekt anwenden, indem Sie CDO für NTS in Kundenrückmeldungsseiten integrieren. Wenn Kunden Feedback übertragen, erhalten sie automatisch eine E-Mail, die den Erhalt des Feedback bestätigt. Diese Bestätigungs-E-Mail soll dem Kunden einfach nur zeigen, dass seine Nachricht nicht verloren gegangen ist. Sie können dieser Nachricht auch Informationen hinzufügen: zum Beispiel über oft gestellte Fragen und auch Informationen über zusätzliche Unterstützungsoptionen.
572
Bonusprojekt: Feedback-Bestätigung für den Kunden
Sie erinnern sich sicherlich an das Bonusprojekt von letzter Woche, in dem es hieß, dass Kundenfeedback-Seiten mit folgenden Datenbanktabellen (namens feedback) in Verbindung stehen:
왘
feedback_id – ein Auto-Nummernfeld, das auschließlich jede Tabellenzeile identifi-
ziert
왘 왘 왘
feedback_email – ein Textfeld, das die Kunden-E-Mail-Adresse enthält feedback_comment – ein Memo-Feld, das den Text der Kundenrückmeldung enthält feedback_entrydate – ein Datum oder ein Zeit-Feld, das automatisch das Datum der Rückmeldungseingabe enthält. Das Feld sollte den Standardwert NOW() haben.
Ein Kunde sendet seine Rückmeldung über eine ASP-Seite namens feedback.ASP. Diese Seite enthält ein einfaches HTML-Formular, das keine ASP-Scripts enthält. Das Kundenrücksendungsformular ist in Listing BP3 enthalten (es handelt sich um dieselbe Seite, die auch in den Bonusprojekten der beiden letzten Wochen erwähnt wurde). Listing BP3.1: Das Kundenrückmeldungsformular 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Customer Feedback
Thank you for leaving customer feedback on our Website.
Please enter your feedback in the form below:
Your Email Address:
Your Feedback:
Wenn ein Kunde das Kundenrückmeldungsformular sendet, werden die Daten auf die savefeedback.asp-Seite übertragen. Die savefeedback.asp-Seite wurde in diesem Bonusprojekt modifiziert, sodass E-Mails verschickt werden können. Die neue Version der savefeedback-Seite ist in Listing BP3.2 enthalten. Listing BP3.2: Das gespeicherte Rückmeldungsformular, das mit E-Mail
573
Rückblick auf die 3. Woche
gesendet wurde 1 2 8
9 Problem 10
11 12 An error was encountered while submitting your feedback. 13
Please call our customer support number at: 14
15 (555) 555-8989 16
17 18
19
20
Save Feedback
Thank you for submitting your feedback!
CDO für NTS werden auf dieser Seite in den Zeilen 35-42 verwendet. In Zeile 35 wird ein Teil des NewMail-Objekts erstellt. In Zeile 36 wird die From-Eigenschaft der Sender-E-Mail-Adresse zugewiesen (es sollte sich um die E-Mail-Adresse Ihres Shops handeln). In Zeile 37 wird die TO-Eigenschaft der Kunden-E-Mail-Adresse zugordnet. In den Zeilen 38-41 sind die SUBJECT- und BODY-Eigenschaften bestimmte Werte. In Zeile 42 wird die E-Mail schließlich gesendet. Sie können die vom Kundenrückmeldungsformular gesendete E-Mail so verändern, wie Sie möchten. Um den Body der E-Mail-Nachricht zu verändern, ändern Sie einfach den Text in den Zeilen 39-41.
575
Bonus
Quiz Antworten
Quiz Antworten Antworten Tag 1 Quiz F
Welche drei Arten von E-Commerce gibt es?
A Business-to-Consumer, Business-to-Business, und Consumer-to-Consumer. F
Kann man den Microsoft Personal Web Server verwenden, um eine kommerzielle Website zu erstellen, die an einem Tag Tausende von Besuchern pro Tag unterstützten kann?
A Nein. Der Microsoft Personal Web Server kann nur verwendet werden, um einen Website Prototypen zu erstellen oder um eine Website zu betreiben, die nur selten besucht wird. F
Kann Microsoft Access für eine kommerzielle Website verwendet werden, die täglich Tausende von Besuchern unterstützen kann?
A Nein. Microsoft Access ist eine Desktop Datenbank und keine Client/Server Datenbank. F
Brauchen Sie Visual InterDev, um eine Active Server Page erstellen zu können?
A Nein. Microsoft Visual InterDev ist eine Entwicklungsumgebung, um Active Server Pages zu erstellen. Sie können eine ASP-Seite mit Hilfe jedes Standard Text Editors erstellen. F
Wie unterscheidet ein Web Server eine ASP-Seite von einer normalen HTML-Seite?
A Active Server Pages enden mit der Endung .ASP, wohingegen normale HTML Dateien mit der Endung .HTML oder .HTM enden. F
Sind Active Server Pages mit allen Web Browsern kompatibel?
A Ja. Eine ASP-Seite wird vom Web Server aufgebaut und nicht vom Web Browser.
578
Antworten Tag 2
F
Können Sie Active Server Page Skripte erstellen, die mit einer anderen Sprache als VBSkript arbeiten?
A Ja, andere Beispiele für Skript Sprachen, die Sie mit Active Server Pages verwenden können, sind JScript und PerlScript.
Antworten Tag 2 Quiz F
Gibt es Unterschiede in der Verwendung der Write-Methode des Response-Objekts und in der Verwendung der Ausgabe Trennzeichen , um Ausgabe zum Browser zu schicken?
A Nein, es gibt keinen Unterschied zwischen der Ausgabe eines Inhalts an den Browser unter Verwendung der Write-Methode des Response Objekts und der Verwendung der Ausgabe Trennzeichen. F
Die folgende ASP-Seite übermittelt einen URL-Parameter mit Namen myvar, der den Wert Active Server Pages hat. Es gibt jedoch einen Fehler auf dieser Seite, der es verhindert, dass der URL-Parameter übermittelt werden kann. Wie würden Sie den Fehler auf dieser Seite beheben?
Fix Me!
click here
Der Fehler resultiert aus den Leerzeichen, die in der Zeichenkette "Active Server Pages" enthalten sind. Bevor Sie diese Zeichenkette übermitteln können, müssen Sie sie erst mit Hilfe der URLEncode()-Methode URL kodieren. Folgendermaßen könnte das Skript umgeschrieben werden:
Fix Me!
579
Quiz Antworten
click here
F
Wie können Sie die Zeichenkette "He said, "Hello World!" " (Er sagte, »Hallo Welt!«) unter Verwendung der Write-Methode des Response-Objekts ausgeben?
A Es gibt zwei Lösungen. Erstens können Sie zwei Anführungszeichen in Folge verwenden: Response.Write "He said, ""Hello World!"" "
Sie können auch ein Anführungszeichen unter Verwendung der CHR()-Funktion ausgeben, so wie unten angegeben: Response.Write "He said, " & CHR( 34 ) & "Hello World" & CHR( 34 )
F
Wie würden Sie ein Skript schreiben, das alle Variablen in der Form-Aufzählung des Request-Objekts anzeigt?
A Sie können alle Variablen in der Form -Aufzählung in einer FOR...EACH-Schleife, zum Beispiel so wie in der unten aufgeführten Schleife, anzeigen:
Antworten Tag 3 Quiz F
Nehmen Sie an, Sie möchten ein Cookie erstellen, das länger als eine bestimmte Benutzersitzung bestehen bleibt. Welche Eigenschaft der Cookies-Aufzählung müssen Sie einsetzen, um ein Cookie zu erstellen, das bis zu einem bestimmten Datum bestehen bleibt?
A Sie müssen die Expires-Eigenschaft einsetzen. Um zum Beispiel ein Cookie mit dem Namen password zu erstellen, das bis zum 25. Dezember 2002 bestehen bleibt, würden Sie folgendes verwenden:
580
Antworten Tag 3
F
Angenommen, Andrew ruft eine ASP-Seite auf, die den Wert red einer Session-Variablen mit Namen color zuweist. Weiter angenommen, Ruth ruft eine ASP-Seite auf, die den Wert blue der Session-Variablen namens color zuweist. Wenn Andrew die ASP-Seite aufruft, die den Wert der color Session-Variablen ausgibt, welcher Wert wird dann angezeigt?
A Die Session-Variable hätte den Wert red. Session-Variablen werden bezogen auf einen bestimmten Benutzer erstellt. F
Wie können Sie alle Session-Variablen, die sich auf einen bestimmten Benutzer beziehen, aus dem Speicher löschen?
A Sie können alle Session-Variablen, die sich auf einen bestimmten Benutzer beziehen, aus dem Speicher löschen, indem Sie die Abandon()-Methode des Session-Objekts anwenden. F
Angenommen, Andrew ruft eine ASP-Seite auf, die den Wert red einer Application-Variablen mit Namen color zuweist. Weiter angenommen, Ruth ruft eine ASP-Seite auf, die den Wert blue der Application-Variablen names color zuweist. Wenn Andrew dann eine ASP-Seite aufruft, die den Wert der color Application-Variablen ausgibt, welcher Wert wird dann angezeigt?
A Die Application-Variable hätte den Wert blue. Application-Variablen können von allen Benutzern einer Website genutzt werden. F
Welcher Fehler steckt in der folgenden Global.asa-Datei?
A Sie können die Skript Trennzeichen nicht in einer Global.asa-Datei verwenden. Sie müssen stattdessen das HTML
So sieht die ASP-Seite aus, die den Kunden angezeigt wird:
Customers
Customers:
Antworten Tag 4 Quiz F
Was ist der Unterschied zwischen der Verwendung des FILE-Attributs der #INCLUDE-Anweisung und des VIRTUAL-Attributs der #INCLUDE-Anweisung?
A Sie verwenden das FILE-Attribut, wenn Sie eine Datei einfügen, die sich im selben Verzeichnis wie die ASP-Seite mit der #INCLUDE-Anweisung oder in einem Unterverzeichnis desselben befindet. Sie verwenden das VIRTUAL-Attribut, wenn Sie eine Datei einfügen wollen, indem Sie einen virtuellen Pfad angeben.
582
Antworten Tag 4
F
Es gibt ein Problem mit dem folgenden Skript. Wie kann das Skript umgeschrieben werden, damit das Skript so wie erwartet arbeitet?
F
Welche Methode des FileSystemObject-Objekts setzen Sie ein um festzustellen, ob eine Datei vorhanden ist?
A Sie verwenden die FileExists()-Methode des FileSystemObject-Objekts um herauszufinden, ob eine Datei vorhanden ist.
Übung Erstellen Sie eine ASP-Seite, die ihren eigenen Quellcode anzeigt. Verwenden Sie in dieser Seite das FileSystemObject- und das TextStream-Objekt. Die folgende ASP-Seite mit Namen myself.asp zeigt ihre eigene Quelle an:
MySelf
Antworten Tag 5 Quiz F
Wenn Sie Ihre Microsoft Access Datenbank verschieben, was müssen Sie tun, damit Ihre ASP-Skripte Ihre Datenbank an dem neuen Ort wiederfinden?
A Wenn Sie eine Microsoft Access Datenbank verschieben, müssen Sie die System DSN unter Verwendung des ODBC Symbols in der Systemsteuerung aktualisieren.
584
Antworten Tag 5
F
Was ist an dem folgenden SQL INSERT INTO-Befehl falsch? INSERT INTO Products ( product_name ) VALUES ( Holiday Gift Basket )
A Der Text Holiday Gift Basket muss von Hochkommas eingeschlossen sein. Der INSERT INTO-Befehl sollte wie folgt aussehen: INSERT INTO Products ( product_name ) VALUES ( 'Holiday Gift Basket' )
F
Warum stellen Hochkommas ein Problem beim Einfügen und Aktualisieren von Datensätzen in Ihrer Datenbank dar?
A Microsoft Access verwendet Hochkommas um den Anfang und das Ende des Textes anzuzeigen. Wenn der Text selbst ein Anführungszeichen enthält, wird Microsoft Access dieses falsch als Kennzeichnung des Endes eines Textes interpretieren. Um dieses Problem zu vermeiden, müssen Sie alle Anführungszeichen, die in einer Zeichenkette auftauchen, verdoppeln. F
Warum stellen Anführungszeichen (") ein Problem dar, wenn eine Variable mit dem VALUE-Attribut in einem HTML Formular angezeigt werden soll?
A HTML benutzt Anführungszeichen, um den Anfang und das Ende eines Textes zu kennzeichnen. Wenn der Wert einer Variablen ein Anführungszeichen enthält, wird dieses fälschlicherweise als Kennzeichnung des Endes eines Textes interpretiert. Um dieses Problem zu vermeiden, müssen Sie Variable erst HTML kodieren bevor Sie sie anzeigen.
Übung Wie können Sie zusätzliche Produktinformationen zu Ihrem Online Store hinzufügen? Nehmen Sie zum Beispiel an, dass Sie ein neues Feld namens product_sku hinzufügen wollen, um das SKU eines Produkts zu speichern. Wie würden Sie die Datenbanktabelle und die Active Server Pages verändern, um das neue Feld einzufügen? Sie können eine oder mehrere zusätzliche Spalten zu der Produkttabelle hinzufügen, indem Sie Microsoft Access starten und die Produkttabelle in der Entwurfansicht öffnen. Nachdem Sie eine neue Spalte hinzugefügt haben, müssen Sie folgende Änderungen an den in diesem Kapitel behandelten Active Server Pages vornehmen: addProduct.asp
Fügen Sie das neue Feld zu dem HTML Formular hinzu.
updateProduct.asp
Sie müssen das neue Feld zu der Liste der Felder, die von der Datenbank abgerufen werden, hinzufügen. Fügen Sie die folgende Zeile ein:
productSKU = RS( "product_sku" )
585
Quiz Antworten
Als Nächstes müssen Sie ein neues Formular Feld zu dem HTML Formular hinzufügen. Das VALUE-Attribut des neuen Formular Feldes soll die productSKU-Variable als Wert haben. manageproducts.asp Fügen Sie ein neues Feld in die Liste der Variablen ein, die zuge-
wiesen werden, wenn ein HTML Formular bestätigt wird. Verwenden Sie die folgende Anweisung: productSKU
= TRIM( Request( "productSKU" ) )
Als nächste müssen Sie einen Vorgabewert für die productSKU-Variable erstellen, falls sie keinen Wert besitzt. Verwenden Sie die folgende Anweisung: IF productSKU = "" THEN productSKU = "?????" END IF
Schließlich müssen Sie die SQL Zeichenkette, die verwendet wird, um ein neues Produkt in die Datenbank einzufügen und die SQL Zeichenkette, die verwendet wird um ein Produkt in der Datenbank zu aktualisieren, verändern. Beide Zeichenketten müssen so geändert werden, dass Sie die productSKU-Variable enthalten.
Antworten Tag 6 Quiz F
Wie lautet die korrekte SQL SELECT-Anweisung, um den Namen jedes Produkts der Produkttabelle zu erhalten, das mehr als $20.25 kostet? SELECT product_name FROM Products WHERE product_price > 20.25
F
Welche Methode verwenden Sie, um in die nächste Zeile eines Datensatzes zu gelangen?
A Um in die nächste Zeile eines Datensatzes zu gelangen, verwenden Sie die MoveNext-Methode. F
Was müssen Sie in ein Skript einfügen, bevor Sie ADO-Konstanten wie zum Beispiel adOpenStatic verwenden können?
A Bevor Sie ADO-Konstanten verwenden können, müssen Sie die ADOVBS.incDatei in Ihr ASP-Skript einfügen.
586
Antworten Tag 6
F
Welche Standard Eigenschaft eines Recordset müssen Sie ändern, bevor Sie Recordset-Eigenschaften wie RecordCount und PageSize verwenden können?
A Sie müssen den CursorType eines Datensatz von einem forward-only Cursor auf einen mächtigeren Cursortypen wie einen Static Cursor abändern.
Übung In der heutigen Lektion haben Sie gelernt, die CatList.asp-Seite so zu verändern, dass die Liste der Produktkategorien aus dem Speicher anstatt aus der Datenbank abgerufen wird. Verändern Sie die ProductList.asp-Seite so, dass die Produktliste aus dem Speicher und nicht aus der Datenbank abgerufen wird. Die Produktliste im Speicher abzulegen ist schwieriger, als die Liste der Produktkategorien im Speicher abzulegen, da die Produkte in verschiedene Kategorien aufgeteilt werden müssen. Der Trick besteht darin, verschiedene Application Arrays für jede einzelne Kategorie zu erstellen. Das folgende Skript überträgt die Produktliste korrekt in den Speicher:
| get more information |