Pregunta

Tengo que implementar una forma de transferir entre muchas organizaciones (número desconocido) alguna información, nombre/dirección/etc., y un número desconocido de archivos asociados a esa información.

Cuando digo archivos desconocidos, podría ser un archivo XML de más de 100 meg, si están integrados

La transferencia se realizará a través de XML, por lo que la pregunta es;

¿Debo permitir archivos integrados usando base64 en elementos o tener un proceso de 2 pasos que sería

  1. Envíame el archivo XML con una especie de puntero en un elemento, digamos los nombres de archivo
  2. Envíe los archivos con los nombres de archivo específicos en el XML

¿O hay una tercera solución?

Tengo que deserializar el XML en un objeto, hacer algo de manipulación y luego guardarlo en una base de datos.

(Actualmente tengo un prototipo de distancia utilizando el proceso de 2 pasos)

¿Fue útil?

Solución

No ponga los archivos en el XML, esto lo haría difícil de manejar. En su lugar, haga referencia a los nombres de archivo del XML y luego cierre el XML y se presenta en un paquete y envíe eso.

Otros consejos

Asegúrese de considerar la evolución esperada de los datos, cómo se produce el cambio en las partes del documento y cuántas partes tienen interés en las actualizaciones.

En el único extremo del espectro, los datos nunca cambiarán, las piezas son estáticas y las actualizaciones no son un problema para nadie. Una transmisión de una sola vez de un solo archivo grande (o un conjunto de archivos con cremallera) es lo suficientemente bueno. Me inclinaría hacia un archivo con cremallera con componentes vinculados sobre una solución de incrustación/codificación aquí.

El otro extremo del espectro requiere una "tercera solución", como usted dice. Los datos cambian con frecuencia e independientemente, algunas partes del documento masivo cambian, mientras que otras permanecen constantes, y muchas partes están interesadas en tener acceso a la versión actual de los datos en evolución. Aquí, una representación vinculada de las diversas partes del recurso como referencias a piezas compartidas con red, posiblemente controladas por la versión de forma independiente, tendría una gran ventaja. Datos vinculados es una solución robusta que vale la pena considerar sobre la distribución monolítica de un archivo masivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top