ASP - TU Dresden

Werbung
(Komplex-)Praktikum Rechnernetze
Komplex III - Datenpräsentation in Rechnernetzen
Praktikumsversuch
- WWW-Datenbankanbindung mittels ASP -
Praktikumsdokumentation
Betreuer:
Dr. A.Luntovskyy
Bearbeitung: U.Winkler, F.Pretzer
Inhaltsverzeichnis
1. Einleitung ......................................................................................................................................... 3
2. Grundlagen ....................................................................................................................................... 3
2.1. Dynamische Webseiten ............................................................................................................. 3
2.1.1. clientseitige Verarbeitung .................................................................................................. 3
2.1.2. serverseitige Verarbeitung ................................................................................................. 3
2.2. CGI ............................................................................................................................................ 4
2.3. HTML ....................................................................................................................................... 7
2.3.1. Formulare ........................................................................................................................... 7
2.3.2. Eingabezeile ....................................................................................................................... 7
2.3.3. Auswahllisten ..................................................................................................................... 8
2.3.4. Radiobuttons und Checkboxes ........................................................................................... 8
2.3.5. Submit ................................................................................................................................ 9
2.4. SQL ........................................................................................................................................... 9
2.5. ASP ......................................................................................................................................... 11
2.6. Installationsanleitung .............................................................................................................. 15
2.6.1. Installation und Konfiguration des Internet Information Server ...................................... 15
2.6.2. Access 2003 und ODBC .................................................................................................. 17
3. Der Versuch ................................................................................................................................... 20
3.1. Versuchsziel ............................................................................................................................ 20
3.2. Versuchsdurchführung ............................................................................................................ 20
3.3. Systemvoraussetzung .............................................................................................................. 21
3.4. Die Datenbank......................................................................................................................... 21
3.5. Aufgabenstellung .................................................................................................................... 24
4. Wichtige Hinweise ......................................................................................................................... 27
4.1. FAQ ......................................................................................................................................... 27
4.2. Test der Logins an den Rechnern des Komplexpraktikums ................................................... 28
Literatur .............................................................................................................................................. 31
2
1. Einleitung
Wer heutzutage an einen professionellen Webauftritt denkt, sollte bei der Umsetzung vor allem
auch an die dynamische Erzeugung von Webseiten denken.
Unternehmensinterne Datenbanken und andere Informationsquellen lassen sich damit mehrfach und
vor allem effektiver nutzen. Der Aufwand zur Pflege und Aktualisierung sinkt. Jedoch ist ihre
Anbindung mit statischen HTML nur schwer zu realisieren.
2. Grundlagen
2.1. Dynamische Webseiten
Dynamische Webseiten haben gegenüber statischen Webseiten den Vorteil, dass bei ihnen der
Inhalt während des Aufrufs generiert wird.
Sie reagieren auf Eingaben, werten diese aus und liefern danach ein Ergebnis zurück.
Prinzipiell unterscheidet man hierbei eine clientseitige und eine serverseitige Verarbeitung der
Daten.
2.1.1. clientseitige Verarbeitung
Clientseitige Verarbeitung ist dadurch gekennzeichnet, dass nach Aufruf des Dokuments, mit Hilfe
des Browsers das Skript ausgeführt wird. Es findet also keinerlei Verarbeitung auf der Serverseite
statt.
Vorteil dieser Technik ist, dass die Last der Abarbeitung auf der Clientseite liegt. Die Darstellung
der Seite erfolgt dadurch meist schneller.
Nachteile sind jedoch die Einsehbarkeit des Codes und das Fehlen von Erweiterungen zur Ansicht
der Seite (Plugins etc.).
2.1.2. serverseitige Verarbeitung
Serverseitige Verarbeitung hingegen vollzieht sich vollkommen hne Mitwirken des Clients. Nach
Aufruf des Dokuments bzw. des Skriptes wird dieses auf dem Server verarbeitet und nach
Beendigung wird entweder eine Webseite generiert oder es werden nur die Ausgabeparameter
übertragen.
Vorteile dieser Technik sind die hohe Dynamik und die Unsichtbarkeit des Codes. Darüber hinaus
ist die Unabhängigkeit von den Browsereinstellungen des Benutzers vorteilhaft.
Nachteilig wirkt sich ein Geschwindigkeitsverlust aus.
Abbildung 2.1.1. und Abbildung 2.1.2 verdeutlichen die Arbeitsweise nochmals
3
Abbildung 1: clientseitige Verarbeitung
Abbildung 2: serverseitige Abarbeitung
2.2. CGI
Die Kommunikation zwischen Browser und Server erfolgt über das HTTP-Protokoll.
Der Aufruf eines serverseiteigen Programms durch den Benutzer (Eingabe der URL), erfordert nun
eine Schnittstelle, um die Programme mit Parametern(eingegebene Daten) zu versorgen.
Diese Schnittstelle zwischen dem Webserver und dem Programm nennt man Common Gateway
Interface CGI.
Ein serverseitiges Programm – kurz CGI-Skript genannt - wird nun entweder durch die HTTPMethode GET oder POST aufgerufen.
Die GET-Methode übermittelt dabei die Parameter durch Anfügen an die URL und so mit der
4
Belegung der
Umgebungsvariablen QUERY_STRING . Die Abtrennung der einzelnen
Informationen erfolgt hierbei durch Fragezeichen.
Die POST-Methode hingegen übermittelt die Informationen direkt an die Standardeingabe. Das
CGI-Skript muss demzufolge die Standardeingabe abrufen können.
Das Programm entpackt nun die empfangene Zeichenkette, nimmt sie als Parameter und steuert
somit den Programmablauf.
Die Standardausgabe des Skriptes wird als neue Webseite an den Browser gesendet. Die Skripte
können auch Daten auf dem Server speichern oder Informationen von anderen Applikationen
verwenden z.B. Datenbanken. Es wird deshalb vor der Beendigung des Skriptes ein Header erzeugt,
damit der Server erkennt, was für eine Art Dokument generiert wird.
Ein Beispiel für ein sehr einfaches CGI-Skript in C:
1:
#include <stdio.h>
2:
#include <stdlib.h>
3:
4:
int main (void)
{
int ch;
5:
int n, i;
6:
char * cl;
7:
8:
printf ("<html>\n<body>\n");
9:
10:
cl = getenv ("CONTENT_LENGTH");
11:
n = 0; if (cl) sscanf (cl, "%d", &n);
12:
13:
printf ("<b>CONTENT_LENGTH = %d </b>\n", n);
14:
for (i = 0; i < n; i++)
15:
{
16:
ch = getchar ();
putchar (ch);
17:
}
18:
19:
printf("</body></html>");
20:
return 0;
21:
}
Ein CGI-Script kann aus einer HTML-Datei heraus auf verschiedene Arten aufgerufen werden:
a) über Formular:
Dabei steht im <form>-Tag der Aufruf des Skriptes
5
Beispiel:
...
<form name=“suche“ method=“post“ action=“flug.php“>
<select name = „abflughafen“ size=1>
...
</form>
In diesem Beispiel wird der Parameter durch die Standardeingabe übergeben – zu erkennen
an der POST-Methode
b) über Verweise:
Bei der URL-Angabe des Verweises wird das Skript direkt angegeben.
Beispiel:
...
<a href=“flug.php?name=dre“>
Info </a>
...
Hierbei ist der Name des Skriptes flug.php und der zu übergebende Parameter heißt
name=dre .
c) über Grafikreferenzen:
Auch hier genügt die Angabe der URL
Beispiel:
...
<img src=“flugchart.php?name=12“>
...
Wichtig an diesem Beispiel ist, dass das Skript auch eine Grafik produziert.
Wie wir sehen kann die Programmierung eines CGI Skriptes durchaus anspruchsvoll sein.
In HTML-Code eingebettete Scripte wie PHP vereinfachen dies, da viele Anweisungen, die HTMLCode ausgeben, entfallen.
6
2.3. HTML
Wir möchten an dieser Stelle nicht intensiv auf HTML eingehen. Wir empfehlen das Werk von
Thomas Münze zum Selbststudium und als Nachschlagewerk [1].
2.3.1. Formulare
Formulare stellen in HTML eine Möglichkeit dar, mit der der Anwender Textfelder ausfüllen, aus
Listen und Knöpfen Einträge auswählen und dieses ausgefüllte Formular mittels drücken einer
Schaltfläche absenden kann. Alles was zwischen den Tags <form> und </form> steht gehört zu
dem Formular. Darüber hinaus können Sie weitere Objekte, wie Textabsätze, Tabellen usw.
platzieren, um die Form und Anordnung der Formularelemente zu erzwingen.
Beispiel:
...
<form name=“suche“ method=“post“ action=“flug.php“>
...
</form>
...
action im einleitenden <form>-Tag gibt an, was mit den Formulardaten passieren soll, wenn
der Anwender das Formular abschickt.
2.3.2. Eingabezeile
Eine Eingabezeile ist ein einzeiliges Eingabefeld, welches durch das <input>-Tag definiert wird.
Dabei ist zu beachten, dass jede Eingabezeile über einen internen Namen ohne Umlaute und
Sonderzeichen verfügt.
Beispiel:
...
<form
action=“person.php“>
name=“person“
method=“post“
<table>
<tr><td> Vorname </td><td> <input name=“vorname“>
</td></tr>
<tr><td> Nachname </td><td> <input name=“nachname“>
</td></tr>
</table>
</form>
...
Neben diesem einzeiligem Eingabefeld bietet HTML noch weitere Möglichkeiten der Texteingabe,
wie z.B. mehrzeilige Eingabefelder oder Eingabezeilen für Passwörter. Mehr Informationen dazu
findet man wie oben genannt unter [1].
7
2.3.3. Auswahllisten
<Select name=''auswahl''
size=1>
Leitet eine Auswahlliste ein. Jede Auswahlliste muss einen eindeutigen internen Namen tragen, der
ebenfalls keine Umlaute und Sonderzeichen enthalten darf.
size gibt an, wie viele Einträge der Auswahlliste gezeigt werden.
option value=''1'' definiert einen Eintrag in der Auswahlliste wobei die optionale
Angabe value den Text festlegt, der abgesendet wird. Fehlt dieser Parameter so wird der String
des selektierten Eintrages gesendet.
Beispiel:
<form name="flughafen" methode="post"
action="flughafen.php">
<option>Flughafen Dresden
<!-- sendet "Flughafen Dresden" -->
<option value="101">Flughafen Berlin
<!-- sendet "101"
-->
<option selected>Flughafen Breitenbrunn
<!-- Vorauswahl
-->
</form>
Der zusätzliche Parameter selected wählt diesen Eintrag als Voreinstellung aus.
Auch hier wollen wir auf weiterführende Möglichkeiten auf [1] verweisen.
2.3.4. Radiobuttons und Checkboxes
Radiobuttons sind eine Gruppe von beschrifteten Auswahlknöpfen, von denen immer
nur einer markiert sein kann. Radiobuttons werden ähnlich einem Eingabefeld durch
den Tag <input type=radio name=''smoker'' value=''yes''> definiert. Der
value -Parameter bestimmt den übermittelten Wert.
<form name="raucher" methode="post"
action="buchung.php">
<input type="radio" name="smoker" value="1">Raucher
<br>
8
<input type="radio" name="smoker"
value="0">Nichtraucher <br>
</form>
2.3.5. Submit
Um die Daten an den Server zu senden, bedarf es in dem Formular noch einer speziellen
Schaltfläche – dem Submitknopf
Beispiel:
...
<input type="submit" value="Formular absenden">
...
Der Parameter value beschriftet diese Schaltfläche mit dem angegebenen Text.
2.4. SQL
Structured Query Language SQL ist eine standardisierte Abfragesprache für relationale
Datenbanken. Die Idee hinter SQL sollte sein, eine Abfragesprache für Nicht-Programmierer zu
schaffen, die ohne mathematische Notationen (Quantoren usw.) auskommt.
SQL wird von allen kommerziellen Datenbankmanagementsystemen unterstützt.
Jedoch weicht SQL in einigen Aspekten auch vom relationalen Modell ab. Insbesondere wird dies
auffällig bei Relationen. Hier ist es in SQL gestattet, das dies Multimengen sein können. Diese
Tatsache ist darin begründet, dass dadurch Geschwindigkeitsvorteile erzielt werden.
Mittels SQL ist es möglich Datenbanken zu erstellen, zu manipulieren und zu warten.
Wir möchten auch hier auf einschlägige Literatur und vor allem auf die Vorlesung „Datenbanken“
aus dem Grundstudium und dem dortigen Skript von Herrn Prof. Lehner verweisen.
Die Grundstruktur einer SQL-Anweisung zur Datenbankabfrage lautet:
SELECT SELECT_Liste
FROM Tabellenname(n)
WHERE-Klauseln
ORDER BY-Klausel
Die in der SELECT_Liste aufgeführten Spaltennamen bestimmen, welche Spalten zur Anzeige
der Abfrageergebnisse ausgewählt werden sollen.
9
Nach dem Schlüsselwort FROM ist der Name der Tabelle(n) oder eines anderen Objektes (Sicht)
anzugeben.
Mit der WHERE-Klausel wird festgelegt, welche Reihen bei der Ausgabe der Abfrageergebnisse
angezeigt werden sollen. Gesucht werden können Reihen
• mittels Vergleichsoperatoren (= > < >= <= <>)
• in Bereichen (BETWEEN , NOT BETWEEN)
• in Listen (IN, NOT IN)
• durch Zeichenfolgeübereinstimmung (LIKE , NOT LIKE)
• mit unbekannten Werten (IS NULL, IS NOT NULL)
• durch Kombination der genannten Typen (AND, OR ) und
• durch Negation (NOT) .
In der ORDER BY-Klausel können bis zu 16 Spaltennamen angegeben werden. Entsprechend dieser
Reihenfolge wird sortiert.
Darüber hinaus existieren folgende Standardfunktionen:
• SUM (Summe)
• AVG (Durchschnittliches)
• MIN (Minimum)
• MAX (Maximum)
• COUNT (Werteanzahl)
und folgende Standardschlüsselwörter:
• ASC/DESC
• FOR UPDATE OFF
• GROUP BY
• HAVING
• INTO
• FROM
• ORDER BY
• SAVE TO TEMP
• SELECT
• UNION
• WHERE
10
Abschließend noch einige einfache Beispiele:
SELECT DISTINCT Lieferant, Adresse FROM Waren
SELECT COUNT (DISTINCT Lieferantencode) FROM Waren
SELECT * FROM Personal WHERE Name LIKE `D%`
SELECT * FROM Waren WHERE Stoffcode LIKE `M11_`
SELECT Name, Vorname FROM Personal WHERE Adresse NOT
LIKE `%Pirna`
2.5. ASP
ASP – Active Server Pages - ist eine von Microsoft entwickelte Technologie, um serverseitig
ausführbare Skripte erstellen zu können.
Man erhält somit dynamische Webseiten. ASP ist Bestandteil des IIS (Internet Information Server)
und IIS wiederum ist ein kostenlos von Microsoft zu Verfügung gestellter Webserver (die
Installation des IIS als Testumgebung wird später noch beschrieben). IIS war ursprünglich nur unter
Windows lauffähig. Mittlerweile ist er jedoch durch Drittanbieter auch für andere Betriebssysteme
verfügbar.
Abbildung 3: Abarbeitung eines Scriptes
Zur Programmierung kann prinzipiell jede Skriptsprache verwendet werden, wobei der Code in
HTML eingebettet wird. Hauptsächlich wird dazu jedoch VBScript eingesetzt.
Das Grundgerüst eines ASP-Skriptes sieht dabei folgendermaßen aus:
<%@ Language = VBScript %>
<HTML>
<HEAD><TITLE>ASP Beispiel 1</TITLE></HEAD>
11
<BODY>
<P>Dies ist ganz normaler HTM L-Text.</P>
<%
Dim Text
Text = "Dieser Text wurde dynamisch
eingefügt."
%>
<P><%=Text%></P>
</BODY>
</HTML>
ASP-Seiten werden mit der Dateiendung .asp abgespeichert.
ASP enthält unabhängig von der verwendeten Skriptsprache 5 integrierte Objekte:
Application
Enthält globale Variablen, auf die von jeder
Seite einer ASP Anwendung aus zugegriffen werden kann
Session
Speichert sämtliche Informationen zu einer
bestimmten
Benutzersitzung
Server
Erlaubt den Zugriff auf die Eigenschaften und
Methoden des
Servers
Request
Erlaubt den Zugriff auf Daten, die ein Browser
bei einer HTTP Anforderung an den Server gesendet hat
Response
Damit lassen sich Daten an den Client
übermitteln, indem diese in
die Ausgabe eingefügt werden
Beispiel zur Verwendung der Objekte:
<%@ Language = VBScript %>
<HTML>
<HEAD><TITLE>ASP Beispiel 2</TITLE></HEAD>
<BODY>
<FORM ACTION="Beispiel2.asp"
METHOD="POST">
12
<INPUT NAME="Textfeld" TYPE="Text">
</FORM>
<%
Response.Write
"<P>"&Request.Form("Textfeld") & "</P>"
%>
</BODY>
</HTML>
Datenbankanbindung mittels ASP
ASP verwendet die ActiveX Data Objects (ADO), um auf Daten zuzugreifen. ADO ist ein HighLevel-Interface für den Zugriff auf OLE DB-kompatible Datenquellen und ODBC-kompatible
Datenbanken.
OLE DB (Object Linking + Embedding for Databases) ist eine Programmierschnittstelle zur
Bereitstellung der Funktionalität verschiedener Datenbanksysteme (OLE DB Provider).
ODBC (Open Database Connectivity) ist eine Technologie, die es durch den Einsatz spezieller
Treiber erlaubt, auf unterschiedliche relationale Datenbanken mit Hilfe von SQL zuzugreifen. Es
stellt also definierte Schnittstellen zum Zugriff zur Verfügung.
Über das Objekt-Modell von ADO lässt es sich mit einer Skriptsprache, wie z.B. VBScript, nun
bequem auf diese Schnittstellen zugreifen.
Das ADO Objekt-Modell:
- Connection
Repräsentiert eine Verbindung zu einer Datenquelle
- Command
Enthält eine Abfrage, welche auf eine Datenquelle angewendet wird
- Recordset
Enthält alle Datensätze, die das Ergebnis einer Abfrage darstellen
- Field
Repräsentiert eine einzelnes Feld eines Datensatzes
a) Verbindungsaufbau mittels ODBC:
<%
Set ConDB =
Server.CreateObject("ADODB.Connection")
13
ConDB.Open "DSN=Testdatenbank"
ConDB.Close
%>
DSN steht hierbei für den DSN-Namen der Datenbank (siehe Kapitel 2.6.3). Zu beachten ist, dass
eine Verbindung zu einer Datenbank stehts geschlossen werden muss.
b) Lesender Zugriff auf eine Datenbank (ODBC):
<%
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "SELECT name FROM booking", ConDB
While Not RS.EOF
Response.Write RS ("name") & "<BR>"
RS.MoveNext
Wend
RS.Close
%>
c) Schreibender Zugriff auf eine Datenbank (ODBC):
<%
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "booking", ConDB, 0, 3
RS.AddNew
RS ("name") = "Lustig"
RS ("vorname") = "Peter"
RS.Update
RS.Close
%>
14
d) Komplexeres Beispiel:
<%
´´´´´´´´´globale
Variablen´´´´´´´´´´´´´´´´´´´´´´´´´´´
Dim ConDB, RS, SQL
´´´´´´´´´Verbindung zur Datenbank
aufbauen´´´´´´´´´´´
Set ConDB =
Server.CreateObject("ADODB.Connection")
ConDB.ConnectionTimeout = 30
ConDB.Open "neumerkel2"
´´´´´´´´´Ein leeres Recordset
erzeugen´´´´´´´´´´´´´´´
Set RS = Server.CreateObject
("ADODB.Recordset")
´´´´´´´´´Beispielanfrage
starten´´´´´´´´´´´´´´´´´´´´´
SQL = "SELECT id, name FROM airport"
RS.Open SQL, ConDB
´´´´´´´´´´´Verbindung zur Datenbank
beenden´´´´´´´´´´
ConDB.Close
%>
2.6. Installationsanleitung
2.6.1. Installation und Konfiguration des Internet Information Server
Um von zu Hause aus die Bearbeitung durchführen zu können ist es sinnvoll sich eine
Testumgebung einzurichten. Microsoft stellt dafür den IIS kostenlos zur Verfügung.
Die hier beschrieben Installation des IIS - Webserver wurde in dieser Form auf einen PC mit
vorinstalliertem Windows XP durchgeführt. Die Installation und Konfiguration des IIS Webservers gestaltet sich auch unter Windows 2000 als einfach und unkompliziert.
Prinzipielle Vorgehensweise:

