SlideShare uma empresa Scribd logo
1 de 18
RJSDMX
(Connettori SDMX per Software Statistici)




    Banca D’Italia
  Area Ricerca Economica         Attilio Mattiocco




                                 1
Cos’è RJSDMX




• RJSDMX è un package per R, sviluppato dalla Banca d’Italia, per
  l’accesso a dati SDMX disseminati da providers istituzionali

• E’ stato ideato per portare in un ambiente computazionale R (nella forma
  di time series di tipo zoo) dati esposti attraverso Web Services SDMX.

• RJSDMX offre anche alcune funzionalità di base per query su
  metadati strutturali. Queste funzioni servono ad esplorare
  la struttura dei flussi SDMX e costruire le successive query dati.

• Il package è costituito da un nucleo principale di codice Java
  racchiuso in una ‘façade’ di codice R. Questa architettura ha permesso
  di sviluppare, in maniera molto efficiente (alto riuso di codice),
  un framework di Connettori SDMX per diversi software statistici



                                                          2
I Connettori SDMX



  ECB             OECD                              In futuro
                              IMF
  Secure          Secure
                                                       Infostat       BIS
  ECB             OECD        ISTAT


                                                                      SDMX Providers
                                internet/intranet

SDMX Connectors




                                                                             In futuro
                                SDMX client


                                                                            Enterprise
                                                                            Applications



                                                                  3
Ragioni dei Connettori SDMX


La prima fase di un tipico processo di calcolo consiste nell’acquisizione dei
dati oggetto dell’analisi.


Questa operazione, specialmente nel caso di dati esterni all’organizzazione,
è spesso molto inefficiente e implica operazioni manuali (spesso ripetitive) o
complessi processi di replica su sistemi interni.




  SDMX                                           Data                  Data
 Provider                                       Process            Dissemination
                      Data Capture




                                                          4
Ragioni dei Connettori SDMX


• L’uso combinato di SDMX e Web Services permette di semplificare
  notevolmente il passo di acquisizione di dati esterni.

• Si consideri, in particolare, l’incremento di efficienza nel caso di processi

  ripetitivi



 SDMX                                            Data                   Data
Provider                                        Process             Dissemination

                     Data Capture




• Esiste però una complessità molto alta nella gestione dei web services
  SDMX.

• I Connettori SDMX sono stati quindi sviluppati allo scopo di mascherare

  tutte le complessità dello standard e delle tecnologie web utilizzate
                                                           5
L’area Ricerca Economica della Banca d’Italia


       Altri data providers                           SDMX data providers
            DataStream,
             WorldBank,                                IMF           ISTAT
             OpenData


                                                       ECB           OECD




Altri protocolli                                 X               SDMX
                                              SDM

                                                               BIP      BISS
                              Connettori
                               SDMX




                                                             PRISMA      ...
                              INFOSTAT




                                            Accesso
                               Connettori




                                             nativo

       Area Ricerca                                          INFOSTAT
                                                                 6
Roadmap




• Supporto della versione 2.1 dello standard SDMX

• Sviluppo del client per i dati della Banca dei Regolamenti Internazionali

• Switch da protocollo SOAP a REST

• Potenziamento della estensibilità della libreria Java: pieno supporto di
  client sviluppati esternamente

• Rilascio dell’infrastruttura come Open Source, in un progetto indipendente
  o all’interno di una più generale infrastruttura SDMX




                                                        7
Grazie!
attilio.mattiocco
diana.nicoletti     @   bancaditalia.it
gianpaolo.lopez




                                          8
Backup




         9
Load RJSDMX


Il package viene caricato nel workspace insieme alle sue dipendenze




                                                           10
Lista dei Data Providers disponibili

  I providers disponibili dipendono dalla versione del package e possono essere ottenuti con la
funzione getDataProviders(). Il client java interno può essere usato come una libreria di API per
                               lo sviluppo di ulteriori SDMX Providers




                                                                       11
Creazione di un client per la BCE


Il client ecb si connette ai web services forniti dallo Statistical Data Warehouse della BCE




                                                                     12
Creazione di un client per l’OCSE


I nomi da usare per la creazione dei vari client sono gli stessi ottenuti
                 con la funzione getDataProviders()




                                                             13
Lista dei data flows disponibili in un provider


La funzione getDataFlows può essere usata con o senza il parametro pattern. Nel primo caso
                   darà in output tutti i data flows disponibili nel provider.




                                                                  14
Analisi della struttura di un Data Flow


Per ottenere le dimensioni di un data flow si può usare la funzione getDimensions()




                                                               15
Accesso a una time series


La funzione getTimeSeries() prende in input una stringa che identifica una time series,
                 e la carica nel workspace, in un oggetto di tipo zoo




                                                                  16
Query language semplificato per la getTimeSeries




