2009-07-15 10 views
0

En ce moment, nous envisageons d'écrire un certain nombre de services Web .Net pour exporter/importer des données entre les sites. Différents types de données sont impliqués, liés à plusieurs tables de base de données. Je pourrais écrire divers services Web pour recevoir les données envoyées, par exempleGeneric .Net Web Services

  1. ImportSomeRecord (champ1, champ2, field3)
  2. ImportSomeRecord2 (champ1, champ2)
  3. ImportSomeRecord3 (champ1, champ2, field3, field4 , field5) et ainsi de suite ...

il pourrait y avoir environ 40 de ces services, et il est également possible que les champs peuvent changer à savoir de nouveaux champs peuvent être ajoutés. Le client serait une application VB6 qui appelait le service Web distant et permettait à ce service Web de mettre à jour la base de données distante. Les services Web seront écrits dans VB.Net 2008.

Serait-il conseillé de remplacer tous ces services Web par un seul service générique, par ex. ImportRecords (type d'enregistrement, blobofdata). Je pense que cela peut être fait en théorie en passant juste une chaîne XML comme le blob de données et en laissant le service web le démêler en fonction du type d'enregistrement, mais y a-t-il vraiment un avantage à cela? J'ai lu quelque part que le passage de blocs XML de cette manière, en tant que paramètre unique, n'est pas recommandé, et je peux voir que cela semble également être quelque peu contraire à l'utilisation standard des services Web. définition.

Répondre

1

Si vous avez un paramètre sous la forme d'une chaîne qui prend simplement du code XML ancien, comment est-ce que quelqu'un est supposé savoir comment utiliser votre service sans consulter de documentation?

Prendre dans un type complexe peut vous offrir de meilleures options quant à ce que les utilisateurs peuvent et ne peuvent pas passer.

+0

J'apprécie les avantages des types complexes, et les ont toujours utilisé dans le passé, mais dans ce cas , nous écrivons les deux parties, donc personne d'autre n'utilisera notre service. En même temps, je ne veux pas le rendre inutilisable! – olippold