none
asp.net intranet - Wie gehe ich vor? - Best Practice? RRS feed

  • Frage

  • Grüss euch...

    Vor Jahren habe ich für eine Intranet asp website entwickelt, die bis heute im Einsatz ist.
    Nun habe ich mich daran gemacht, das Intranet unter .net neu zu entwickeln.

    Die bestehende Website enthält (kurzfassung):
    - User und Mitarbeiter Verwaltung
    - Zugriffsverwaltung (momentan auf NTFS/Domain Berechtigungen) -> Unter asp.net werde ich wohl auf Formauth wechseln
    - Formulare mit Email Benachrichtigungen
    - Telefonverzeichnis (Daten u.a. aus der Userverwaltung)
    - Verschiedene html Seiten ohne Datenanbindung (z.B. Anleitungen, Hilfestellungen)
    - Verschiedene Listen mit und ohne Datenanbindung

    Das Intranet Web ist zum Teil schon komplex und nun frage ich mich, wie ich am besten Vorgehe.

    - UserControl statt Page
    Ist es besser mit UserControls zu arbeiten oder gleich Pages zu erstellen?
    (Bei Controls, die immer wieder verwendet werden, ist ein UserControl wohl die bessere Lösung)

    - Page/MasterPage
    Kann/soll man bei einer Seite mit einer MasterPage die zu erstellende Seite gleich in der MasterPage erstellen, oder die Seite erst "fertig" stellen und die MasterPage dann hinzufügen?

    - Site erstellen -> Der Website hinzufügen
    Macht es Sinn, eine Site in einem neuen Projekt zu erstellen und nach Abschluss erst der eigentlichen Website hinzuzufügen?

    - Wie Modular baut man auf
    Inwiefern programmiere ich Klassen oder anderes aus, damit sie universaler (evtl. in anderen Websites) benutzbar sind. Reicht es, wenn es lediglich den Anspüchen der gerade zu entwickelnden Website genügt?

    - Klassen
    Ab wann macht es Sinn gleich eine eigene Klasse zu erstellen?

    Ich frage mich, was für mich die Beste Vorgehensweise ist. Wie macht ihr es?
    Um Ratschläge wäre ich sehr froh und freue mich auf eure Antworten.

    Grüsse
    Alex

    • Bearbeitet A_lex_ch Mittwoch, 10. November 2010 18:18 Titel beschreibender geändert
    Mittwoch, 10. November 2010 18:11

Alle Antworten

  • Hallo Alex,

    ich habe vor ca. 10 Jahren in meiner Firma ein Intranet eingeführt. Angefangen hat alles mit Classic ASP. Seit der Einführung von ASP.NET 1.1 habe ich jedoch damit begonnen das Intranet auf ASP.NET umzuschreiben. Inzwischen besteht das Intranet aus über hundert ASPXen.

    Der Schwerpunkt unseres Intranet liegt in der Verknüpfung mehreren Datenquellen wir Active Directory, IBM iSeries DB2-Datenbanken, Microsoft SQL Server-Datenbanken und einigen Access-Datenbanken.

    Generell würde ich Dir in einem Intranet-Szenario empfehlen bei der Windows-Authentifizierung zu bleiben. Meiner Meinung nach vereinfachst Du dir damit die Benutzerverwaltung erheblich. Wenn Du "automatisches Anmelden in der Intranetzone" verwendest, brauchen sich die User auch nicht zusätzlich am Webserver anmelden. Ich verwende z.B. die Windows-Authentifizierung um einzelnen Windows-Gruppen Menüpunkte ein- bzw. auszublenden. Zugriffe aufs Active Directory werden damit auch wesentlich einfacher.

    Für die Gestaltung verwende ich momentan noch UserControls um z.B. das Firmen-Logo auf allen Seiten zu platzieren. In Zukunft möchte ich jedoch auf MasterPages wechseln, da diese die Gestaltung wesentlich vereinfachen. Vor allem dann, wenn Du in der MasterPage UserControls schachtelst.

    Auf statische HTML-Seiten habe ich komplett verzichtet. Da ich wegen der Seitengestaltung UserControls verwende, benötige ich eine ASPX, auch wenn serverseitig kein Code verarbeitet wird.

    Bei mir besteht das komplette Intranet aus einer ASP.NET-Website in Visual Studio 2008. Wenn Du allerdings komplett neu anfängst, dann würde ich Dir eher zu einer ASP.NET-Webanwendung raten.

    Die Verwendung von Klassen würde ich Dir auf alle Fälle empfehlen. Damit vereinfachst Du dir die Pflege des Intranets wesentlich. Außerdem hast Du damit den Vorteil der Wiederverwendbarkeit von Code.

    Ich hoffe, dass ich Dir damit ein wenig weiterhelfen konnte. Falls es noch Fragen geben sollte, einfach melden.

    Viele Grüße

    Thomas

    Sonntag, 14. November 2010 07:31
  • Hoi Thomas,

    Besten Dank für Deine Ausführungen.

    Du hast mich darin bestärkt Klassen und UserControls einzusetzen, auch wenn es ein wenig komisch anmutet eine UserControll zu erstellen, die mit hoher Wahrscheinlichkeit nur einmal eingesetzt wird und aus gerade einem Inputfeld und einem Button besteht.

    Mit dem Zugriff auf die AD tue ich mich noch etwas schwer. Frage mich dabei auch, inwiefern ich auf die Windows Authentifizierung setzen soll, da in Zukunft unsere Domain in ein globales Umfeld migriert wird, in dem ich keine User und Gruppen Administrieren kann. Ich werde mir das nochmals überlegen und allenfalls versuchen die Website so zu erstellen, dass es die Option auf Form Authentication umzustellen.

    Für die Website habe ich mit einem neuen Projekt ASP.NET Emty Webapplication gestartet.

    Gibt es praktischere Methoden UserControls zu testen, als diese in einer Testseite einzubinden?
    Wie universell erstellst Du Klassen? Ich beziehe mich dabei vorallem auf hardcoded Settings, wie ConnectionStrings.

    Besten Dank nochmals und viele Grüsse

    Alex

    Donnerstag, 18. November 2010 07:02