Comment créer une bonne couche de service dans ASP.NET?


10

J'ai parcouru quelques questions, des technologies pour construire une bonne couche de service mais j'ai quelques questions à ce sujet avec lesquelles j'ai besoin d'aide.

Tout d'abord quelques informations sur ce que j'ai pour les besoins. Nous avons actuellement un certain nombre d'applications Web qui se parlent de manière à regarder la toile d'araignée (toutes se parlent de manière confuse via des services Web et des données de base de données).

  • Nous voulons changer cela afin que toutes les applications passent par une couche de service où nous pouvons travailler davantage avec le cache et encapsuler des fonctionnalités communes et plus encore.
  • Nous voulons que cette couche dispose également d'une API Web afin que les clients tiers puissent consommer les informations du service.

Le problème que je vois est que si nous construisons la couche de service avec, par exemple, l'API Web MVC4, nous n'avons pas besoin de communiquer entre l'application à l'aide de webAPI, ce qui signifie que nous devons construire des URL et consommer JSON / Xml. Cela ne semble pas trop efficace. Je suppose qu'une meilleure méthode serait de travailler avec des entités et WCF pour communiquer entre l'application, mais nous pourrions alors perdre la magie de l'API Web?

La question est donc de savoir s'il existe un moyen de consommer une couche de service à la fois en tant qu'API Web (JSON / XML) et en tant que couche de service plus backend avec des entités. Si nous sommes obligés d'utiliser 2 couches de service différentes, nous devrons peut-être dupliquer certaines fonctionnalités et d'autres mauvaises choses.

J'espère que la question est suffisamment claire et veuillez demander si vous avez besoin de plus d'informations.


Bonne question. +1 pour ça!
Kangkan

Réponses:


1

Pour un ensemble d'applications hébergées sur un intranet et éventuellement sur un LAN, la meilleure solution peut être une connexion TCP pour les services.

En ce sens, je proposerai de créer une application de service qui expose un ensemble de points de terminaison et d'interfaces de service pouvant fonctionner sur TCP. Ceux-ci peuvent être consommés par les applications locales ou fiables.

L'application de service devrait avoir un autre ensemble de points de terminaison et d'interfaces de service exposés pour être consommés sur le Web (API Web).

Ainsi, l'application de service peut être hébergée à l'aide de WCF et les points de terminaison / interfaces doivent être ajoutés en fonction des besoins.


Vous créez donc 1 jeu de points de terminaison pour la communication interne et 1 jeu pour l'API Web? (Et oui, c'est sur LAN avec environ 20 serveurs incluant l'intranet, les sites Web externes et autres)

Ok, en lisant un peu plus sur WCF (désolé, je suis un peu débutant dans ces domaines), j'ai donc les mêmes services ou la même application de service, mais j'utilise différents points de terminaison pour ce service afin que l'application de service puisse être utilisée via les deux TCP et HTTP, correkt? Peut-être une question plus difficile. Quelqu'un a-t-il des informations sur l'API Web MVC4 si elles peuvent être utilisées via TCP?

Vous avez raison. Sur l'API Web MVC4, je n'ai encore rien lu. Vous pourriez avoir besoin de lire à ce sujet.
Kangkan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.