Categories: Software

Web Services B2B-Implementierung: Komponenten, Ausnahme-Behandlung und Logging

Einer der wichtigsten Aspekte sorgfältigen Systemdesigns ist die Behandlung von Ausnahmen (Exception Handling). Ablauf und Behandlung von Ausnahmen sorgen unter Entwicklern häufig für Verwirrung. Der Schlüssel zum Verständnis des Ablaufs von Ausnahmen besteht darin, die Anwendung in Schichten aufzubauen (Application Layering). Dies ist ein objektorientiertes (OO) Designprinzip, das als Kapselung bekannt ist. Durch die korrekte Implementierung der Kapselung zwischen den einzelnen Klassen und Komponenten erfolgt die Behandlung von Ausnahmen beinahe automatisch.

Im Beispielszenario ist die Aufteilung in Schichten recht einfach: Jede Schicht wird durch einen Tier im Framework repräsentiert. Dies bedeutet, dass es eine Datenbankschicht, eine Business-Schicht, eine ASPX-Schicht und eine Web Service-Schicht gibt. Durch die Implementierung einer eigenen Ausnahme-Klasse für jede Schicht können Ausnahmen einfach identifiziert und innerhalb der Anwendung verfolgt werden. Abbildung C veranschaulicht den Ablauf von Ausnahmen in beiden Anwendungen.


Abbildung C: Ablauf der Ausnahmen

Die einzelnen Schichten lassen sich am einfachsten über die Verknüpfungen der Projekte beschreiben. Einige Komponenten interagieren nur mit bestimmten anderen Komponenten. Dadurch wird sichergestellt, dass der Programmablauf einem vorhersagbaren, hierarchischen Ablaufmuster von oben nach unten folgt. Im Ergebnis bewirkt dieses Designmuster, dass man z. B. sicher sein kann, dass eine von der ASPX-Schicht ausgelöste System.Exception keine Auswirkungen auf die Datenbank- oder Business-Komponente hat. Durch konsequente Umsetzung der Kapselung kann man exakt festlegen, welche Klassen und Methoden von wo aus aufgerufen werden, so dass man einen logischen Ablauf für alle Ausnahmen erzeugen kann.

Nun müssen also die Klassen für die eigenen Ausnahmen erstellt werden. Dazu erstellt man die folgenden Ausnahme-Klassen für beide Anwendungen: Rechtsklick auf die BizTier-Komponente und Auswählen von Add | Add Class (Hinzufügen | Klasse hinzufügen). Als Klassenname gibt man BizTierException.vb ein und kopiert den Code aus Listing D in diese neue Klasse.

Dieselben Schritte wie für die BizTier-Komponente müssen für die DbTier-Komponente durchgeführt werden, die neue Klasse erhält den Namen DbTierException.vb. In diese neue Klasse wird der Code aus Listing E kopiert.

Beide Klassen weisen dieselbe Implementierung auf. Durch Verwendung einer OO-Technik namens Vererbung wird die Klasse System.ApplicationException erweitert und um zwei Konstruktoren ergänzt, die einfach die Parameter an die Basisklasse weiterreichen, indem sie die Parent-Konstruktoren aufrufen. Damit können Ausnahmen erstellt werden, die nur einen Nachrichten-String enthalten, oder Ausnahmen, die mit einer inneren Ausnahme gekoppelt sind.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Gaming-bezogene Phishing-Attacken um 30 Prozent gestiegen

Über drei Millionen Angriffsversuche unter Deckmantel von Minecraft / YouTube-Star Mr. Beast als prominenter Köder

1 Woche ago

KI erleichtert Truckern die Parkplatzsuche

Die Prognose für die Anfahrt bezieht das Verkehrsaufkommen, die Stellplatzverfügbarkeit sowie die Lenk- und Ruhezeiten…

1 Woche ago

EU AI-Act Risk Assessment Feature

Unternehmen können mit Casebase Portfolio an Daten- und KI-Anwendungsfällen organisieren.

1 Woche ago

Smarthome-Geräte sind Einfallstor für Hacker

Smart-TV oder Saugroboter: Nutzer schützen ihre smarten Heimgeräte zu wenig, zeigt eine repräsentative BSI-Umfrage.

2 Wochen ago

Core Ultra 200V: Intel stellt neue Notebook-Prozessoren vor

Im Benchmark erreicht der neue Core Ultra 200V eine Laufzeit von 14 Stunden. Intel tritt…

2 Wochen ago

Irrglaube Inkognito-Modus

Jeder dritte hält sich damit für unsichtbar. Wie widersprüchlich unser Datenschutzverhalten oft ist, zeigt eine…

2 Wochen ago