Start – Systemsteuerung – Software
15

Windowskomponenten hinzufügen/entfernen

IIS – Internet Information Server auswählen
Abbildung 4: Windowskomponenten hinzufügen/entfernen
Um die Installation zu überprüfen kann nun im geöffneten Browser http://localhost eingegeben
werden. Es öffnet sich daraufhin die Willkommensseite des IIS.
16
Abbildung 5: die Willkommenseite des IIS unter Windows XP
2.6.2. Access 2003 und ODBC
Die Installation von Access 2003 geschieht im Rahmen einer Microsoft Office Installation und wird
an dieser Stelle nicht näher beschrieben.
17
ODBC-Quelle
Open Database Connectivity ODBC ist eine von Microsoft entwickeltes API mit dessen Hilfe man
in einer Anwendung – mit Hilfe der Abfragesprache SQL - auf eine Datenquelle zugreifen kann.
Dazu muss jedoch ein ODBC-kompatibler Treiber vorliegen. Dazu muss, bevor man auf die
Datenquelle zugreift, die Datenquelle in ODBC eingebunden werden (sog. Systemdatenquelle
einrichten). Dies geschieht mit Hilfe des ODBC Administrator.
Vorgehensweise:

in der Taskleiste Start - ControlPanel - Adminstrative Tools - Data Sources (ODBC) anklicken.

