2014-04-29 6 views
0

document d'information généraleComment déployer/développer un WebService dans une architecture à 3 niveaux?

  • WebService développé withc C# .NET
  • Il doit être publié sur le web
  • Il a besoin d'avoir accès au serveur de base de données.

Le webservice est développé dans une architecture à 3 couches. Je veux dire que le webservice référence un projet DLL qui traite toutes les Business Logic et un autre projet DLL qui gère toutes les interactions de la base de données.

Problème

Mon client ont une architecture à 3 niveaux. Par conséquent, le serveur qui voit la base de données (APP SERVER) n'est pas publié sur le web, et le serveur qui est publié sur le web (WEB SERVER) ne peut pas voir la base de données.

DB Serveur ----> serveur d'applications ----> Serveur Web

Si je publie mon WebService dans le serveur App Je ne pourra pas y accéder à partir du Web.

Si je publie mon WebService dans le serveur Web Il ne pourra pas accéder à la base de données.

Question

Quelle est la meilleure approche pour moi de gérer cela:

1- Est-il possible pour moi de mettre la logique métier et les données DLLs Access dans le serveur App et publierai mon WebService dans le serveur Web? 2 ou Dois-je installer mon WebService dans App Server? Créer et publier un WebService "Dummy" dans le Web Server qui consomme le WebService dans le serveur d'applications et l'expose au Web, en RIEN plus.

3- Quelque chose d'autre ...

Répondre

0

Vous pourriez envisager de mettre en place un proxy qui simplement les demandes avant entrant dans le serveur Web à l'ApplicationServer. Le WebServer est publié sur Internet mais n'est en fait qu'un mécanisme de transfert de port pour la transmission de requêtes HTTPS à votre serveur interne. Vous pouvez placer tout le durcissement normal sur le serveur Web pour empêcher les attaques et un VPN du WebServer à l'ApplicationServer signifiera que l'ApplicationServer n'a pas besoin d'être publié sur le Web.

Questions connexes