Il parametro id della funzione getTimeSeries è una sequnza di token. Il primo deve
     corrispondere al nome di un data flow (e.g. EXR). I successivi tokens devono corrispondere
     ai codici delle dimensioni dello stesso data flow.

    e.g.    EXR.A.USD.EUR.SP00.A                 # EXR flow in ECB, tutte le dimensioni specificate
            REFSERIES.IT.PPPGDP.A                # REFSERIES flow in OECD, come sopra

Se non si vogliono specificare valori per alcune dimensioni, si possono usare delle wildcard. In
    ogni caso comunque il numero di tokens della quey deve corrispondere al numero delle
    dimensioni

    e.g.    EXR.*.USD.EUR.SP00.A                 # La dimensione frequenza non è specificata
            REFSERIES.ITA.*.A                    # come sopra

Se si vogliono specificare valori multipli per una dimensione si può usare il simbolo ‘|’ (logical or):

    e.g.    EXR.M|A.*.EUR.SP00.A                 # frequenza annuale e mensile, tutte le valute
            REFSERIES.ITA|AUS.*.A                # tutti i subject, location Italy e Australia




                                                                              17
Accesso a una lista di time series


Un esempio di query che ritorna una lista di time series




                                                   18

Mais conteúdo relacionado

Semelhante a A. Mattiocco - RJSDMX (Connettori SDMX per Software Statistici)

M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...Istituto nazionale di statistica
 
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cacheLuigi Fugaro
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009Massimiliano Dessì
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015Lorenzo Carnevale
 
SignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaSignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaAndrea Tosato
 
Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...
Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...
Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...ICL - Image Communication Laboratory
 
SISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMA
SISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMASISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMA
SISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMAFilippo LICENZIATI
 
Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologicoMassimo Romano
 
Cloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri MercatoCloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri MercatoVMEngine
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSMAU
 
Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologicoConsulthinkspa
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)Sabino Labarile
 
Multi Cloud essentials
Multi Cloud essentialsMulti Cloud essentials
Multi Cloud essentialsantimo musone
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 

Semelhante a A. Mattiocco - RJSDMX (Connettori SDMX per Software Statistici) (20)

M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
M. Scannapieco - Da SDMX a RDF Data Cube Vocabulary: Integrare i Dati Statist...
 
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cache
 
Data Lake
Data LakeData Lake
Data Lake
 
sisvsp2012 sessione5_cardacino_vignola
sisvsp2012 sessione5_cardacino_vignolasisvsp2012 sessione5_cardacino_vignola
sisvsp2012 sessione5_cardacino_vignola
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
 
Ado net (versione 1 e 2)
Ado net (versione 1 e 2)Ado net (versione 1 e 2)
Ado net (versione 1 e 2)
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015
 
SignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaSignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancava
 
Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...
Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...
Progetto e sviluppo del modulo server per una applicazione mhp per la gestion...
 
SISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMA
SISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMASISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMA
SISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMA
 
Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologico
 
F. Rizzo, Hub della statistica pubblica
F. Rizzo, Hub della statistica pubblicaF. Rizzo, Hub della statistica pubblica
F. Rizzo, Hub della statistica pubblica
 
A. Greco, Un nuovo toolkit a supporto della diffusione
A. Greco, Un nuovo toolkit a supporto della diffusioneA. Greco, Un nuovo toolkit a supporto della diffusione
A. Greco, Un nuovo toolkit a supporto della diffusione
 
Cloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri MercatoCloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri Mercato
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazione
 
Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologico
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
 
Multi Cloud essentials
Multi Cloud essentialsMulti Cloud essentials
Multi Cloud essentials
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 

Mais de Istituto nazionale di statistica

Mais de Istituto nazionale di statistica (20)

Censimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profitCensimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profit
 
Censimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profitCensimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profit
 
Censimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profitCensimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profit
 
Censimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profitCensimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profit
 
Censimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profitCensimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profit
 
Censimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profitCensimenti Permanenti Istituzioni non profit
Censimenti Permanenti Istituzioni non profit
 
Censimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni PubblicheCensimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni Pubbliche
 
Censimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni PubblicheCensimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni Pubbliche
 
Censimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni PubblicheCensimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni Pubbliche
 
Censimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni PubblicheCensimento Permanente Istituzioni Pubbliche
Censimento Permanente Istituzioni Pubbliche
 
14a Conferenza Nazionale di Statisticacnstatistica14
14a Conferenza Nazionale di Statisticacnstatistica1414a Conferenza Nazionale di Statisticacnstatistica14
14a Conferenza Nazionale di Statisticacnstatistica14
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 

