2010-07-27 3 views
0

Vous vous demandez ce que les autres font/la meilleure pratique pour communiquer entre les couches. Cette question concerne la communication entre les couches 2-3 et 3-4.Communication entre la bibliothèque de classes client et le service Web/service Web et la bibliothèque de classes de serveur

Notre Architecture de base (dans l'ordre) comme suit:

  1. UI
  2. Front End Classes d'entreprise
  3. Services Web
  4. Aval Classes d'entreprise
  5. DAL

Les services Web sont juste une façade qui comprend l'exploitation forestière et au thentication aux bibliothèques de classe back end. En tant que tel, le service Web reçoit un objet de requête qui inclut les paramètres requis par la méthode Web avec les informations d'identification de l'utilisateur (les informations d'identification de l'utilisateur, par exemple, sont stockées dans une classe de base Webservice) et répond avec des objets de réponse (a des choses telles que l'état et le message, en cas d'échec etc avec l'objet requis) à la fois demande & réponse utiliser une classe/interface générique personnalisée où un seul résultat est retourné, sinon une classe doit Être créé.

Il est parfois judicieux de faire cela pour l'objet réponse à la couche 4 (bien que nous n'utilisions pas d'objet request à moins que beaucoup de paramètres ne soient des pasaws), auquel cas nous avons juste une classe 3 qui renvoie ceci au client. Par souci de cohérence, j'ai envisagé de le faire tout le temps, même si je pense que c'est peut-être exagéré. Donc, pour itérer la question, quelles sont les meilleures pratiques pour communiquer entre les couches? et devrait/est-ce que les gens utilisent cette méthode décrite ci-dessus (cela fonctionne bien pour nous) et les couches 3-4 devraient-elles mettre en œuvre une méthode similaire à 2-3?

Considérations possibles:

  • actuellement tout est codé en interne par une équipe de développeurs, un code client peuvent être sous-traitées à l'avenir
  • services Web futurs seront WCF basés (pas sûr que les effets conception autre que le codage à des interfaces que je préférerais de toute façon).
  • Nous utilisons .net
+1

Il semble que vous ayez un design qui fonctionne bien pour vous et qui soit basé sur un motif de conception raisonnablement bien respecté et bien utilisé (Request-Response). Donc, je ne suis pas vraiment sûr de votre question. Demandez-vous des moyens d'améliorer votre conception? Rencontrez-vous des problèmes particuliers qui, selon vous, pourraient être résolus en ré-factorisant le design? – mikemanne

+0

Je n'ai pas beaucoup de référence à la façon dont les autres systèmes sont construits. Donc ce que je demande est si cette réponse de demande (entre la librairie de classe de fin et le service Web) devrait être entended à la communication entre la couche de service Web et les bibliothèques de classe de fin - prenant également en considération ces points énumérés. –

+0

De plus, la création d'un objet de requête pour chaque méthode Web demande beaucoup de travail. –

Répondre

0

Par souci d'exhaustivité:

Il semble une bonne idée d'avoir la réponse/demandes dans la bibliothèque de classes, de cette façon si vous voulez modifier le service Web pour WCF, il y a moins de travail à faire.