Umsetzung einer ASPX GUI-Schicht

Da Johns Anwendung nun vollständig implementiert ist, kann die letzte Phase der Implementierung abgeschlossen werden: Toms Präsentationsschicht. Toms Anwendung ist mit einem komplexeren Front-End ausgestattet, das einen Warenkorb sowie eine dynamische Seitengenerierung umfasst. Am Ende dieses Artikels werden zwei vollständig implementierte und funktionale Anwendungen zur Verfügung stehen.


Vorausgegangene Artikel
  1. Web Services: Entwicklung eines Szenarios
  2. Web Services B2B-Implementierung: Komponenten, Ausnahme-Behandlung und Logging
  3. Web Services: Datenbank-Design
  4. Implementierung der Business-Logik
  5. Implementierung von B2B Web Services: Toms Anwendung
  6. Web Services: Johns ASPX GUI-Schicht

Die Grundlagen schaffen

Bevor man beginnt, die Anwendungsfälle zu implementieren, müssen bestimmte Basisstrukturen für das Front-End erstellt werden. Toms Anwendung wird dieselben drei Basiskomponenten benutzen wie die Anwendung von John: ein Stylesheet, spezifische Navigationskontrollen und einen ASPX-Identifier. Zusätzlich sind in Toms Anwendung separate Unterordner für die ASPX-Seiten, ein Stateful-Session-Objekt und eine spezifische Fehlermeldungsseite erforderlich.

Man öffnet Toms ASP.NET-Lösung und ersetzt den Inhalt der standardmäßigen Styles.css-Datei durch den Inhalt aus Listing A (Link zu Styles.css). Toms Stylesheet weist die gleiche Grundstruktur auf wie das von John, es fügt jedoch andere Farben und Fonts hinzu.

Als Nächstes fügt man die ASPX-Identifier-Klasse hinzu. Dazu klickt man mit der rechten Maustaste auf Toms ASP.NET-Projekt und wählt Add | Add Class (Hinzufügen | Klasse hinzufügen). Die neue Klasse nennt man WebPageNames.vb. Dann kopiert man den Inhalt aus Listing B in diese Klasse. Genau wie bei Johns Anwendung wird jede ASPX-Seite in der Anwendung durch eine statische Konstante identifiziert, um hart kodierte Seitenreferenzen zu vermeiden.

Um eine Trennung zwischen den öffentlichen und den verborgenen Bereichen der Website zu schaffen, muss man zwei Unterordner erstellen. Dazu klickt man mit der rechten Maustaste auf Toms Anwendung und wählt Add | New Folder (Hinzufügen | Neuer Ordner). Diesen Vorgang muss man zweimal wiederholen, um zwei Ordner mit den Bezeichnungen „public“ und „private“ einzurichten. Seiten, die nur für Toms registrierte Kunden verfügbar sind, werden in dem privaten Ordner platziert, während alle anderen Seiten in dem öffentlichen Ordner landen.

Da Toms Anwendung einen einfachen Warenkorb ausführt, muss man einige grundlegende Funktionen zur Statusverwaltung in die Anwendung integrieren. Anstatt mehrere Variablen in das Session-Objekt zu packen, fasst man die benötigten Variablen in einer neuen Klasse zusammen und platziert eine einzelne Instanz dieser Klasse in die Session, um eine übersichtlichere Verwaltung zu ermöglichen.

Zur Implementierung dieser Klasse klickt man mit der rechten Maustaste auf Toms Anwendung und wählt Add | Add Class (Hinzufügen | Klasse hinzufügen). Die neue Klasse nennt man SessionObj.vb und der Inhalt aus Listing C wird in diese Klasse kopiert.

Die SessionObj-Klasse dient zur Verwaltung von Informationen, die einzelne Kunden sowie die Bücher betreffen, die diese ihrem Warenkorb hinzugefügt haben. Man fügt den folgenden Code zu der Datei Global.asax hinzu, um ein neues Session-Objekt für jeden Benutzer zu erstellen, sobald dieser auf die Anwendung zugreift:

In die Navigationsleiste wird eine einfache Reihe aus Buttons implementiert, die oben auf jeder Seite angezeigt werden und dem Kunden das Navigieren in der Anwendung ermöglichen. Ein kleiner Zusatz zu der Navigationsleiste zeigt an, wie viele Objekte sich jeweils im Warenkorb des Benutzers befinden. Die Variable NumItems in der SessionObj-Klasse übernimmt es, die Anzahl aller im Warenkorb des Kunden befindlichen Bücher zu zählen.

Zum Hinzufügen der Navigationsleiste muss man mit der rechten Maustaste auf den öffentlichen Ordner klicken und Add | Add Web User Control (Hinzufügen | Web-Benutzersteuerelement hinzufügen) wählen. Man nennt dieses Steuerelement NavBar.ascx und fügt den HTML-Code aus Listing D zu der HTML-Ansicht des Steuerelements hinzu sowie den VB.NET-Code aus Listing E zur Code-Behind-Datei.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

2 Tagen ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

2 Tagen ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

2 Tagen ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

2 Tagen ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

2 Tagen ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

2 Tagen ago