2010-01-09 9 views
1

Ceci est une question de conception.Souhaitez-vous créer un service WCF pour ...?

Si vous deviez créer une solution avec tops 5 clients regardant SQL Server (les clients pouvaient lire différentes bases de données avec le même schéma) dans un réseau local seulement, créeriez-vous un service WCF pour le travail de base de données (CRUD) ou laissez simplement le Data Access Layer directement dans le client? ce qui rend le client indépendant!

Répondre

3

Si cela se trouve dans un réseau local et ne le sera jamais ailleurs - ne pas ajouter une couche WCF inutile sur le dessus.

Si vous pensez que des sources externes pourraient vouloir accéder à ces données un jour, il peut être judicieux d'utiliser un DataService WCF ou quelque chose comme ça pour exposer les données. WCF et Dataservices ajoutent toujours une couche supplémentaire, un traitement supplémentaire et donc des performances. Si vous avez seulement 5 utilisateurs locaux (dans le réseau local de votre entreprise) - il n'y a vraiment aucune raison impérieuse d'utiliser un service WCF pour cela, à mon avis. Utilisez simplement une bonne technologie d'accès aux données (Linq-to-SQL, Entity Framework, NHibernate) et accédez directement à cette base de données. Une couche de service WCF supplémentaire ne vous apporte aucun avantage dans ce scénario. Ne compliquez pas inutilement les choses.

+1

+1 Bonne réponse. Pour élaborer: la décision d'utiliser WCF ou non dépend du type d'accès nécessaire, pas du nombre d'utilisateurs. –

+1

Je vais Linq-to-SQL et ne comprendra pas le WCF, même plus tard, il va changer le scénario, peut-être que je vais ajouter un motif pour choisir quelle couche que vous souhaitez utiliser avec le client .... Merci pour votre opinion . –

0

Je vous recommande d'écrire une interface de contrat de service WCF et de la mettre en œuvre dans un ensemble distinct et utilisé directement par les clients. Si, à un stade ultérieur, vous décidez que vous avez besoin d'interopérabilité, vous pouvez toujours exposer l'assembly en tant que service WCF avec un léger impact sur le client.

+1

OK, si ce scénario est probable - sinon, j'épargnerais cet effort (principe YAGNI - Vous n'en aurez pas besoin - alors ne le faites pas maintenant). Faites cet effort si et quand vous en avez vraiment besoin. –

Questions connexes