Wie erstelle ich eine gute Service-Schicht in ASP.NET?


10

Ich habe einige Fragen durchgesehen, Technologien zum Aufbau einer guten Serviceschicht, aber ich habe einige Fragen dazu, bei denen ich Hilfe benötige.

Zuerst einige Informationen darüber, was ich für Anforderungen habe. Wir haben derzeit eine Reihe von Webanwendungen, die spinnennetzartig miteinander kommunizieren (alle über Webservices und Datenbankdaten auf verwirrende Weise miteinander).

  • Wir möchten dies ändern, damit alle Anwendungen eine Service-Schicht durchlaufen, in der wir mehr mit dem Cache arbeiten und gemeinsame Funktionen und mehr kapseln können.
  • Wir möchten, dass diese Ebene auch über eine Web-API verfügt, damit Clients von Drittanbietern Informationen aus dem Dienst verwenden können.

Das Problem, das ich sehe, ist, dass wir, wenn wir die Service-Schicht mit beispielsweise MVC4-Web-API erstellen, nicht über die WebAPI zwischen der Anwendung kommunizieren müssen, was bedeutet, dass wir URLs erstellen und JSON / Xml verwenden müssen. Das klingt nicht zu effektiv. Ich gehe davon aus, dass eine bessere Methode darin besteht, mit Entitäten und WCF zu arbeiten, um zwischen der Anwendung zu kommunizieren, aber dann verlieren wir möglicherweise die Magie der Web-API.

Die Frage ist also, ob es eine Möglichkeit gibt, eine Service-Schicht sowohl als Web-API (JSON / XML) als auch als Backend-Service-Schicht mit Entitäten zu verwenden. Wenn wir gezwungen sind, zwei verschiedene Service-Schichten zu verwenden, müssen wir möglicherweise einige Funktionen und andere schlechte Dinge duplizieren.

Ich hoffe, die Frage ist klar genug und bitte fragen Sie, ob Sie weitere Informationen benötigen.


Gute Frage. +1 dafür!
Kangkan

Antworten:


1

Für eine Reihe von Anwendungen, die im Intranet und möglicherweise in einem LAN gehostet werden, kann eine TCP-Verbindung für Dienste die beste sein.

In diesem Sinne werde ich vorschlagen, eine Dienstanwendung zu erstellen, die eine Reihe von Endpunkten und Dienstschnittstellen verfügbar macht, die auf TCP funktionieren können. Diese können von selbst erstellten oder vertrauenswürdigen Anwendungen verwendet werden.

Die Dienstanwendung sollte über einen anderen Satz von Endpunkten und Dienstschnittstellen verfügen, die für den Verbrauch über das Web (Web-API) verfügbar gemacht werden.

So kann die Dienstanwendung mithilfe von WCF gehostet werden, und Endpunkte / Schnittstellen sollten je nach Bedarf hinzugefügt werden.


Erstellen Sie also 1 Satz Endpunkte für die interne Kommunikation und 1 Satz für die Web-API? (Und ja, es ist im LAN mit etwa 20 Servern, einschließlich Intranet, externen Websites und dergleichen)

Ok, lesen Sie mehr über WCF (sorry, ich bin ein bisschen ein Anfänger in diesen Gewässern), also habe ich dieselben Dienste oder dieselbe Dienstanwendung, verwende dann aber unterschiedliche Endpunkte für diesen Dienst, damit die Dienstanwendung über beide TCP verwendet werden kann und HTTP, korrigieren? Vielleicht eine schwierigere Frage. Hat jemand Informationen über die MVC4-Web-API, ob diese über TCP genutzt werden können?

Du verstehst es richtig. In der MVC4-Web-API habe ich noch nichts gelesen. Möglicherweise müssen Sie darüber lesen.
Kangkan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.