Question

Je dois implémenter un moyen de transférer entre de nombreuses organisations (numéro inconnu) certaines informations, le nom / adresse / etc., et un nombre inconnu de fichiers associés à ces informations.

Quand je dis des fichiers inconnus, ce pourrait être un fichier XML de plus de 100 MEG, s'ils sont intégrés

Le transfert sera effectué sur XML, donc la question est;

Dois-je autoriser les fichiers intégrés en utilisant la base64 dans des éléments ou avoir un processus de 2 étapes qui serait

  1. Envoyez-moi le fichier XML avec une sorte de pointeur dans un élément, disons des noms de fichiers
  2. Envoyez les fichiers avec les noms de fichiers spécifiques dans le XML

Ou y a-t-il une troisième solution?

Je dois désérialiser le XML dans un objet, faire de la manipulation puis l'enregistrer dans une base de données.

(J'ai actuellement un prototype à lancer en utilisant le processus de 2 étapes)

Était-ce utile?

La solution

Ne mettez pas les fichiers dans le XML, cela le rendrait lourde. Au lieu de cela, référez les noms de fichiers à partir du XML, puis zipons le XML et fichiers dans un seul bundle et envoyez-les.

Autres conseils

Assurez-vous de considérer l'évolution attendue des données, comment le changement se produit dans les parties du document et combien de parties s'intéressent aux mises à jour.

À la fin du spectre, les données ne changeront jamais, les pièces sont toutes statiques et les mises à jour ne sont un problème pour personne. Une diffusion unique d'un seul grand fichier (ou un ensemble de fichiers zippé) est assez bonne. Je pencherais vers une archive zippée avec des composants liés sur une solution d'incorporation / codage ici.

L'autre extrémité du spectre demande une «troisième solution», comme vous le dites. Les données changent fréquemment et indépendamment, certaines parties du document massive changent tandis que d'autres restent constantes et de nombreuses parties souhaitent avoir accès à la version actuelle des données en évolution. Ici, une représentation liée des différentes parties de la ressource en tant que références aux pièces aérées au réseau, peut-être contrôlées par la version indépendante, aurait un avantage majeur. Données liées est une solution robuste à considérer sur la distribution monolithique d'un fichier massif.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top