SlideShare a Scribd company logo
1 of 10
Simone Matteoni
Oggi devo
implementare la
produzione
e invio
della fattura
elettronica
Simone Matteoni
“In informatica, l'XML (sigla di eXtensible Markup Language) è un metalinguaggio per la definizione di linguaggi di markup, ovvero un
linguaggio marcatore basato su un meccanismo sintattico che consente di definire e controllare il significato degli elementi contenuti in
un documento o in un testo. Il nome indica che si tratta di un linguaggio marcatore (markup language) estensibile (eXtensible), in quanto
permette di creare tag personalizzati.” Da Wikipedia
Ogni linguaggio di programmazione ha un proprio programma di lettura/scrittura in formato XML(parser) e dove non presente, sono
state create apposite librerie esterne, in alternativa una persona può sempre farsi tutto a da solo. Date queste possibilità l'agenzia delle
entrate ha quindi prodotto un suo tracciato con regole e obbligatorietà, se non rispettate, il risultato sarà lo scarto del file.
Il mio file di output sarà dunque questo.
Il cliente mi invierà
i dati prodotti
dal loro gestionale.
Dovrò quindi,
dopo averli prelevati,
produrre un file
adatto per
essere accettato
dall’agenzia delle entrate
come fattura elettronica.
Il formato finale
da loro scelto è l’XML.
Simone Matteoni
Il cliente mi fornirà i dati in
formato JSON, o meglio, sarò
io tramite richiesta al loro web
service a prelevare questi dati,
i dati risulteranno paginati,
questo vuol dire che sarà
necessario effettuare più
richieste per ottenerli. Questo
sarà il mio file di INPUT.
Simone Matteoni
“In informatica, nell'ambito della programmazione web, JSON, acronimo di JavaScript Object Notation, è un formato adatto
all'interscambio di dati fra applicazioni client/server. Viene usato in AJAX come alternativa a XML/XSLT.” Da Wikipedia
Esatto come alternativa all'XML, ma perché? Semplicemente perché ha meno informazioni, è ridotto all'osso e questo velocizza la
trasmissione del dato, tuttavia come per XML può rappresentare strutture complesse. A differenza dell'XML che può risultare più o meno
leggibile dall'uomo il formato JSON è a prima vista insensato. Ci sono vari programmi che lo interpretano e ne presentano la struttura in
maniera leggibile, dal punto di vista della programmazione questi programmi non hanno alcun senso, permettono però a me, umano, di
avere una situazione chiara di come è strutturato il tutto. Ogni linguaggio di programmazione ha un proprio programma di
lettura/scrittura in formato JSON, in genere prendono il nome di parser. E dove non presenti, sono state costruite delle librerie esterne.
Oppure una persona può sempre farsi tutto da solo.
I dati prelevati saranno
elaborati mediante processo,
normalizzati e scritti in un
database SQL SERVER. Questo
permetterà all’utente di
apportare ulteriori modifiche
in punti stabiliti,
per me validi, prima di
produrre l’XML.
Ovviamente cercherò di
rendere quanto più possibile
facile il lavoro al cliente, ma ad
esempio se dovessi fornire il
codice CIG e nel loro gestionale
non fosse presente, dovrò
dargli la possibilità di inserirlo,
pena lo scarto della fattura.
Simone Matteoni
La paginazione si usa per evitare di estrarre tutti e magari troppi record in una
sola volta.
Può essere gestita come nel WEB con il concetto di pagina1-pagina2-pagina3
dove per ogni pagina estraggo un tot di record oppure usare un sistema di
caricamento continuo, dove arrivati a fine pagina estraggo un nuovo set di record
da accodare. In entrambi i casi è necessario mantenere la posizione dell’ultimo
record estratto tramite cursori oppure calcolarsi a mano dove ci si trova magari
sulla base del numero di pagina.
Le funzioni di estrazione e
modifica saranno create
tramite PLEX. Il tool mi
permette su di una base dati
esistente di usare il tanto
decantato CRUD
(create read update delete)
per la creazione delle griglie di
estrazione dati
e delle funzioni di
inserimento/modifica e
cancellazione,
poi apporterò
le modifiche alle funzioni per
raggiungere il risultato
desiderato. Le funzioni
altamente stabili potranno poi
essere compilate in JAVA o
VISUALC++.
Simone Matteoni
Quando il cliente vorrà,
potrà quindi
con un semplice click,
prelevare il dato da web
service, importarlo,
modificarne il contenuto
e al termine
generare il file XML.
Simone Matteoni
I file prodotti per ogni
documento correttamente
formattato verranno inviati
tramite web service al portale
scelto dal cliente per la
gestione delle fatture
elettroniche, al termine verrà
presentato un log con le
operazioni svolte e cosa non è
andato a buon fine. I file non
inviati come quelli non
prodotti rimarranno visibili in
griglia con apposita marcatura,
il tutto sarà pilotato dai dei
filtri.
Simone Matteoni
Al termine, per quanto
generato e andato
a buon fine,
segnalerò al cliente
la corretta conclusione,
richiamando il suo
web service.
Questo mi permetterà
inoltre di ottenere
ad una successiva
estrazione un minor
quantitativo
di dati ricevuti.
Simone Matteoni
Eh pota
non si capisce
niente,
ma il tuo padrone,
è sempre a lavorare?
comunque si
Akira ti preparo
le scatolette di cibo.
Simone Matteoni

More Related Content

Similar to La Avventure di Akira JSON to XML

Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XMLAndrea Castello
 
Cv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itCv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itRichard Gennaro
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROIDPaolo Tosato
 
•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?IWA
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
SmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsSmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsClaudio Bosticco
 
Xml - progettazione unità didattica
Xml - progettazione unità didatticaXml - progettazione unità didattica
Xml - progettazione unità didatticaViola Anesin
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Mattia De Bernardi
 
Duke Document Management 10 07 2007
Duke Document Management 10 07 2007Duke Document Management 10 07 2007
Duke Document Management 10 07 2007Romualdo Gobbo
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08Alessandro Del Sole
 

Similar to La Avventure di Akira JSON to XML (20)

TESIPOLI
TESIPOLITESIPOLI
TESIPOLI
 
Sist op
Sist opSist op
Sist op
 
Sistemi Operativi
Sistemi OperativiSistemi Operativi
Sistemi Operativi
 
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 Big Data Analytics, Giovanni Delussu e Marco Enrico Piras  Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Cv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itCv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_it
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROID
 
•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?
 
Lamp Ld2008
Lamp Ld2008Lamp Ld2008
Lamp Ld2008
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Open xml
Open xmlOpen xml
Open xml
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
SmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsSmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applications
 
Xml - progettazione unità didattica
Xml - progettazione unità didatticaXml - progettazione unità didattica
Xml - progettazione unità didattica
 
Pec Man
Pec ManPec Man
Pec Man
 
Pec Man
Pec ManPec Man
Pec Man
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
 
Duke Document Management 10 07 2007
Duke Document Management 10 07 2007Duke Document Management 10 07 2007
Duke Document Management 10 07 2007
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
 

