Skip to content

1. Einführung

Die PDF-Datei dieses Dokuments ist verfügbar |HIER|.

Die Beispiele in diesem Dokument sind unter |HIER| verfügbar.

Wir möchten eine Anwendung .NET schreiben, mit der ein Benutzer Simulationen zur Berechnung der Vergütung der Tagesmütter des Vereins „Kindertagesstätte“ einer Gemeinde durchführen kann. Wir werden uns sowohl mit der Organisation des Codes DotNet der Anwendung als auch mit dem Code selbst befassen.

Die fertige Anwendung, die wir [SimuPaie] nennen werden, wird die folgende dreischichtige Struktur aufweisen:

  • Die Schicht [1-dao] (DAO = Data Access Object) wird den Zugriff auf die Daten übernehmen. Diese werden in einer Datenbank gespeichert.
  • Die Schicht [2-métier] wird sich um den fachlichen Aspekt der Anwendung, nämlich die Lohn- und Gehaltsabrechnung, kümmern.
  • Die Schicht [3-ui] (ui = User Interface) ist für die Darstellung der Daten gegenüber dem Benutzer und die Ausführung seiner Anfragen zuständig. Die Gesamtheit der Module, die diese Funktion gewährleisten, bezeichnen wir als [Application]. Sie ist der Ansprechpartner für den Benutzer.
  • Die drei Schichten werden durch die Verwendung von Schnittstellen unabhängig voneinander gestaltet.NET
  • Die Integration der verschiedenen Schichten erfolgt über Spring IoC

Die Bearbeitung einer Kundenanfrage erfolgt in folgenden Schritten:

  1. Der Kunde sendet eine Anfrage an die Anwendung.
  2. Die Anwendung verarbeitet diese Anfrage. Dazu benötigt sie möglicherweise die Unterstützung der Schicht [métier], die ihrerseits die Schicht [dao] benötigen kann, falls Daten mit der Datenbank ausgetauscht werden müssen. Die Anwendung erhält eine Antwort von der Schicht [métier].
  3. Entsprechend dieser Antwort sendet sie die entsprechende Ansicht (= die Antwort) an den Client.

Die dem Benutzer angezeigte Oberfläche kann verschiedene Formen annehmen:

  1. eine Konsolenanwendung: In diesem Fall besteht die Ansicht aus einer Reihe von Textzeilen.
  2. eine grafische Windows-Anwendung: In diesem Fall ist die Ansicht ein Windows-Fenster
  3. eine Webanwendung: In diesem Fall ist die Ansicht eine Seite mit der Bezeichnung HTML
  4. ...

Wir werden verschiedene Versionen dieser Anwendung erstellen:

  1. eine Version ASPNET mit einem einzigen Formular, die auf einer einschichtigen Architektur basiert.
  2. eine Version, die mit der vorherigen identisch ist, jedoch über Ajax-Erweiterungen verfügt
  3. eine Version ASP.NET, die auf einer dreischichtigen Architektur basiert, wobei die Datenzugriffsschicht mit dem Framework NHibernate implementiert ist. Sie wird weiterhin das einzige Formular der Version 1 enthalten.
  4. eine Version 4 ASP.NET mit mehreren Ansichten und einer einzigen Seite, die auf der dreischichtigen Architektur der Version 3 basiert.
  5. den Serverteil einer Client-Server-Anwendung, bei der der Server durch einen Webdienst implementiert wird, der auf der Schichtenarchitektur der Version 3 basiert.
  6. den Client-Teil der vorgenannten Client-Server-Anwendung, implementiert durch eine Schicht ASP.NET.
  7. eine Version 7 ASP.NET mit mehreren Ansichten und Seiten, basierend auf der dreischichtigen Architektur der Version 3.
  8. eine Version 8 ASP.NET mit mehreren Ansichten und Seiten auf der Client-Seite des Webdienstes der Version 5.
  9. eine Version 9 (ASP.NET) mit mehreren Ansichten und Seiten, die die dreischichtige Architektur der Version 3 aufweist, wobei die Datenzugriffsschicht durch Spring-Klassen implementiert ist, die die Nutzung des Frameworks NHibernate erleichtern.
  10. Eine Version 10, implementiert in FLEX und als Client des Webdienstes der Version 5.

Voraussetzungen


In einer [débutant-intermédiaire-avancé]-Struktur befindet sich dieses Dokument im Abschnitt [intermédiaire]. Zum Verständnis sind verschiedene Voraussetzungen erforderlich, die in einigen der von mir verfassten Dokumente zu finden sind:

  1. Programmierung ASP.NET [Webentwicklung mit ASP.NET 1.1 (2004)];
  2. C# 2008: [C# Version 3.0 lernen mit dem .NET Framework 3.5 (2008)]: Klassen, Schnittstellen, Vererbung, Polymorphismus
  3. [Spring IoC], verfügbar unter URL und [Spring IoC für .NET (2005)]. Stellt die Grundlagen der Kontrollumkehr (Inversion of Control) oder der Abhängigkeitsinjektion (Dependency Injection) des Frameworks Spring.Net [http://www.springframework.net] vor.
  4. [Construction d'une application web à trois couches avec Spring et VB.NET], die unter URL und [Erstellen einer dreischichtigen Webanwendung mit Spring.NET und VB.NET (2005)] verfügbar sind. Dieser Kurs stellt eine vereinfachte Anwendung für den Online-Einkauf von Produkten vor. Ihre 3-Schichten-Architektur implementiert das Modell MVC.

Zu Beginn der Absätze dieses Dokuments werden gelegentlich Leseempfehlungen gegeben. Diese verweisen auf die vorangegangenen Dokumente.


Tools


Die in dieser Fallstudie verwendeten Tools sind im Internet frei verfügbar. Es handelt sich um folgende:

  • Visual C# 2008, Visual Web Developer Express 2008, SQL Server Express 2005, verfügbar unter URL [http://www.microsoft.com/express/downloads/].
  • Spring IoC zur Instanziierung der für die Anwendung erforderlichen Dienste, verfügbar unter URL [http://www.springframework.net/] – siehe auch [3]
  • NHibernate für die Datenzugriffsebene von SGBD und [http://sourceforge.net/projects/nhibernate/]
  • NUnit: [http://www.nunit.org] für Unit-Tests.