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

NiPoGi AM06 PRO Mini PC: Perfekte Kombination aus Leistung, Flexibilität und Portabilität

Kostengünstiger Mini-PC mit AMD Ryzen 7 5825U-Prozessor, 16 GB Arbeitsspeicher (RAM) und 512 GB SSD.

4 Stunden ago

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

3 Tagen ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

3 Tagen ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

3 Tagen ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

4 Tagen ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

4 Tagen ago