Effiziente Anfrageverarbeitung mit AIAB

Wer die im .NET Web Service-Proxy verfügbaren Methoden vermeiden möchte, kann mit dem Tool Asynchronous Invocation Application Block (AIAB) Web-Services über XML in seine Architektur einbinden.

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.)

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Effiziente Anfrageverarbeitung mit AIAB

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *