• Home
  • Prodotti
    • Perchè TOUCH400
    • Caratteristiche
    • I valori aggiunti di Touch400
    • Touch400 Puro, il nuovo front End Html5
    • I tools back-end di Prodigyt
    • Whats-i: l’app di messaggistica per gli utenti IBMi
    • Per chi ha già modernizzato
    • Faq
    • Cronologia Rilasci
  • Servizi
  • Azienda
    • Noi di Prodigyt
    • Dicono di noi
    • Contattaci
    • Workshops e Webinars
  • Blog
  • Log in/out

Whitepaper: JXDB – Json/Xml to DB2 translator – Version 0.9.3 beta

Senza categoria17 luglio 2018ruggero

Il tool gestisce l’importazione ed esportazione di flussi xml da/a file di database. Fornisce allo sviluppatore la possibilità di leggere e generare flussi xml attraverso un familiare file di database anziché doversi occupare di leggere ed interpretare complesse strutture xml per reperire i dati.

Il tool basa il suo funzionamento su di un file di struttura, in formato xml, il quale descrive il contenuto del flusso in modalità più semplice di un file xsd.

Il file di struttura viene utilizzato dal tool per generare il file di database che verrà utilizzato dall’utente per leggere e scrivere i dati che si desidera esportare o importare nel un flusso xml. La figura seguente mostra un esempio del file di struttura:

Esempio:

Nota: la descrizione del contenuto è necessaria per abbinare il tag Xml ad un nome univoco (che verrà utilizzato come nome di campo del file di lavoro DB); è possibile specificare solo il nome, e  tralasciare il tipo, lunghezza, maschere: in questo caso il tag verrà gestito come campo alfanumerico di 64 bytes. Dovrà essere cura dello sviluppatore convertire i dati provenienti dal  database aziendale in tale formato. Nel caso di tag di lunghezza inferiore a 64 bytes, il tool eseguirà il trim del valore; in caso di tag di lunghezza superiore, dovrà essere specificata con il nome struttura, es. NOME::A::1280

Il tool genera un file di database, detto di transito, basandosi sulle informazioni del file di struttura. Contiene i campi del flusso espressi in orizzontale, ovvero su un unico record.

Viene generato un record per ogni livello di profondità di un nodo. La figura seguente mostra come viene popolato il file di transito nel caso di import da flusso XML:

  • il primo record contiene i campi contenuti nel tag <testata>
  • il secondo record contiene il primo nodo ripetitivo <dettaglio> ed il suo primo nodo ripetitivo <sottoDettaglio>
  • il terzo record contiene il secondo nodo ripetitivo < sottoDettaglio>
  • il quarto record contiene il secondo nodo ripetitivo <dettaglio> ed il suo primo nodo ripetitivo <sottoDettaglio>
  • il quinto record contiene il secondo nodo ripetitivo < sottoDettaglio>
  • il sesto record contiene il terzo nodo ripetitivo <dettaglio>

Nel caso di export lo sviluppatore dovrà dunque attenersi a tale regola per popolare i record del file di transito per una corretta generazione del flusso.

In un flusso xml spesso è fondamentale la differenza tra l’assenza di un nodo e la presenza di un nodo con valore vuoto:

  • assenza di un nodo significa che non verrà elaborato
  • presenza di un nodo vuoto significa che verrà elaborato con valore vuoto (o zero in casi di numerici)

per riprodurre tale possibilità sul file di transito vengono utilizzati i campi NULL del DB2: un campo null significa assenza di nodo, un campo non null con valore vuoto (o zero) significa presenza di nodo vuoto.

Comandi disponibili:

DB2XML – genera il flusso partendo da file database di transito

Parametri:

  1. Indirizzo ifs del file di struttura
  2. Nome/libreria del file DB da utilizzare
  3. Indirizzo ifs del file di flusso xml da esportare

XML2DB – genera e popola file database di transito da flusso XML

Parametri:

  1. Indirizzo ifs del file di struttura
  2. Nome/libreria del file DB da generare
  3. Indirizzo ifs del file di flusso xml da importare

 

Limiti dell’attuale versione

  • Interpreta solo file Xml (a breve anche Json)
  • nome nodo lungo 64 bytes
  • valore nodo max. 4096 bytes
  • massimo 32 livelli di profondità
  • massimo 256 nodi presenti nel flusso

Articoli recenti

  • Rilasciato Touch400 Puro Version 1.6
  • A.I. integrata in Touch400 e IBM-i
  • Touch400 Web Light” tiene fede al suo nickname
  • Una applicazione Cobol modernizzata con grafica avanzata
  • Iniziati i test del nuovo framework html5 nativo di Touch400

Commenti recenti

    Archivi

    • febbraio 2020
    • luglio 2019
    • marzo 2019
    • dicembre 2018
    • agosto 2018
    • luglio 2018
    • maggio 2018
    • aprile 2018
    • gennaio 2018
    • dicembre 2017
    • luglio 2017
    • giugno 2017
    • maggio 2017
    • luglio 2016
    • maggio 2016
    • aprile 2016
    • settembre 2015
    • luglio 2014
    • maggio 2014
    • aprile 2014
    • marzo 2014
    • febbraio 2014
    • gennaio 2014
    • dicembre 2013
    • novembre 2013
    • ottobre 2013
    • settembre 2013
    • agosto 2013
    • luglio 2013
    • giugno 2013
    • maggio 2013
    • aprile 2013
    • marzo 2013
    • febbraio 2013
    • dicembre 2012
    • novembre 2012
    • ottobre 2012
    • settembre 2012
    • agosto 2012
    • luglio 2012
    • maggio 2012
    • aprile 2012
    • marzo 2012
    • febbraio 2012
    • gennaio 2012
    • dicembre 2011

    Categorie

    • 3D
    • Annunci
    • Case Histories
    • Eventi
    • innovazione
    • Modernizzazione
    • MultiTouch
    • News
    • Newsletter
    • Pensieri
    • Senza categoria
    • Servizi
    • Showcase
    • surf
    • Tablet
    • Tech Corner

    Meta

    • Registrati
    • Accedi
    • RSS degli articoli
    • RSS dei commenti
    • WordPress.org
    Facebook
    Twitter
    LinkedIn
    YouTube
    Skype

    Cerca

    Contatti

    Prodigyt S.r.l.
    +39 0362 1796491
    +39 0362 1796491
    info@prodigyt.it

    © 2010-2015 Tutti i diritti riservati. TOUCH400 è prodotto da Prodigyt Srl

    • Home
    • Prodotti
      • Perchè TOUCH400
      • Caratteristiche
      • I valori aggiunti di Touch400
      • Touch400 Puro, il nuovo front End Html5
      • I tools back-end di Prodigyt
      • Whats-i: l’app di messaggistica per gli utenti IBMi
      • Per chi ha già modernizzato
      • Faq
      • Cronologia Rilasci
    • Servizi
    • Azienda
      • Noi di Prodigyt
      • Dicono di noi
      • Contattaci
      • Workshops e Webinars
    • Blog
    • Log in/out
    Questo sito utilizza i cookie: Per ulteriori dettagli clicca qui