Registerkarte USER - DSN wählen. (siehe Abbildung 3.4.)

Knopf Add.. wählen.

Microsoft Access Treiber wählen und den Knopf Finish drücken.(siehe Abbildung 3.5)

Im anschließenden Dialogfenster im Textfeld Data Source Name einen symbolischen
Namen vergeben, unter den die ODBC-Quelle angesprochen werden soll. In Abbildung 3.6
wurde der Name flugbuchung gewählt.

Im gleichen Dialogfenster den Knopf Select wählen und die entsprechende Datenbankdatei
auswählen.
Sollte alles erfolgreich verlaufen sein, so müsste jetzt im Auswahlfeld des ODBC Data Source
Administrator die ODBC Quelle flugbuchung erscheinen.
Abbildung 6: ODBC Datenquellen Administrator
Abbildung 6
Abbildung 7: ODBC-Setup
18
Abbildung 7: Auswahl des Microsoft Access-Treiber
Abbildung 8: Dialog zur Auswahl der Datenquelle
Abbildung 9: Auswahl der Access-Datenbank
19
Abbildung 10: Namensvergabe für ODBC-Datenquelle
Abbildung 11: erzeugte ODBC-Datenquelle für flugbuchung
3. Der Versuch
3.1. Versuchsziel
Ziel des Praktikumversuches ist es, dass der Student Kenntnisse über die serverseitige Anbindung
einer Datenbank an einen Webserver mittels einer in HTML eingebetteten Skriptsprache erlangt.
Als Basis dient eine Datenbank, die auch in anderen Praktikumskomplexen Verwendung findet.
3.2. Versuchsdurchführung
Jeder Praktikumsteilnehmer wählt eine der vorgestellten Aufgaben und löst diese individuell:

