Entwicklung von Unternehmensanwendungen mit Vulcan.NET unter Verwendung von PRISM 4.1 und der Microsoft Enterpriselibrary

Wie geht es weiter? Der erste Schritt ist gemacht, Sie haben Ihre Applikation von Visual Objects nach Vulcan.NET transportiert und sind bereit ihre Software in der schönen neuen Welt weiter zu entwickeln.

Voraussetzung

In der genannten Situation stellen sich zwangsläufig die nächsten Fragen:

  • Wie soll die zukünftige Architektur meiner Applikation aussehen?
  • Womit löse ich meine Datenzugriffe ab?
  • Auf welche der Optionen fällt meine Wahl der Oberfläche?
  • Wie gewährleiste ich eine leichte Erweiterbarkeit bzw. Modularisierung meiner Applikation?
  • Wie kann ich meine UI und die Datenzugriffsschicht separieren und damit automatisierte Test ermöglichen?
  • Welche der frei verfügbaren Bibliotheken sollte ich verwenden und wozu?
  • Kann ich übergangsweise Teile meiner bestehenden Anwendung weiter verwenden?
  • Wie kann ich solche Teile einkapseln, damit ein späterer Austausch möglichst ohne Probleme machbar ist?

Fragen über Fragen.....

Lernziele

Dieser 3-tägige Lehrgang soll die Teilnehmer in die Lage versetzen, diese Fragen für Ihr Entwicklungsumfeld zu beantworten. 

Kursgebühr

1.199,00 € pro Teilnehmer zzgl. MwSt.. Darin enthalten sind Speisen und Getränke während des Tages.  Bei mehreren Anmeldungen zahlen Sie ab dem zweiten Teilnehmer 1.099,00 € zzgl. MwSt..

Anzahl Teilnehmer

Der Kurs findet ab 2 Teilnehmern statt. Wir belegen den Kurs mit maximal 6 Teilnehmern.

Termine

Die Termine erfolgen nach Absprache.

Zur Schulungsanmeldung

 

Inhalt

Kapitel Null: Grundlagen 

Dieses Kapitel dient dazu, eine gemeinsame Verständnisbasis zu schaffen. Viele der hier angesprochenen Themen werden im weiteren Verlauf immer wieder verwendet:

  • Was ist das .Net Framework, wieso und warum das Ganze? Wie setzen Compiler Ihren Quellcode in ein ausführbares Programm um und welche Schritte gehören dazu?
  • Was sind Namespaces und wozu werden sie genutzt?
  • Was sind Interfaces und wozu sind die zu gebrauchen?
  • Übersicht über reflection namespace und Einsatz in eigenen Programmen.
  • System.Windows.Forms, WPF, Silverlight und was es sonst noch so gibt.
  • Inversion of Control (IOC) und Dependency Injection (DI)
  • Delegates und Events

Kapitel I: Eine erste Entscheidung, WPF und das Application Framework Prism

Im Umfeld macht es keinen Sinn das Rad immer wieder neu zu erfinden, da bereits jede Menge an fertigen Application Frameworks zur Verfügung stehen. Dieses Kapitel liefert Ihnen einen kleinen Überblick und die Motivation, warum wir uns für das Duo WPF und Prism 4.1 entschieden haben.

  • Übersicht über Prism 4.1 und dessen Bestandteile.
  • Schritt für Schritt zur ersten Prism Shell Applikation.
  • Bootstrapping innerhalb der Applikation

Kapitel II: Nächste Entscheidung, IOC Container

Im .Net Umfeld stehen verschieden IOC (s.o.) Container zur Verfügung, für einen davon sollten wir uns entscheiden. Deshalb gibt es an dieser Stelle:

  • Welche IOC Container stehen zur Verfügung und welche Vor- bzw. Nachteile haben diese?
  • Gegenüberstellung Unity und MEF. 
  • Warum wir das Managed Extensibility Framework benutzen (MEF).

Kapitel III : Erweiterung der Shell

Bis hierher haben wir unser Füllhorn von Techniken und Fertigkeiten soweit erweitert, dass wir an die Arbeit gehen können und unsere einfache Shell mit neuer Funktionalität anreichern. Dabei werden wir einige Beispiele ansehen, in denen verschiedene, an den jeweiligen Zweck gebundene, Controls zum Einsatz kommen.

  • Nochmalig Erläuterung des Region Konzeptes.
  • Auswahl von Controls die auf der Shell gehostet werden sollen. 
  • Beispiele NetAdvantage, Avalonedit, Avalondock etc. pp.

Kapitel IV : Ein erstes Modul

Nachdem wir jetzt in der Lage sind unsere Shell zu gestalten, wird es Zeit sich um das Thema Modularisierung und Erweiterbarkeit zu kümmern. Hier sammeln wir die Belohnung ein, die uns die Entscheidung für die oben vorgestellten Techniken bringt und es wird klar, welche Vorteile wir in der zukünftigen Entwicklung haben werden.

  • Definition eines Moduls welches zur Runtime geladen wird. 
  • Module Aggregation vs. Catalog. 
  • Erste Berührungen mit IOC und MEF. 
  • Stukturierung der Projekte. 
  • MVVM mit View und ViewModel.

Kapitel V: Enterprise Library, die Applications Blocks und ihre Verwendung

Neben des PRISM Projektes gibt es ein weiteres, sehr interessantes Projekt der Pattern und Practices Group von Microsoft: Die Enterprise Library.

Richtig eingesetzt erspart es einem viel Code und liefert mit wenigen Handgriffen sehr weitgehende Funktionalität.

  • Übersicht der EPL und der zur Verfügung stehenden Applications Blocks.
  • Motivation anhand des Logging Blocks und Einführung desselben in unsere Applikation.

Kapitel VI: Erweiterung der Prism Funktionalität

Eines der wesentlichen Merkmale innerhalb einer Prism-Applikation ist die Tatsache, dass die geladen Module keine Kenntnis darüber haben, in welchem Umfeld sie geladen wurden und welche Komponenten darin zum Einsatz kommen. Es braucht daher u.U. Techniken, die Teile aus den nachgeladenen Modulen in die bestehende Oberfläche einpassen. 

  • Adapter und Behaviours. 
  • Wie bringe ich meine Modul Komponenten zur Anzeige und mache sie ggfs. kompatibel?

Kapitel VII: Kommunikation von lose gekoppelten Komponenten

Lose gekoppelte Komponenten wissen nichts voneinander, sie können also auch nicht direkt miteinander kommunizieren. Trotzdem braucht man natürlich Möglichkeiten Information weiter zu geben und auf Änderungen zu reagieren. Hier kommen verschiedene Techniken in Frage :

  • Shared Services
  • Commanding
  • Eventaggregation im Prism Framework, was ist das und wie wird es benutzt. 
  • Region Context

Zum guten Schluss

fassen wir das Erreichte zusammen und blicken auf das was danach kommt:  Modern UI und den Nachfolger von Prism 4.1.