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

CopyRhadamantys greift weltweit Unternehmen an

Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.

3 Stunden ago

Facebook Marketplace: EU verhängt Geldbuße von fast 800 Millionen Euro gegen Meta

Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…

6 Stunden ago

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

16 Stunden ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

1 Tag ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

1 Tag ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

2 Tagen ago