zu Hause mittels einer Testumgebung (Einrichtung IIS s.o.)

mittels Zugriff auf den Praktikumsrechner über Remotedesktopverbindung
Auf den Praktikumsrechnern ist der Webserver, die Datenbank und die Skriptsprache entsprechend
vorinstalliert und konfiguriert. Der Student erhält ein Login, mit dem er lesenden Zugriff mittels
Remotedesktopverbindung auf die Datenbank hat und ein Ordner im Wurzelverzeichnis des
Rechners, um seine Arbeit zu testen.
Namenskonventionen:

Skript:
der Dateiname des Skriptes setzt sich aus dem FRZ-Login und der Endung „.asp“
zusammen
20
Beispiel: FRZ-Login „[email protected]“
→ „dg4.asp“

Verzeichnis:
C:\Inetpub\wwwroot\prakrn\“FRZ-Login“\
Beispiel: FRZ-Login „[email protected]“
→ Verzeichnisname „C:\Inetpub\wwwroot\prakrn\dg4\“

Rechner: (siehe auch Tabelle Abschnitt 4.2.)
PRAKTIKUM-1.inf.tu-dresden.de

Login für das Praktikum:
prak_“FRZ-Login“
Beispiel: FRZ-Login „[email protected]“
→ „prak_dg4“
3.3. Systemvoraussetzung
Die Ansprüche an die Hardware sind relativ gering:
Pentium III - PC
128 MB Arbeitsspeicher
Microsoft Access
IIS als Testumgebung (optional)
Internetzugang (für Remotedesktopverbindung)
ca. 350 MB freien Festplattenplatz
Kategorie
Software
Vendor
Betriebsystem
Windows 2000/ Windows XP
Microsoft
Datenbank
Access (MS Office)
Microsoft
Skriptsprache
VBScript
optionale Testumgebung
IIS
Microsoft
3.4. Die Datenbank
Die in diesem Versuch zu verwendende Datenbank wird wie bereits erwähnt auch in anderen
Komplexen des Praktikums verwendet. Der Diskursbereich modelliert den internationalen
21
Flugbetrieb.
Die Datenbank besteht aus diversen Tabellen :
• Airline
- beinhaltet den Namen und eine eindeutige ID der Fluggesellschaften
• Airport
- eine eindeutige Nummer, den Namen und der Stadt bzw. Ort, in dem sich ein
Flughafen befindet
• Booking
- in dieser Tabelle wird eine eindeutige Zuordnung eines Passagier zu einem
bestimmten Flug und Sitz, welchen er gebucht hat, getroffen
• Class
- alle möglichen Klassen, in denen man fliegen kann
• Flight
- hier wird ein Flug eingetragen. Ein Flug hat eine eindeutige Nummer, einen
Namen, ein Start- und einen Zielflughafen, und wird mit einem bestimmten
Flugzeug in einer bekannten Zeit geflogen
• Location
- diese Tabelle ordne jede Stadt einem Land zu
• Passenger - alle relevanten Informationen, wie Name, Vorname, Anschrift und Bankverbindung
eines Passengers werden hier abgelegt
• Plane
- hier findet man Angaben zu einem Flugzeug wie Hersteller und Fluggesellschaft,
die dieses Flugzeug unterhält
• Planetype - Informationen über Flugzeugbauer und ihre Produkte
• Seat
- jeder Sitz erhält in diesem Diskursbereich eine eindeutige Nummer, wird einem
Flugzeug zugeordnet, hat eine weitere Flugzeug- interne Nummer und Attribute, die
beschreiben in welcher Klasse er steht und ob er ein Raucher- und Fensterplatz ist
Die nachstehenden Tabellen und die Abbildung 2.3 geben ein mehr detailliertes Bild. Natürlich
kann man auch die Tabellen direkt in Microsoft Access erforschen.
22
Abbildung 13
23
3.5. Aufgabenstellung
Es soll ein Auskunftssystem für den Linienflugverkehr entwickelt werden, welches über einen
Webbrowser bedient werden kann.
Teilaufgabe 1 – Anzeigetafel
Ziel dieser Aufgabe soll eine Seite sein, die ähnlich einer Anzeigetafel in den
Wartehallen der Flughäfen ankommende und abgehende Flüge in der nächsten Stunde
anzeigt. Dabei soll der Flughafen frei gewählt werden können.
Teilaufgabe 2 – Personensuche
Ziel soll eine Suchfunktion sein, die einem die Möglichkeit bietet, sich zu erkundigen,
wann und wo eine bestimmte Person auf einen Flughafen ankommt oder abfliegt.
Man wählt im Formular zunächst die Stadt, in welcher die gesuchte Person lebt,
anschließend die Person aus.
Teilaufgabe 3 – Reiseplan
Mitunter fliegen Passagiere nicht direkt zu ihrem eigentlichen Ziel sondern sind
gezwungen eine andere Route mit Umstiegen und Aufenthalten auf anderen
Flughäfen zu wählen. Für diese Passagiere ist ein Reiseplan nützlich, der ihnen genau
24
mitteilt, wann, wo und mit welcher Maschine sie abfliegen und wie lange der
Aufenthalt auf den Flughäfen ist. Die Aufgabe sollte „vereinfacht“ gelöst werden, d.h.
spezielle Sonderfälle sollte man nicht beachten.
Teilaufgabe 4 – Auslastung
Für Fluggesellschaften ist es sicherlich interessant wie stark bestimmte Linienflüge
ausgelastet werden. Man sollte die Fluggesellschaft wählen könne und sich anzeigen
lassen, welcher Flug mehr bzw. weniger als eine frei wählbare Prozentzahl belegt war.
Teilaufgabe 5 – Logistik
Aus logistischer Sicht ist es für eine Fluggesellschaft wichtig für ihre Flugzeuge einen
Flugplan zu erstellen. Man sollte aus einem Formular eine Fluggesellschaft und ein
Flugzeug dieser Fluggesellschaft wählen können. Der Flugplan dieses Flugzeuges soll
in einer Tabelle angezeigt werden.
Teilaufgabe 6 – Besucherzahl
Flughafenbetreiber wünschen sich eine einfache Statistik über ankommende und
abfliegende Passgierzahlen in einer Monatsübersicht. In dem Formular soll der
Flughafen gewählt werden können.
Teilaufgabe 7 – Geheimdienst
Der Geheimdienst möchte hin und wieder wissen, wo sich eine Person im Moment
befindet. Entweder ist sie zu Hause oder auf den Weg in einer anderen Stadt. Der
Geheimdienst geht davon aus, dass jeder ausschließlich mit dem Flugzeug reist, d.h.
man befindet sich entweder „zu Hause“, in der Luft, auf den Weg in eine andere Stadt
oder ist bereits dort angekommen. In dem Formular sollen die Mitarbeiter des
Nachrichtendienstes die Stadt wählen könne, in welcher die gesuchte Person wohnt
und anschließend die Person selber. Die Antwort des Systems soll der momentane
Aufenthaltsort sein.
Teilaufgabe 9 – Demnid
Das Meinungsforschungsinstitut DEMNID gibt jede Woche eine Top-Ten Liste
heraus, auf der die 10. 'reiselustigsten' Städte aufgeführt sind, d.h. aus welchen
Städten die meisten Bürger geflogen sind und wie viel.
Teilaufgabe 10 – Catering
Der Cateringservice einer Fluggesellschaft möchte wissen, wie viele Personen mit
einem Flug reisen um entsprechende Anzahl Brötchen, Saftflaschen und Servietten zu
bestellen. Zusätzlich muss für die Passagiere der gehobeneren Klassen Sekt bestellt
werden. Das Interface soll die Menge bzw. Stückzahl der zu bestellenden Brötchen,
25
Servietten, Saft –und Sektflaschen natürlich gleich errechnen.
Die Arbeit sollte funktional, optisch ansprechend, leicht und intuitiv bedienbar sein. Ein mögliches
Design zeigen die Abbildungen 14 und 15.
Abbildung 14
Abbildung 15
26
4. Wichtige Hinweise
4.1. FAQ
• Aktuelles Datum
Da die Datenbank nicht aktualisiert wird, beziehen sich alle fiktiven Datensätze auf einen
Zeitraum im Oktober 2001. Für die Bearbeitung der Aufgaben kann ein sinnvolles
beliebiges Datum als „aktueller“ Zeitpunkt frei gewählt werden.
• Timestamp
Zur Abfrage eines Microsoft ACCESS Datentyp timestamp muss dieser Wert in #
eingeschlossen werden. Zum Beispiel:
SELECT * FROM Flight WHERE time > “#2001-10-12
17:12:23#”
• Spaltenname from in der Tabelle Flight
Zur Unterscheidung des Feldnames from in der Tabelle Flight und dem Schlüsselwort
FROM aus der SQL-Sprache ist es notwendig, die vollständige Feldbezeichnug anzugeben:
SELECT flight.from FROM Flight WHERE ...
oder ein Alias zu verwenden:
SELECT f.from FROM Flight AS f WHERE ...
27
4.2. Test der Logins an den Rechnern des Komplexpraktikums
Für den Zugriff auf die Praktikums-Server am Lehrstuhl Rechnernetze stehen im FRZ folgende
Tools zur Verfügung:
1. Windows XP: Remotdesktopverbindung
2. Windows 2000: Terminaldienstclient
a) Zum Aufbau der Verbindung ist der gewünschte Servername anzugeben und die Verbindung
herzustellen (Abb.16).
Abbildung 16
Der Alias für den Server des Databaseversuches lautet: „PRAKTIKUM-1.inf.tu-dresden.de“.
Jedoch wird in der Einführungsverantstaltung die genaue Adresse nochmals bekannt gegeben.
b) Eingabe des Nutzernamen und des vorläufigen Passwortes (Abb.17):
28
Abbildung 17
Der Nutzername wird gebildet aus: „prak_“ und dem FRZ-Login {s1234567} und lautet
demzufolge prak_s1234567. Das Passwort wird bei der Einführungsveranstaltung bekannt gegeben.
c) Bei dem ersten Login kommt die Aufforderung das gesetzte Passwort zu ändern (Abb.18).
Abbildung 18
d) Danach sollte getestet werden, ob Schreibrechte für das Verzeichnis bestehen, z.B. durch
Anlegen des Ordners „Lösungen“ mit den Unterordnern für die Lösungen der gewählten
Praktikumsversuche.
e) WICHTIG !
Beenden Sie eine Sitzung niemals nur durch ein Disconnect. Dadurch werden die laufenden
29
Programme nicht beendet, sondern die Sitzung nur unterbrochen. Wenn das mehrere Nutzer
machen, führt das zu vielen parallelen Sitzungen und damit zu einer hohen Last auf den Rechnern.
Dadurch wird die Arbeit aller Nutzer behindert (Abb.19).
Abbildung 19
f) Aus diesem Grund immer mittels Start / Beenden / Abmelden eine Sitzung schließen. Nach 24
Stunden Laufzeit werden Sitzungen vom Administrator ohne Ankündigung beendet (Abb.20).
Abbildung 20
30
Literatur
[1] Thomas Münze, Lehrbuch Selfhtml:
http://www.teamone.de/selfhtml
[2] Eine Einführung in SQL
http://www.sql-undxml.de/sql-tutorial/index.html
[3] Die Webseite von MySQL
http://dev.mysql.com
[4] Die Webseite eines ASP-Forum:
http://www.aspgerman.com
[5] Eine amerikanische ASP-Webseite:
http://www.learnasp.com/classic/
[6] Die Webseite des Lehrstuhl Rechnernetze an der TU-Dresden
[7] Die Webseite des Komplexpraktikum Rechnernetze der TU-Dresden
31
Herunterladen