Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
.NET Applikationsserver
Rainbird
myCSharp.de - Experte

Avatar #avatar-2834.jpg


Dabei seit:
Beiträge: 3953
Herkunft: Mauer

Themenstarter:

.NET Applikationsserver

beantworten | zitieren | melden

Hallo Community,

angeregt durch Objektorientierte Datenzugriffsschicht, habe ich einen leichtgewichtigen aber durchaus praxistauglichen Applikationsserver geschrieben. Mit praxistauglich meine ich, dass der Host-Prozess allgemein gehalten ist und ohne Änderung für verschiedene Anwendungen als Applikationsserver eingesetzt werden kann. Der Host wurde primär dafür entworfen, datenbankgestützte Geschäftsanwendungen zu betreiben, ist aber nicht auf diese Art von Anwendungen beschränkt.

Postet Eure Fragen, Anregungen und konstruktive Kritik zu diesem Projekt bitte hier:
Fragen, Diskussion, Kritik zu Projekt ".NET Applikationsserver"

Der Kern und die grundlegenden Infrastrukturdienste sind bereits fertig. Momentan ist der Host-Prozess des Applikationsservers eine einfache Konsolenanwendung.

Features des Applikationsservers:
  • Sitzungsverwaltung
  • Rollenbasierte Sicherheit über Windows-Gruppen (ermöglicht Single-Sign-On)
  • Entfernter Zugriff auf Dienste über einen binären TCP-Remoting-Kanal
  • Schneller lokaler Zugriff auf Dienste über einen binären IPC-Remoting-Kanal
  • Sperrungsverwaltung
  • Intuitive API
  • Kapselung der Konfiguration und der Kommunikationstechnologie
  • Ablaufverfolgung (Tracing)
  • Unterstützung von Mehrsprachigkeit und Kultureinstellungen
  • Automatische verteilte Transaktionen (via System.Transactions)

System-Anforderungen:
  • .NET Framework 2.0
  • Windows 2000 Professional oder höher
  • SQL Server 2005 Express oder höher (Wird für das Beispiel benötigt, aber nicht für den Applikationsserver selbst)
Beispielprojekt

Der "nackte" Applikationsserver ist zu Studien- und Demonstrationszwecken nicht gut geeignet. Deshalb gibts eine kleine 3-Tier-Beispiel-Anwendung dazu, die folgende Dienste implementiert:
  • Artikelstammverwaltung
  • Lagerverwaltung
Eine schlicht gehaltene Windows.Forms-Anwendung macht den Client.

Achtung! Nach auspacken der ZIP-Datei bitte ZUERST die Setup.exe aufrufen! Das kleine Setup-Programm erstellt die Beispieldatenbank. Ohne Datenbank geht nix, deshalb erst die Setup.exe starten und dann die Projektmappe in Visual Studio öffnen.

Sicherheit möchte ich bei meinem Applikationsserver groß schreiben. Deshalb muss man aber auch ein paar Handgriffe machen, bevor man das Projekt laufenlassen kann. Durch die mitgelieferte Setup.exe habe ich versucht, die Konfigurations-Hürden möglichst klein zu halten.

Das rollenbasierte Sicherheitssystem verwendet normale Windows-Sicherheitsgruppen (bzw. Domänen-Sicherheitsgruppen) als Rollen. Ein Benutzer muss mindestens Mitglied der Windows-Gruppe sein, die mit der Rolle 'User' verknüpft ist, um sich mit der Logon-Methode am Applikationsserver anmelden zu können.

Wichtig! Wenn man den aktuellen Benutzer einer Gruppe zufügt (in der Computerverwaltung oder in Active Directory), ist eine Windows-Neuanmeldung des Benutzers erforderlich, damit die neue Gruppenmitgliedschaft übernommen wird.

Viel Spaß mit dem n-Tier Beispiel-Projekt!

P.S. Ich würde mich über reichlich Feedback zu diesem Projekt sehr freuen.

Aktuelle Version 1.2.0.0 herunterladen
private Nachricht | Beiträge des Benutzers
Rainbird
myCSharp.de - Experte

Avatar #avatar-2834.jpg


Dabei seit:
Beiträge: 3953
Herkunft: Mauer

Themenstarter:

Übersicht über die API

beantworten | zitieren | melden

So sieht die API des Applikationsservers aus.
  • ApplicationServer - Statische Klasse mit allen wichtigen Funktionen (Logon etc.)
  • ServiceFactory<T> - Fabrik zur Generierung von Proxies für den Zugriff auf entfernte Dienste
  • ISecurityService - Dienstschnittstelle des Sicherheitsdienstes
  • ILockingService - Dienstschnittstelle des Sperrungsdienstes
  • DataAccess - Funktionen für den Datenzugriff
Attachments
private Nachricht | Beiträge des Benutzers
Rainbird
myCSharp.de - Experte

Avatar #avatar-2834.jpg


Dabei seit:
Beiträge: 3953
Herkunft: Mauer

Themenstarter:

Beispielprojekt mit GUI oben

beantworten | zitieren | melden

Das Beispielprojekt kann jetzt heruntergeladen werden (Siehe erster Beitrag dieses Threads).

So sieht die Windows-Client-Anwendung des Beispielprojekts aus:
Attachments
private Nachricht | Beiträge des Benutzers
Rainbird
myCSharp.de - Experte

Avatar #avatar-2834.jpg


Dabei seit:
Beiträge: 3953
Herkunft: Mauer

Themenstarter:

Bugfix für n-Tier Architekturbeispiel

beantworten | zitieren | melden

Ich habe einige kleine Bugs behoben. Hier nun die Version 1.2:
Attachments
private Nachricht | Beiträge des Benutzers
Rainbird
myCSharp.de - Experte

Avatar #avatar-2834.jpg


Dabei seit:
Beiträge: 3953
Herkunft: Mauer

Themenstarter:

Version für Visual Studio 2008

beantworten | zitieren | melden

Hallo,

da mir zugetragen wurde, dass die Projektmappe meines Architekturbeispiels unter Visual Studio 2008 Probleme macht, habe ich mir Visual C# 2008 Express runtergeladen und kurz eine funktionierende Projektmappe gebastelt.

Version 1.2, aber für Visual Studio 2008:
Attachments
private Nachricht | Beiträge des Benutzers