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

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

1 Tag ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

2 Tagen ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

2 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

2 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

3 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

3 Tagen ago