2017-09-02 1 views
-1

Ich habe ein ASP.net-Web-API 2 mit Identity 2.0-Authentifizierung in einer Lösung erstellt, sodass externe Anbieter Daten in unsere Datenbank zur Analyse ablegen können. Ich habe eine andere MVC-Lösung erstellt, um eine Verbindung zu derselben Identity-Datenbank herzustellen und die Benutzer für die Web-API zu verwalten, sodass unsere internen Benutzer Benutzer hinzufügen und löschen können. Mein Chef sagte mir jedoch heute, dass es am besten sei, das UI-Management (MVC) innerhalb des Web-API-Projekts (Not Solution) zu erstellen. Ich bin perplex, ist das der beste Weg oder halten Sie die beiden Lösungen getrennt?UI innerhalb eines ASP.net-API-Projekts

Antwort

0

Dieser Anwendungsfall erfordert aufgrund der Unterschiede in der NFRs eine separate Webanwendung.

Die API ist extern. Die MVC-Benutzeroberfläche ist intern. Daher haben sie unterschiedliche Sicherheitsanforderungen - die MVC-App ist empfindlicher und muss möglicherweise über verschiedene Mittel gesichert werden, z. AD-Integration. Die API muss in Ihrer DMZ gespeichert sein, damit sie für die Öffentlichkeit zugänglich ist, während die MVC-Anwendung in einem internen Netzwerk verwendet werden kann.

Die API ist für den öffentlichen Verbrauch vorgesehen und kann daher unterschiedliche Verfügbarkeitsanforderungen aufweisen. Die API ist wahrscheinlich 24/7/365, während die interne App zur Wartung heruntergefahren werden kann, ohne dass sich dies auf andere als Ihre Administratoren auswirkt. Die API muss wahrscheinlich so ausgelegt sein, dass sie skalierbar ist - was den Lastausgleich bedeutet - während die Admin-Site möglicherweise auf einem einzelnen Webserver ausgeführt werden könnte und daher statusbehaftet sein könnte, ohne IP-Klebrigkeit zu erfordern.

Der Einsatzplan ist anders. Die API wird geändert, wenn sich die Systemfunktionen ändern. Die MVC-Benutzeroberfläche wird nur geändert, wenn sich die Verwaltungsfunktionen ändern. Vielleicht möchten Sie in der Lage sein, ein Upgrade durchzuführen, während Sie das andere in Ruhe lassen.

Es gibt keinen Grund, diese Anwendungen zusammen zu sperren, und es gibt viele Gründe, dies nicht zu tun. Es ist definitiv nicht die beste Methode, sie zu kombinieren.

Verwandte Themen