Frage

Ich fange an zu denken und eine Architektur für eine große Web-Anwendung zu entwickeln, und ich wollte Vorschläge und / oder Empfehlungen, welche Technologien und / oder Frameworks Verwendung erhalten.

Die Anwendung wird eine Intranet-basierte Web-Site unter Verwendung der Windows-Authentifizierung sein, auf dem IIS ausgeführt und ASP.NET verwenden. Es muß als Haupt Web-Anwendung mit Unter Web-Anwendungen strukturiert werden. Im Wesentlichen ist der gesamte Umfang eine Verbundbrowserbasierte, Intranet-Anwendung, die von diskreter, funktionell kompletter Module oder Unteranwendungen besteht.

Diese Verbund Web-Client-Anwendung würde ein Haupt- oder Shell-Modul die gesamte Benutzeroberfläche Struktur bereitzustellen. Zusätzlich würde die Shell-Modul Zugriff auf gemeinsame Dienste zur Verfügung stellen, dass alle einzelnen Teil Anwendungen oder Module nutzen könnten. Dann wird jede Unter app / Modul würde seine eigene Funktionalität und Implementierung enthält, aber mit dem Shell-Benutzeroberfläche integriert werden.

Als nächstes wird basierend auf dem Benutzer und dem der Unter Anwendungen zur Verfügung stehen, die Haupt-oder Shell-App dynamisch Tabs bauen würde (oder Tasten oder so) als eine Möglichkeit, den Zugriff auf jede einzelne Anwendung. Und werden wir die Benutzer- und Anwendungsdaten in einer Datenbanktabelle werden zu speichern.

So zum Beispiel werden wir eine Bericht Anwendung haben, eine Anzeigeanwendung, und wahrscheinlich noch ein paar andere verschiedene Anwendungen. Beim Start der Anwendung main / Shell, nach der Bestimmung, wer der Benutzer ist, wird der Haupt-App, die Datenbank zu bestimmen abfragen, welche Unter apps kann der Benutzer verwenden und die Benutzeroberfläche baut aus. Dann kann der Benutzer zwischen den verfügbaren Unter Apps navigieren und ihre Arbeit in den einzelnen.

Ich hoffe, das alles macht Sinn.

Wie auch immer, ich frage mich, was, wenn überhaupt, bereits bestehende Technologien / Frameworks würde am besten funktioniert für Architecting und ein System wie diese zu entwickeln.

Würde der Web Client Software Factory eine gute Wahl sein? Würde eine andere MVP-Lösung eine gute Wahl? Würde ASP.NET MVC eine gute Wahl sein? Etwas anderes???? Würde keiner von ihnen eine gute Wahl sein, und wir sollten einfach alles aus dem Boden entwickeln up Web-Formulare verwenden? Jede andere Informationen, die ich wissen sollte?

Danke !!!!

War es hilfreich?

Lösung

ASP.Net MVC2 erleichtert auch die Nutzung von Flächen. Hier ist ein Link, der nützlich sein kann,

http://odetocode.com/Blogs/scott/archive/2009/10/13/asp-net-mvc2-preview-2-areas-and-routes.aspx

im Grunde können Sie Bereiche verwenden, um Ihre „Subapplikationen“ auszubrechen

Andere Tipps

Vor Rahmenbedingungen zu diskutieren, einige Punkte zu beachten, wenn ein solches System den Bau (wo Unter Anwendungen gesteckt werden kann):

  • Mögliche Integrationspunkte (Data, Dienstleistungen, Business-Logik, UI)
  • Querschnittsthemen (System-Logging, Audit-Logging, Konfiguration, Sicherheit)
  • Wer hat die Unter Anwendungen entwickeln werden (Sie, Menschen, die Arbeit in Ihrem Büro oder jemand / die größere Gemeinschaft)

Ich denke, dass in und den Aufbau eines Rahmens vor springen (oder wählen Sie einen vorhandenen), die Sie Schritt zurück müssen und denken über diese Aspekte zuerst.

In Bezug auf farmeworks: Du viele Frameworks finden, aber nur sehr wenige bieten das gesamte Spektrum der, was Sie nach:

  • ASP.NET WebForms ist im Grunde ein völlig freies Grundstück - Sie werden die meisten Dinge selbst bauen müssen, oder in zusätzlichen Frameworks bringen (wie die MS Enterprise-Libraries)
  • ASP.NET MVC ist effektiv das Gleiche, aber in einem anderen Stil.

Keine von diesen sind „Rahmen“, aber man könnte entweder von diesen als Low-Level-Basis ‚Plattform‘ verwenden.

  • Die MS Ent Libs sind für Querschnittsthemen (wie Datenzugriff, Logging, etc.), aber das ist alles.
  • Es gibt auch eine Reihe von guten Dependency Inversion Frameworks aber auch hier ist diese nicht eine vollständige Lösung.

Die große Sache ist, um Steuer Abhängigkeiten. Sicherzustellen, dass Sie abstrakt aus der Datenschicht (für den Anfang), sich an Prinzipien um Interface Segregation, Wiederverwendung und so weiter

Eine Möglichkeit, dass Sie in Erwägung ziehen könnten (und ich mein Eigenlob hier - so dass ich nicht unparteiisch bin) ist der Open-Source-.NET-Anwendungsframework ich gebaut habe ( ' Morphfolia ‘ es mir genommen etwa 5 Jahren in teil~~POS=TRUNC). Auch wenn Sie es nicht verwenden Sie vielleicht ein paar gute Ideen oder Code finden Sie ‚stehlen‘:

Morphfolia:

Es ist zum Download verfügbar unter http://morphfolia.codeplex.com/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top