Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03260.jsonl.gz/386

Ein selbstständiger Berater sieht sich immer mit der Herausforderung konfrontiert, die Schlüsseltechnologien der Zukunft vorherzusehen. Nur so hat dieser die Möglichkeit, sich entsprechend weiterzubilden und als “early bird” am Markt zu agieren.
Persönlich habe ich mir die Frage gestellt, welchen drei Technologien ich die besten Chancen einräume, zukünftig als Skill gefragt zu sein.
- Domain Specific Language
- Microsoft Reactive Framework
- Microsoft Async
Vermutlich haben Sie bereits von diesen Libraries gehört, trotzdem möchte ich diese kurz vorstellen.
Domain Specific Language
Eine DSL beschreibt ein Objektmodel als Sprache. Der Klassendesigner im Visual Studio ist beispielsweise eine DSL. Sie modellieren Ihre Klasse, Properties, Events und Fields in einem Designer und lassen dieses Model von einem Generator in Code umwandeln.
Genau das Selbe ist mit eigenen Objekten möglich. Sie beschreiben ihre Zusammenhänge und die Ausprägungen der Objekte und sind dann in der Lage, diese visuell im Designer zusammenzustellen. Der Vorteil dieser Vorgehensweise ist die Homogenität der Objekte.
Ein Anwendungsbeispiel sind WCF Services, welche folgendem Pattern folgen:
Eine Service Methode hat eine Request Klasse mit den Aufrufparametern und eine Response Klasse mit dem Resultat. Die Request Klasse hat n Parameter. Die Response Klasse gibt n DTOs zurück.
Wenn Sie diesen Zusammenhang als DSL modellieren sind Sie in der Lage, alle genannten Objekte zu generieren und sogar teilweise mit Leben zu füllen, da Sie die Zusammenhänge kennen. Zudem stellen Sie sicher, dass alle WCF Services sich an dieses Pattern halten und homogen aufgebaut sind.
Gerade für diese Technologie gibt es hunderte von Anwendungsfällen, bei denen repetetive Aufgaben bewältigt werden müssen.
Microsoft Reactive Framework
Mit diesem Framework ist es möglich parallele Aktionen zu synchronisieren und mit Linq-Queries zu einem Resultat zusammen zu führen.
Am Beispiel einer Silverlight Anwendung möchten Sie zwei Servicecalls ausführen und die Ergebnisse der beiden Aufrufe zusammenführen. Ohne dieses Framework müssten sie sich auf die Completed-Events registrieren und die Synchronisierung manuell durchführen.
Mit dem Framework beschreiben Sie mit einer Linq Query, wie die Daten zusammengefügt werden sollen und auf welche Events gewartet werden muss. Damit wird Ihnen der ganze Synchronisierungsaufwand abgenommen und Sie können mehrere parallele Aufrufe so einfach wie einen einzelnen handhaben.
Microsoft Async
Mit diesem Framework ist es möglich asynchrone Methoden synchron zu behandeln. Dies ist z.B. in Silverlight sehr hilfreich, wenn Sie auf einen Servicecall warten müssen um mit der weiteren Verarbeitung fortzufahren. Mit der Einführung des “await” Keywords entfällt das komplette Callbackhandling, das aktuell notwendig ist, um solch eine Funktionalität zu implementieren. Ist eine komplexere Kaskade von abhängigen Servicecalls zu implementieren steigert dies die Lesbarkeit ungemein. Es ist somit eine prima Ergänzung zum oben genannten Reaktive Framework.
Allerdings sollte dabei die Möglichkeit von Composed Services in Betracht gezogen werden, welche die WCF Roundtrips minimieren.
Fazit:
Alle drei neuen Frameworks haben ihren Charme und bringen in der täglichen Entwicklung einen Mehrwert. Ich bin mir ziemlich sicher, dass es kein Nachteil ist, diese Technologien als Skill anbieten zu können.