domenica 3 febbraio 2013

Come esporre in xml i dati delle proprie applicazioni


Sembra una cosa semplice. E difatti lo è. Oggigiorno, indipendentemente dal linguaggio di programmazione utilizzato, esporre i propri dati in formato xml è semplicissimo. Il linguaggio xml è poi molto adatto all'interscambio di dati, in quanto semplice e autoesplicante.

Allora perché ci sono sempre un sacco di incomprensioni e problemi quando 2 aziende devono scambiarsi informazioni? Perché i programmatori delle suddette aziende passano settimane e telefonarsi per cercare di far funzione quelle benedette interfacce di scambio dati?

Perché non vengono seguite poche semplici regole. Il linguaggio XML non è magia. Non si spiega da solo. Come una qualsiasi lingua parlata, se le parole vengono messe insieme senza senso, l'ascoltatore non può recepire il messaggio. Inoltre non prendiamoci in giro: difficilmente il programmatore che scrive l'algoritmo di export XML ha poi anche il tempo di scrivere una documentazione per chi utilizzerà il file generato. Cerchiamo quindi di generare file che non necessitino di spiegazioni.

Semplici regole quando si scrive un file XML:


  1. Scrivete tutto in una lingua (preferibilmente in inglese).
    Sembra una cosa da poco, ma chi leggerà il vostro file lo leggerà in maniera più veloce, senza dover interpretare ogni parola
  2. Nominate nodi ed attributi in maniera estesa. Non lasciate alla fantasia di chi utilizzata il vostro XML il dover capire se "SecCode" sia "Codice Secondario", "Codice Settore", o altro.
  3. Le date e le cifre vanno scritte in formato inglese. In questo modo i parser dei vari linguaggi di programmazione possono interpretarle correttamente
  4. Sfruttate gli attributi per tutte le informazioni che non hanno altre informazioni collegate. Questo vi permette di risparmiare dei caratteri e soprattutto permette a chi legge l'xml di capire quali informazioni possono averne altre di collegate.
  5. Scegliete se scrivere tutto in "Camel Case" o in "Pascal Case"


    es

<customers>
  <customer key="100" name="Marco" surname="Rossi">
    <orders>
      <order key="200" date="2010-01-01" total="10.00" >
        <product title="lavastoviglie XYZ"></product>
      </order>
    </orders>
  </customer>
  <customer>
    ...
  </customer>
</customers>

Ovviamente ci sono altre best practice che in questo pos mi sono dimenticato.
Grazie per aver letto questo articolo.

Nessun commento:

Posta un commento