Umsetzung einer ASPX GUI-Schicht

Nun kann man mit dem Hinzufügen der ASPX-Seiten zur Anwendung beginnen. Genau wie in Johns Anwendung fügt man zunächst alle Seiten hinzu und kopiert den Code in diese hinein, um anschließend die relevanten Aspekte jeder Seite zu überprüfen. Mit der rechten Maustaste klickt man auf den entsprechenden Ordner und wählt Add | Add Web Form (Hinzufügen | Web-Formular hinzufügen) für die Seiten aus, die in der unten stehenden Tabelle aufgeführt sind. Für jede Seite kopiert man den Link aus der HTML-Spalte in Tabelle A in die HTML-Ansicht für die Seite und den Code aus der Code-Behind-Spalte in die entsprechende Klasse der Seite.

Tabelle A
HTML Code Behind Ordner
SearchBooks.aspx (Listing G) SearchBooks.aspx.vb (Listing H) Public
LoginForm.aspx (Listing I) LoginForm.aspx.vb (Listing J) Public
CreateCustomer.aspx (Listing K) CreateCustomer.aspx.vb (Listing L) Public
ViewCart.aspx (Listing M) ViewCart.aspx.vb (Listing N) Private
ViewCustomer
Orders.aspx (Listing O)
ViewCustomer
Orders.aspx.vb (Listing P)
Private

SearchBooks.aspx

Diese Seite steht allen Benutzern zur Verfügung. Sie enthält ein Such-Formular und ein DataGrid für die Ergebnisse. Beim Laden der Seite übernimmt sie mithilfe eines Web Service den Datensatz gültiger Verfügbarkeiten aus Johns Anwendung. Interessant ist dabei, dass Toms Anwendung eine automatische Aktualisierung durchführt, falls sich diese Werte in Johns Anwendung ändern, und dass Tom seine Anwendung nie ändern muss, um eine Anpassung an diese Updates zu erreichen. Dies ist einer der Vorteile einer auf Web Services basierenden B2B-Anwendung.

Sobald Suchkriterien eingegeben werden, erfolgt ein weiterer Aufruf an Johns Web Service, um dessen Inventar zu durchsuchen. Die Ergebnisse werden dem Benutzer in Form des DataGrid präsentiert. Der Benutzer kann nun durch Klicken auf den Bestellbutton ein Buch bestellen, wobei die Informationen zu diesem Buch in das jeweilige SessionObj-Objekt eingefügt werden.

LoginForm.aspx

Standardmäßig werden alle Anfragen, die durch nicht autorisierte Benutzer an Seiten im privaten Ordner gerichtet werden, zu dieser Seite umgeleitet. Wenn für einen Kunden bereits ein Benutzerkonto eingerichtet wurde, kann er seine Zugangsdaten eingeben, die dann mit Toms Datenbank abgeglichen werden. Wenn eine Authentifizierung erfolgt, werden diese Daten in das jeweilige SessionObj-Objekt kopiert und an die gesicherte Seite zurückgeleitet, die der Benutzer ursprünglich aufrufen wollte; andernfalls wird der Benutzer standardmäßig an ViewCart.aspx weitergeleitet. Zusätzlich wird ein Sicherheitscookie für ihn erstellt, mit dessen Hilfe ASP.NET den Benutzer bei späteren Zugriffen auf gesicherte Seiten authentifizieren kann.

CreateCustomer.aspx

Benutzer, die kein Kundenkonto bei Tom besitzen, können auf dieser Seite ein neues Kundenprofil anlegen. Die E-Mail-Adresse des Benutzers wird dabei als seine Login-ID verwendet.

ViewCart.aspx

Mithilfe dieser Seite können authentifizierte Benutzer ihren Warenkorb verwalten. Auch hier werden durch das Einrichten eines B2B-Web-Service-Links zwischen Tom und John alle Informationen bezüglich der Bücher und der Bestellungen des Kunden im Verborgenen belassen. Für Toms Anwendung ist keinerlei Wartung erforderlich, um Änderungen an den Daten zu Bestellungen und Büchern zu übernehmen.

Auf dieser Seite können sich die Benutzer anzeigen lassen, welche Bücher sich in ihrem Warenkorb befinden und wie viel ihre Bestellung insgesamt kosten wird, wobei sie auch Bücher wieder aus dem Warenkorb entfernen können. Wenn ein Benutzer eine Bestellung aufgibt, indem er auf den Button „Bestellung aufgeben“ („Place Order“) klickt, wird ein asynchroner Aufruf an Johns Anwendung ausgeführt und eine Transaktionsübergabe erfolgt. Von diesem Zeitpunkt an ist John für die Bestellung verantwortlich. Anschließend wird der Warenkorb des Kunden geleert und der Benutzer kann weitere Einkäufe tätigen.

ViewCustomerOrders.aspx

Diese Seite liefert den Kunden Informationen über die von ihnen aufgegebenen Bestellungen. Der Inhalt dieser Seite wird je nach Bedarf dynamisch erzeugt. Die Anzeige ist in zwei Übersichtstabellen aufgeteilt: eine für in Bearbeitung befindliche Bestellungen und eine für abgeschlossene Bestellungen. Da sich die Basisinformationen zu den einzelnen Bestellungen in Toms Anwendung befinden, kann diese problemlos eingesetzt werden, um den Status einer Bestellung festzustellen. Durch einen zusätzlichen Aufruf an Johns Anwendung können bestimmte Details zu einem Auftrag abgerufen werden.

Die Tabellen sind anhand der Bestellungen gruppiert. Jede Bestellung kann mehrere Bücher umfassen, weshalb diese Darstellungsweise eine benutzerfreundliche und umfassende Übersicht bietet. Das Erstellen des Inhalts für diese Seite ist ein einfaches Beispiel dafür, wie man Steuerelemente während der Laufzeit generieren und dem Benutzer anzeigen kann. Die Anordnung des Layouts kann mitunter zwar etwas schwierig sein, doch mit ein wenig Ausprobieren lassen sich Seiten relativ problemlos dynamisch erzeugen.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

5 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

5 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

5 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

6 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

6 Tagen ago