La Avventure di Akira JSON to XML

  • 2. Oggi devo implementare la produzione e invio della fattura elettronica Simone Matteoni
  • 3. “In informatica, l'XML (sigla di eXtensible Markup Language) è un metalinguaggio per la definizione di linguaggi di markup, ovvero un linguaggio marcatore basato su un meccanismo sintattico che consente di definire e controllare il significato degli elementi contenuti in un documento o in un testo. Il nome indica che si tratta di un linguaggio marcatore (markup language) estensibile (eXtensible), in quanto permette di creare tag personalizzati.” Da Wikipedia Ogni linguaggio di programmazione ha un proprio programma di lettura/scrittura in formato XML(parser) e dove non presente, sono state create apposite librerie esterne, in alternativa una persona può sempre farsi tutto a da solo. Date queste possibilità l'agenzia delle entrate ha quindi prodotto un suo tracciato con regole e obbligatorietà, se non rispettate, il risultato sarà lo scarto del file. Il mio file di output sarà dunque questo. Il cliente mi invierà i dati prodotti dal loro gestionale. Dovrò quindi, dopo averli prelevati, produrre un file adatto per essere accettato dall’agenzia delle entrate come fattura elettronica. Il formato finale da loro scelto è l’XML. Simone Matteoni
  • 4. Il cliente mi fornirà i dati in formato JSON, o meglio, sarò io tramite richiesta al loro web service a prelevare questi dati, i dati risulteranno paginati, questo vuol dire che sarà necessario effettuare più richieste per ottenerli. Questo sarà il mio file di INPUT. Simone Matteoni “In informatica, nell'ambito della programmazione web, JSON, acronimo di JavaScript Object Notation, è un formato adatto all'interscambio di dati fra applicazioni client/server. Viene usato in AJAX come alternativa a XML/XSLT.” Da Wikipedia Esatto come alternativa all'XML, ma perché? Semplicemente perché ha meno informazioni, è ridotto all'osso e questo velocizza la trasmissione del dato, tuttavia come per XML può rappresentare strutture complesse. A differenza dell'XML che può risultare più o meno leggibile dall'uomo il formato JSON è a prima vista insensato. Ci sono vari programmi che lo interpretano e ne presentano la struttura in maniera leggibile, dal punto di vista della programmazione questi programmi non hanno alcun senso, permettono però a me, umano, di avere una situazione chiara di come è strutturato il tutto. Ogni linguaggio di programmazione ha un proprio programma di lettura/scrittura in formato JSON, in genere prendono il nome di parser. E dove non presenti, sono state costruite delle librerie esterne. Oppure una persona può sempre farsi tutto da solo.
  • 5. I dati prelevati saranno elaborati mediante processo, normalizzati e scritti in un database SQL SERVER. Questo permetterà all’utente di apportare ulteriori modifiche in punti stabiliti, per me validi, prima di produrre l’XML. Ovviamente cercherò di rendere quanto più possibile facile il lavoro al cliente, ma ad esempio se dovessi fornire il codice CIG e nel loro gestionale non fosse presente, dovrò dargli la possibilità di inserirlo, pena lo scarto della fattura. Simone Matteoni La paginazione si usa per evitare di estrarre tutti e magari troppi record in una sola volta. Può essere gestita come nel WEB con il concetto di pagina1-pagina2-pagina3 dove per ogni pagina estraggo un tot di record oppure usare un sistema di caricamento continuo, dove arrivati a fine pagina estraggo un nuovo set di record da accodare. In entrambi i casi è necessario mantenere la posizione dell’ultimo record estratto tramite cursori oppure calcolarsi a mano dove ci si trova magari sulla base del numero di pagina.
  • 6. Le funzioni di estrazione e modifica saranno create tramite PLEX. Il tool mi permette su di una base dati esistente di usare il tanto decantato CRUD (create read update delete) per la creazione delle griglie di estrazione dati e delle funzioni di inserimento/modifica e cancellazione, poi apporterò le modifiche alle funzioni per raggiungere il risultato desiderato. Le funzioni altamente stabili potranno poi essere compilate in JAVA o VISUALC++. Simone Matteoni
  • 7. Quando il cliente vorrà, potrà quindi con un semplice click, prelevare il dato da web service, importarlo, modificarne il contenuto e al termine generare il file XML. Simone Matteoni
  • 8. I file prodotti per ogni documento correttamente formattato verranno inviati tramite web service al portale scelto dal cliente per la gestione delle fatture elettroniche, al termine verrà presentato un log con le operazioni svolte e cosa non è andato a buon fine. I file non inviati come quelli non prodotti rimarranno visibili in griglia con apposita marcatura, il tutto sarà pilotato dai dei filtri. Simone Matteoni
  • 9. Al termine, per quanto generato e andato a buon fine, segnalerò al cliente la corretta conclusione, richiamando il suo web service. Questo mi permetterà inoltre di ottenere ad una successiva estrazione un minor quantitativo di dati ricevuti. Simone Matteoni
  • 10. Eh pota non si capisce niente, ma il tuo padrone, è sempre a lavorare? comunque si Akira ti preparo le scatolette di cibo. Simone Matteoni