Effiziente Anfrageverarbeitung mit AIAB

Der AIAB (Asynchronous Invocation Application Block) ist ein ausgeklügeltes Tool zur asynchronen Handhabung von Aufrufen von XML-Web Services. Sein primärer Verwendungszweck ist die Unterstützung umfangreicher Middleware-Strukturen, die Web Services implementieren, wenn der Systemarchitekt nicht die üblichen im .NET Web Service-Proxy verfügbaren Methoden StartFunction und EndFunction anwenden will.

Vorbereitung

Der AIAB steht auf den Patterns and Practices-Seiten des MSDN zum Download bereit. Nach der Installation des Pakets muss das Projekt geladen werden, um die Blöcke mithilfe von Visual Studio .NET oder dem Befehlszeilen-SDK zu erstellen. Außerdem muss die entstehende DLL im Projekt zugewiesen werden, um sie verwenden zu können, und es wird eine Assembly-Referenz in jeder Datei beziehungsweise jedem Formular benötigt. Der Beispielcode in Listing A zeigt die Verwendung verschiedener Aspekte des AIAB.

Der AIAB besteht aus sechs Projekten: den vier im Listing aufgeführten Namensräumen sowie zwei Windows-Services. Die Windows-Services sind der eigentliche Clou der Blöcke: Sie stellen die Entities für die Anfragen und die Überwachung dar. Im Folgenden sollen diese Elemente näher beleuchtet werden.

Die Basis-Komponenten:
Der AIAB setzt sich aus drei intelligent konzipierten Komponenten zusammen, die in einer hochgradig skalier- und konfigurierbaren Weise zur Ausführung einer komplexen Aufgabe zusammenwirken. Das wären zum einen eine SQL-Server-Datenbank zur Speicherung des Status‘ der Anfragen, außerdem die Windows-Services sowie eine Reihe von Klassen für den Zugang zu diesen Komponenten.

Die Datenbank
Die SQL-Server-Datenbank für den AIAB ist darauf ausgelegt, die Agenten und ihre Anfragen sowie die entsprechenden Antworten zu erfassen. Der Zugriff auf sie erfolgt mithilfe des Data Application Block. Wie das ORM-Diagramm in Abbildung A zeigt, speichert die Datenbank RequestDetails durch Ausführung von ServiceAgent, auf den durch ServiceAgentExecutionDetail verwiesen wird. Die RequestResults werden in einer Nachschlagetabelle gespeichert, um die Anpassung des Blocks zu erleichtern.

Abbildung A

(Für eine vergrößerte Version bitte auf das Bild klicken.)

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

3 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

3 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

4 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

5 Tagen ago