Effiziente Anfrageverarbeitung mit AIAB

Es sind die beiden Windows-Services, welche die Implementierung des AIAB kompliziert machen. Die Installation von Windows-Services ist noch immer ziemlich komplex und daher für einfache Projekte nicht ratsam. Trotz alledem eignen sich diese Services hervorragend, um Dienstanfragen durchzuführen und deren Beantwortung zu überwachen, so dass diese Funktionalität nicht in der jeweiligen Anwendung ausgeführt werden muss. Bei der Nutzung von StartFunction und EndFunction hingegen bleibt diese Funktionalität in der Anwendung, so dass man selber für deren Programmierung sorgen muss.

Die Klassen

Die vier als Teil des Anwendungsblock-Downloads für die Integration im Beispielcode enthaltenen Klassen werden hier von dem benutzerdefinierten Service-Agenten verwendet. Bei diesem Agenten handelt es sich um die Middleware-Klasse, die auf Ebene der Anwendungsschicht sämtliche Aufrufe übernimmt. In der im Download enthaltenen Beispielanwendung gibt der Code für den CustomizedServiceAgent (CustomizedSA.cs) Aufschluss über die Verwendung der Klassen Command und Dispatcher.

Der Agent implementiert IServiceAgent und ruft, kurz gesagt, die Web Services auf, wobei ein Eintrag bezüglich der Anfrage in der Datenbank gespeichert wird. Alles in allem wirklich ein einfaches und übersichtliches System.

Anwendungsstrategie

Trotz des einfachen Aufbaus dieses Systems ist seine Implementierung etwas mühselig. Für ein Durchschnittsprojekt ist es daher nicht zu empfehlen. Dieser Block ist vermutlich am besten wie von Microsoft vorgesehen einsetzbar, nämlich als Teil einer Implementierung, die Caching Blocks oder Aggregation Blocks umfasst.

Es gibt bestimmte Situationen, in denen sich dieser Block als nützlich erweisen könnte. Beispielsweise würde er bei einem umfangreichen Programm zur Entwicklung und Einrichtung von Geschäftsprozessen – eine Art BizTalk – viele Stunden mühseligen Codierens einsparen. Bei einem Projekt, das dagegen nur einen asynchronen Aufruf eines einzelnen Services benötigt, dürfte die von System.Web.Services übernommene integrierte Start- und Beenden-Funktion ausreichen. Die Status-Daten für diese Implementierung werden im lokalen Projektspeicher erfasst, wogegen dieses System den Status der Anfragen in einer für andere Systeme zugänglichen SQL-Server-Datenbank speichert. Dies bedeutet mehr Leistung, aber auch eine höhere Komplexität.

Schlussbemerkung

Obwohl der AIAB vermutlich für den Alltagsgebrauch eher selten benötigt wird, eignet er sich bestens für die Patterns and Practices-Anwendungen von Microsoft. Der bereitgestellte Beispielcode sowie die Datenbank und der statische Strukturaufbau zeigen anschaulich, wie man „richtig“ für .NET programmiert.

Vor allem muss man sich darüber im Klaren sein, welche Vorgänge bei der Nutzung der Caching Blocks oder Aggregation Blocks im Hintergrund ablaufen. Wenn man Anpassungen vornehmen oder auch nur kompilieren und implementieren will, ist ein gründliches Verständnis dieses Systems eine große Hilfe bei der Lösung potenzieller Probleme.

Ob man nun also den Block als solchen verwendet, weitere Blöcke mit einer AIAB-Integration implementiert oder lediglich asynchrone Abläufe untersucht – der Asynchronous Invocation Application Block bietet eine Vielzahl an Funktionalitäten und Quellcode.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

2 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

5 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

5 Tagen ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

5 Tagen ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

6 Tagen ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

6 Tagen ago