2009-11-17 9 views
0

Je vais créer un design pour appeler les services WCF de nos clients frontaux WPF. Une chose que je n'aime vraiment pas est le couplage étroit de la configuration d'un service WCF au client. J'ai lu quelques articles sur ws-discovery dans .NET 4 et je me demandais si ce serait un modèle commun que les gens utilisent pour gérer cela? Donc, comme je le vois, vous avez un client qui dit «J'ai un appel de méthode et il devrait être géré par un service qui implémente ISomeInterface». Vous pourriez alors avoir un certain nombre de services pointillés autour (peut-être partie de certains ESB communs?) Qui implémentent cette interface. L'appel de méthode du client sera alors routé vers l'un de ces services automatiquement. Est-ce que je comprends bien? Si oui, quels seraient les inconvénients d'une telle approche?WPF WCF ws-discovery

Un grand merci

Répondre

0

WS-Discovery envoie un message de diffusion disant: "Qui peut gérer cela"?

Ceci est à la fois simple et, err, problématique. Imaginez que je me sens mal, alors je regarde les services sur votre réseau et écris un serveur qui répond par "je fais" ...

Donc vous devez vous assurer que vos sondes sont limitées par la portée, par exemple mettre tous vos services dans les unités d'organisation LDAP connues auxquelles un attaquant ne peut pas s'exécuter. Le WS-Discovery spec contient une section de sécurité que vous devez lire et comprendre :)

En plus de cela, ça va être une approche. Vous pouvez également implémenter un service de courtier de service qui accepte tous les messages, puis les transfère au serveur/à l'implémenteur actuel, en équilibrant la charge pour assurer la résilience.

+0

Merci pour la réponse. Si la mise en œuvre d'une approche de courtier de service, cependant, cela ne va-t-il pas ajouter des frais généraux en raison de la présence d'une forme d'intermédiaire entre le client et le service? Est-ce que ce genre de design pourrait être acceptable pour les gros clients où vous voulez généralement quelque chose de réactif? J'essaie juste de trouver un modèle commun et de m'assurer que ce sera approprié. Merci encore –

+0

Oui, le courtier sera un goulot de bouteille. Vous pouvez également regarder une approche UDDI, où, lorsque vous cherchez un service pour la première fois, vous demandez à un point central où aller et ensuite vous connecter directement – blowdart

+0

Merci encore. Quelle approche utilisez-vous, ou vos clients et services sont-ils étroitement liés par config? –