myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE
   » Gadget für Windows
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin

Ressourcen
» guide to C#
» openbook: Visual C#
» openbook: OO
» MSDN Webcasts
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » Projekte » .NET Applikationsserver
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

geschlossen (weitere Infos)
Zum Ende der Seite springen  

.NET Applikationsserver

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.720
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer


Rainbird ist offline

.NET Applikationsserver

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
20.12.2007 00:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.720
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer

Themenstarter Thema begonnen von Rainbird

Rainbird ist offline

Übersicht über die API

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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

Rainbird hat dieses Bild (verkleinerte Version) angehängt:
Magical Snap - 2008.04.13 12.13 - 003.jpg
Volle Bildgröße

20.12.2007 00:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.720
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer

Themenstarter Thema begonnen von Rainbird

Rainbird ist offline

Beispielprojekt mit GUI oben

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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

So sieht die Windows-Client-Anwendung des Beispielprojekts aus:

Rainbird hat dieses Bild (verkleinerte Version) angehängt:
Magical Snap - 2008.04.13 12.05 - 002.jpg
Volle Bildgröße

24.12.2007 01:44 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 4 Monate.
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.720
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer

Themenstarter Thema begonnen von Rainbird

Rainbird ist offline

Bugfix für n-Tier Architekturbeispiel

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich habe einige kleine Bugs behoben. Hier nun die Version 1.2:


Dateianhang:
zip Rainbird.Examples.NTier.V.1.2.zip (276 KB, 1.133 mal heruntergeladen)
08.05.2008 19:05 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rainbird Rainbird ist männlich
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-2834.jpg


Dabei seit: 28.05.2005
Beiträge: 3.720
Entwicklungsumgebung: Visual Studio 2012
Herkunft: Mauer

Themenstarter Thema begonnen von Rainbird

Rainbird ist offline

Version für Visual Studio 2008

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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:


Dateianhang:
zip Rainbird.Examples.NTier.VS2008.GUI.zip (3 MB, 1.739 mal heruntergeladen)
10.05.2008 21:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 9 Jahre.
Der letzte Beitrag ist älter als 9 Jahre.
geschlossen (weitere Infos)


© Copyright 2003-2017 myCSharp.de-Team. Alle Rechte vorbehalten. 22.09.2017 17:18