2010-10-25 4 views
2

Je suis en train de créer une application qui communiquera avec un serveur unique sur lequel les services Web WCF seront installés. Je suis un peu nouveau à ce processus et je me demandais laquelle de ces deux options serait mieux à long terme pour gérer la charge pour un nombre important d'utilisateurs:Web Service ou WebServices

1- Créer et installer un seul service Web sur un multi -core serveur pour toutes les applications client avec lesquelles communiquer.

2- Créez et installez plusieurs services Web sur un serveur multicœur, chacun pour communiquer avec différents modules à l'intérieur de l'application cliente. J'essaie simplement de déterminer si, dans le temps de traitement et avec un grand nombre d'utilisateurs, il existe une différence significative entre les options 1 et 2, ou si l'option 2 créerait simplement une programmation inutile mal de tête.

Merci,

Patrick

Répondre

1

L'avantage d'avoir plusieurs services Web serait que chacun peut avoir leur propre pool d'applications (à savoir du processus de travail) dans IIS. Vous pouvez donc recycler un pool d'applications pour un service Web sans affecter les autres. L'avantage d'avoir un seul service Web serait une maintenance potentiellement plus facile, puisque le code est dans un fichier, etc. Bien sûr, s'il y a beaucoup de code, cela peut rendre la maintenance plus difficile. Donc, la question est, quel est le bon niveau de granularité?

Vous pouvez diviser les services Web par fonction métier, et j'ai trouvé que c'est une bonne approche. Par exemple, si vous avez des méthodes commerciales qui traitent de la facturation, vous pouvez les intégrer dans un service Web Facturation.

Si vous avez d'autres méthodes commerciales concernant les commandes d'expédition, vous pouvez les intégrer dans un service Web d'expédition. À mon avis, cela crée un partage intéressant et permet de tirer parti des avantages du pool d'applications décrits plus haut.

Exemple Vous pouvez voir un exemple réel de ce type de fractionnement avec FedEx. Notez comment ils divisent leurs services Web par expédition, suivi et visibilité, etc.

+1

+1. C'était exactement comment j'aurais répondu, et comment nous avons rompu nos services Web - par fonctionnalité. – David

+1

Merci beaucoup! Cela a expliqué les avantages/inconvénients beaucoup mieux que tout ce que j'avais trouvé sur Google. –

+0

Ce n'est pas parce que vous n'avez qu'un seul service que vous devez mettre tout le code dans un seul fichier. Vous pouvez avoir une couche de gestion correctement structurée derrière et toujours utiliser une couche de service en tant que façade. :) –