Non mettere i file in XML, questo lo renderebbe ingombrante. Invece, fare riferimento ai nomi dei file da XML, quindi a compensare XML e si presenta in un bundle e invialo.
Dovresti includere file in XML o averlo in un processo a due fasi?
-
29-07-2022 - |
Domanda
Devo implementare un modo per trasferire tra molte organizzazioni (numero sconosciuto) alcune informazioni, nome/indirizzo/ecc. E un numero sconosciuto di file associati a tali informazioni.
Quando sto dicendo file sconosciuti, potrebbe essere un file XML di oltre 100 meg, se sono incorporati
Il trasferimento verrà effettuato su XML, quindi la domanda è;
Dovrei consentire file incorporati che utilizzano Base64 in elementi o avere un processo di 2 passaggi che sarebbe
- Inviami il file XML con una sorta di puntatore in un elemento, dì i nomi di file
- Invia i file con i file di file specifici in XML
O esiste una terza soluzione?
Devo deserializzare l'XML in un oggetto, eseguire un po 'di manipolazione e salvarlo in un database.
(Attualmente ho un prototipo di lancio utilizzando il processo a 2 passaggi)
Soluzione
Altri suggerimenti
Assicurati di considerare l'evoluzione prevista dei dati, come si verifica il cambiamento nelle parti del documento e quante parti hanno interesse per gli aggiornamenti.
Da un'estremità dello spettro, i dati non cambieranno mai, le parti sono tutte statiche e gli aggiornamenti non sono un problema per nessuno. Una trasmissione a un colpo di un singolo file di grandi dimensioni (o set di file zippato) è abbastanza buona. Mi appoggio verso un archivio zippato con componenti collegati su una soluzione di incorporamento/codifica qui.
L'altra estremità dello spettro richiede una "terza soluzione", come dici tu. I dati cambiano frequentemente e indipendentemente, alcune parti del vasto documento cambiano mentre altri rimangono costanti e molte parti sono interessate ad avere accesso alla versione attuale dei dati in evoluzione. Qui, una rappresentazione collegata delle varie parti della risorsa come riferimenti a parti che si sono controllate in rete, possibilmente controllate in versione indipendente, avrebbe un grande vantaggio. Dati collegati è una soluzione robusta che vale la pena considerare la distribuzione monolitica di un file enorme.