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.
Réponses:
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.
la source