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.
Antworten:
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.
quelle