A. Mattiocco - RJSDMX (Connettori SDMX per Software Statistici)

  • 1. RJSDMX (Connettori SDMX per Software Statistici) Banca D’Italia Area Ricerca Economica Attilio Mattiocco 1
  • 2. Cos’è RJSDMX • RJSDMX è un package per R, sviluppato dalla Banca d’Italia, per l’accesso a dati SDMX disseminati da providers istituzionali • E’ stato ideato per portare in un ambiente computazionale R (nella forma di time series di tipo zoo) dati esposti attraverso Web Services SDMX. • RJSDMX offre anche alcune funzionalità di base per query su metadati strutturali. Queste funzioni servono ad esplorare la struttura dei flussi SDMX e costruire le successive query dati. • Il package è costituito da un nucleo principale di codice Java racchiuso in una ‘façade’ di codice R. Questa architettura ha permesso di sviluppare, in maniera molto efficiente (alto riuso di codice), un framework di Connettori SDMX per diversi software statistici 2
  • 3. I Connettori SDMX ECB OECD In futuro IMF Secure Secure Infostat BIS ECB OECD ISTAT SDMX Providers internet/intranet SDMX Connectors In futuro SDMX client Enterprise Applications 3
  • 4. Ragioni dei Connettori SDMX La prima fase di un tipico processo di calcolo consiste nell’acquisizione dei dati oggetto dell’analisi. Questa operazione, specialmente nel caso di dati esterni all’organizzazione, è spesso molto inefficiente e implica operazioni manuali (spesso ripetitive) o complessi processi di replica su sistemi interni. SDMX Data Data Provider Process Dissemination Data Capture 4
  • 5. Ragioni dei Connettori SDMX • L’uso combinato di SDMX e Web Services permette di semplificare notevolmente il passo di acquisizione di dati esterni. • Si consideri, in particolare, l’incremento di efficienza nel caso di processi ripetitivi SDMX Data Data Provider Process Dissemination Data Capture • Esiste però una complessità molto alta nella gestione dei web services SDMX. • I Connettori SDMX sono stati quindi sviluppati allo scopo di mascherare tutte le complessità dello standard e delle tecnologie web utilizzate 5
  • 6. L’area Ricerca Economica della Banca d’Italia Altri data providers SDMX data providers DataStream, WorldBank, IMF ISTAT OpenData ECB OECD Altri protocolli X SDMX SDM BIP BISS Connettori SDMX PRISMA ... INFOSTAT Accesso Connettori nativo Area Ricerca INFOSTAT 6
  • 7. Roadmap • Supporto della versione 2.1 dello standard SDMX • Sviluppo del client per i dati della Banca dei Regolamenti Internazionali • Switch da protocollo SOAP a REST • Potenziamento della estensibilità della libreria Java: pieno supporto di client sviluppati esternamente • Rilascio dell’infrastruttura come Open Source, in un progetto indipendente o all’interno di una più generale infrastruttura SDMX 7
  • 8. Grazie! attilio.mattiocco diana.nicoletti @ bancaditalia.it gianpaolo.lopez 8
  • 9. Backup 9
  • 10. Load RJSDMX Il package viene caricato nel workspace insieme alle sue dipendenze 10
  • 11. Lista dei Data Providers disponibili I providers disponibili dipendono dalla versione del package e possono essere ottenuti con la funzione getDataProviders(). Il client java interno può essere usato come una libreria di API per lo sviluppo di ulteriori SDMX Providers 11
  • 12. Creazione di un client per la BCE Il client ecb si connette ai web services forniti dallo Statistical Data Warehouse della BCE 12
  • 13. Creazione di un client per l’OCSE I nomi da usare per la creazione dei vari client sono gli stessi ottenuti con la funzione getDataProviders() 13
  • 14. Lista dei data flows disponibili in un provider La funzione getDataFlows può essere usata con o senza il parametro pattern. Nel primo caso darà in output tutti i data flows disponibili nel provider. 14
  • 15. Analisi della struttura di un Data Flow Per ottenere le dimensioni di un data flow si può usare la funzione getDimensions() 15
  • 16. Accesso a una time series La funzione getTimeSeries() prende in input una stringa che identifica una time series, e la carica nel workspace, in un oggetto di tipo zoo 16
  • 17. Query language semplificato per la getTimeSeries Il parametro id della funzione getTimeSeries è una sequnza di token. Il primo deve corrispondere al nome di un data flow (e.g. EXR). I successivi tokens devono corrispondere ai codici delle dimensioni dello stesso data flow. e.g. EXR.A.USD.EUR.SP00.A # EXR flow in ECB, tutte le dimensioni specificate REFSERIES.IT.PPPGDP.A # REFSERIES flow in OECD, come sopra Se non si vogliono specificare valori per alcune dimensioni, si possono usare delle wildcard. In ogni caso comunque il numero di tokens della quey deve corrispondere al numero delle dimensioni e.g. EXR.*.USD.EUR.SP00.A # La dimensione frequenza non è specificata REFSERIES.ITA.*.A # come sopra Se si vogliono specificare valori multipli per una dimensione si può usare il simbolo ‘|’ (logical or): e.g. EXR.M|A.*.EUR.SP00.A # frequenza annuale e mensile, tutte le valute REFSERIES.ITA|AUS.*.A # tutti i subject, location Italy e Australia 17
  • 18. Accesso a una lista di time series Un esempio di query che ritorna una lista di time series 18