SlideShare une entreprise Scribd logo
1  sur  33
Vincenzo Patruno, Marina Venturi PHPDay 2007 Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demografici su mobile.istat.it  Verona, 18 Maggio 2007
 
Mobile PHPDay 2007 Verona, 18 Maggio 2007  I dati   Principali Indicatori Novità Indice dei prezzi per le rivalutazioni monetarie Dati demografici Dati congiunturali www.istat.it demo.istat.it con.istat.it mobile . istat.it
Mobile PHPDay 2007 Verona, 18 Maggio 2007
www.istat.it PHPDay 2007 Verona, 18 Maggio 2007
demo.istat.it PHPDay 2007 Verona, 18 Maggio 2007
con.istat.it PHPDay 2007 Verona, 18 Maggio 2007
mobile.istat.it PHPDay 2007 Verona, 18 Maggio 2007  mobile . istat.it istat . mobi
Architetture PHPDay 2007 Verona, 18 Maggio 2007  www.istat.it mobile.istat.it demo.istat.it con.istat.it Team 1 Team 2 Team 3 Postgres X PHP5 PHP4
Architettura Mobile.istat.it PHPDay 2007 Verona, 18 Maggio 2007  www.istat.it demo.istat.it con.istat.it Connessione diretta WS Link mobile . istat.it
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  SOAP Server SOAP Client PHP SOAP over HTTP PHP J2EE .NET … WSDL
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  WSDL  (Web Services Description Language)   WSDL è  un linguaggio formale XML per la creazione di documenti per la descrizione di Web Services. Un file WSDL indica ai client: cosa  può essere utilizzato (le "operazioni" messe a disposizione dal servizio); come  utilizzarlo (il protocollo di comunicazione da utilizzare per accedere al servizio, il formato dei messaggi accettati in input e restituiti in output dal servizio ed i dati correlati); dove  utilizzare il servizio (cosiddetto  endpoint  del servizio che solitamente corrisponde all'indirizzo - in formato URI - che rende disponibile il Web Service) Find out more by reading the Web Services Description Language (WSDL) 1.1 W3C Note .
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  Tipicamente i file WSDL sono generati automaticamente  dal codice del web service e vengono importati ed utilizzati dai  Client nel momento in cui il client viene disegnato. http://demo.istat.it/mobile/getpop.php?wsdl http:// demo.istat.it /mobile/ comserver.php ? wsdl Es.
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  <?php $client = new SoapClient(&quot;  http://demo.istat.it/mobile/getpop.php?wsdl &quot;); $risposta=$client->GetPopolazioneComune($codice); ?> Client SOAP Le due maggiori piattaforme utilizzate per i Web Services –  J2EE e .NET – possono  generare facilmente  il WSDL dal codice  in quanto i linguaggi supportati sono  fortemente tipizzati.
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  PHP è notoriamente un linguaggio poco “tipizzato” (non è necessario dichiarare il tipo delle variabili. Il tipo viene definito automaticamente sulla base del contesto in cui la variabile è utilizzata) Questa è  una seria limitazione nell’applicabilità di PHP come piattaforma web services in quanto impedisce una facile interoperabilità con client scritti in altri linguaggi.
Php e Web Services PHPDay 2007 Verona, 18 Maggio 2007  Numerosi sono stati i tentativi per generare in modo automatico Il WSDL  in  PHP5 . In generale, è lo sviluppatore che deve fornire  informazioni addizionali sui tipi di dati utilizzando ad esempio commenti ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  http://sourceforge.net/projects/nusoap/ NuSOAP è un set di classi PHP che permette di creare e utilizzare  web services basati su SOAP 1.1, WSDL 1.1 and HTTP 1.0/1.1.
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  $server = new soap_server(); $server->configureWSDL('GetPopolazione',$ns); $server->wsdl->schemaTargetNamespace=$ns; …… .. $server->wsdl->addComplexType( 'DatiComune', 'complexType', 'struct', 'all', '', array( 'Periodo' => array('name'=>'Titolo', 'type'=>'xsd:string'),   'Codice' => array('name'=>'Codice', 'type'=>'xsd:string'), 'Comune' => array('name'=>'Comune', 'type'=>'xsd:string'), 'Totale__al__31__Dic'=> array('name'=> 'Totale', 'type'=>'xsd:string'),   'Maschi' => array('name'=>'Maschi', 'type'=>'xsd:string'), 'Femmine' => array('name'=>'Femmine', 'type'=>'xsd:string'), 'Nati' => array('name'=>'Nati', 'type'=>'xsd:string'), 'Morti' => array('name'=>'Morti', 'type'=>'xsd:string'), 'Saldo__Migratorio' => array('name'=>'Saldo', 'type'=>'xsd:string') ) ); ………… ..
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  …… $server->wsdl->addComplexType( 'PopolazioneComunale', 'complexType', 'array', '', 'SOAP-ENC:Array', array(), array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'DatiComune[]')), 'DatiComune' ); …… ..
Architetture PHPDay 2007 Verona, 18 Maggio 2007  Nel frattempo …….
Architetture PHPDay 2007 Verona, 18 Maggio 2007  Server Consolidation Convergenza tecnologica e architetturale www.istat.it mobile.istat.it demo.istat.it
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007  Q: Può NUSOAP funzionare e coesistere con le estensioni SOAP di PHP5? L’estensione  SOAP di PHP5  usa lo stesso nome utilizzato  in NUSOAP per la classe  soapclient() Soap_transport_http Soap_server Soap_fault Soap_parser … soapclient
XHTML Mobile Profile PHPDay 2007 Verona, 18 Maggio 2007  XHTML MP  è una moderata estensione dell'XHTML Basic, a sua volta un  sottoinsieme dell'XHTML 1.1. Gli ultimi due sono inquadrati in un rigoroso standard W3C e ben documentati.  W3C, che non si è ancora espresso su XHTML MP come standard, gestisce comunque un Wiki sull’argomento all’indirizzo  http://www.w3.org/2005/MWI/BPWG/ OMA  (Open Mobile Alliance, gi WapForum)  un consorzio di oltre 200 imprese operanti nel settore. Ne fanno parte moltissimi nomi di spicco  (vedi OMA Membership: Current Members)  e candida l'XHTML Mobile Profile (XHTML MP) come standard per i dispositivi mobili.
Considerazioni PHPDay 2007 Verona, 18 Maggio 2007
Considerazioni PHPDay 2007 Verona, 18 Maggio 2007  Tendenza a replicare e NON a fare integrazione
Considerazioni PHPDay 2007 Verona, 18 Maggio 2007
PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007
Vincenzo Patruno – vincenzo.patruno@istat.it Marina Venturi -  [email_address]
 
 
 
 

Contenu connexe

En vedette

Formats and Tools for Data Transmission
Formats and Tools for Data TransmissionFormats and Tools for Data Transmission
Formats and Tools for Data TransmissionVincenzo Patruno
 
Data Economy, prospettive di mercato
Data Economy, prospettive di mercatoData Economy, prospettive di mercato
Data Economy, prospettive di mercatoVincenzo Patruno
 
Il sistema ad hub per l'interconnessione dei nodi
Il sistema ad hub per l'interconnessione dei nodiIl sistema ad hub per l'interconnessione dei nodi
Il sistema ad hub per l'interconnessione dei nodiVincenzo Patruno
 
L’innovazione dei dati, dei big data e degli open data
L’innovazione dei dati, dei big data e degli open dataL’innovazione dei dati, dei big data e degli open data
L’innovazione dei dati, dei big data e degli open dataVincenzo Patruno
 

En vedette (6)

Camerino linux meeting
Camerino linux meetingCamerino linux meeting
Camerino linux meeting
 
Formats and Tools for Data Transmission
Formats and Tools for Data TransmissionFormats and Tools for Data Transmission
Formats and Tools for Data Transmission
 
Data Visualization
Data VisualizationData Visualization
Data Visualization
 
Data Economy, prospettive di mercato
Data Economy, prospettive di mercatoData Economy, prospettive di mercato
Data Economy, prospettive di mercato
 
Il sistema ad hub per l'interconnessione dei nodi
Il sistema ad hub per l'interconnessione dei nodiIl sistema ad hub per l'interconnessione dei nodi
Il sistema ad hub per l'interconnessione dei nodi
 
L’innovazione dei dati, dei big data e degli open data
L’innovazione dei dati, dei big data e degli open dataL’innovazione dei dati, dei big data e degli open data
L’innovazione dei dati, dei big data e degli open data
 

Similaire à Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demografici su mobile.istat.it

Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
Hosting: il linguaggio PHP tra passato, presente e futuro #TipOfTheDay
Hosting: il linguaggio PHP tra passato, presente e futuro  #TipOfTheDayHosting: il linguaggio PHP tra passato, presente e futuro  #TipOfTheDay
Hosting: il linguaggio PHP tra passato, presente e futuro #TipOfTheDayAruba S.p.A.
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMSRoberto Polillo
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi
 
Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiPietro Libro
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Giorgio Carpoca
 
Resilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case StudyResilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case StudyGiulio Roggero
 
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...DavisMol
 
Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Webextrategy
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...italianaSoftware
 

Similaire à Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demografici su mobile.istat.it (20)

Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
Hosting: il linguaggio PHP tra passato, presente e futuro #TipOfTheDay
Hosting: il linguaggio PHP tra passato, presente e futuro  #TipOfTheDayHosting: il linguaggio PHP tra passato, presente e futuro  #TipOfTheDay
Hosting: il linguaggio PHP tra passato, presente e futuro #TipOfTheDay
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMS
 
Presentazione wi400 i5
Presentazione wi400 i5Presentazione wi400 i5
Presentazione wi400 i5
 
Corso Javascript
Corso JavascriptCorso Javascript
Corso Javascript
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile Cordova
 
Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web Api
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
 
Resilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case StudyResilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case Study
 
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
 
6. Introduzione al web
6. Introduzione al web6. Introduzione al web
6. Introduzione al web
 
Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Web
 
8. Architetture web
8. Architetture web8. Architetture web
8. Architetture web
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
Acadevmy - PWA Overview
Acadevmy - PWA OverviewAcadevmy - PWA Overview
Acadevmy - PWA Overview
 
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
 

Plus de Vincenzo Patruno

AUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICA
AUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICAAUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICA
AUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICAVincenzo Patruno
 
Dati pubblici per capire la pandemia
Dati pubblici per capire  la pandemiaDati pubblici per capire  la pandemia
Dati pubblici per capire la pandemiaVincenzo Patruno
 
I dati per capire le emergenze
I dati per capire le emergenzeI dati per capire le emergenze
I dati per capire le emergenzeVincenzo Patruno
 
L'importanza degli Open Data per il monitoraggio della spesa pubblica
L'importanza degli Open Data per il monitoraggio della spesa pubblicaL'importanza degli Open Data per il monitoraggio della spesa pubblica
L'importanza degli Open Data per il monitoraggio della spesa pubblicaVincenzo Patruno
 
La statistica ufficiale e i trasporti marittimi nell'era dei Big Data
La statistica ufficiale e i trasporti marittimi nell'era dei Big DataLa statistica ufficiale e i trasporti marittimi nell'era dei Big Data
La statistica ufficiale e i trasporti marittimi nell'era dei Big DataVincenzo Patruno
 
Aumentare le potenzialità degli Open Data tra spazio e tempo
Aumentare le potenzialità degli Open Data tra spazio e tempoAumentare le potenzialità degli Open Data tra spazio e tempo
Aumentare le potenzialità degli Open Data tra spazio e tempoVincenzo Patruno
 
Hacking civico e Smart Citizen. Chi abita la Smart City?
Hacking civico e Smart Citizen. Chi abita la Smart City?Hacking civico e Smart Citizen. Chi abita la Smart City?
Hacking civico e Smart Citizen. Chi abita la Smart City?Vincenzo Patruno
 
Open Data: come trattarli e visualizzarli quando diventano Big
Open Data: come trattarli e visualizzarli quando diventano BigOpen Data: come trattarli e visualizzarli quando diventano Big
Open Data: come trattarli e visualizzarli quando diventano BigVincenzo Patruno
 
Riusare i dati del turismo per generare valore
Riusare i dati del turismo per generare valoreRiusare i dati del turismo per generare valore
Riusare i dati del turismo per generare valoreVincenzo Patruno
 
Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...
Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...
Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...Vincenzo Patruno
 
Open Data – i benefici per i cittadini, le imprese e la PA
Open Data – i benefici per i cittadini, le imprese e la PAOpen Data – i benefici per i cittadini, le imprese e la PA
Open Data – i benefici per i cittadini, le imprese e la PAVincenzo Patruno
 
Big Data e Open Data per monitorare la città
Big Data e Open Data per monitorare la cittàBig Data e Open Data per monitorare la città
Big Data e Open Data per monitorare la cittàVincenzo Patruno
 
Dati geografici e indicatori territoriali: Il ruolo delle comunità
Dati geografici e indicatori territoriali: Il ruolo delle comunitàDati geografici e indicatori territoriali: Il ruolo delle comunità
Dati geografici e indicatori territoriali: Il ruolo delle comunitàVincenzo Patruno
 
Connettere le applicazioni ai dati. Cosa sono le API, come si utilizzano e p...
Connettere le applicazioni ai dati.  Cosa sono le API, come si utilizzano e p...Connettere le applicazioni ai dati.  Cosa sono le API, come si utilizzano e p...
Connettere le applicazioni ai dati. Cosa sono le API, come si utilizzano e p...Vincenzo Patruno
 
Il valore degli #opendata. Esperienze a confronto
Il valore degli #opendata. Esperienze a confrontoIl valore degli #opendata. Esperienze a confronto
Il valore degli #opendata. Esperienze a confrontoVincenzo Patruno
 
Open Data e le opportunità per il territorio
Open Data e le opportunità per il territorioOpen Data e le opportunità per il territorio
Open Data e le opportunità per il territorioVincenzo Patruno
 
ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...
ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...
ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...Vincenzo Patruno
 
Tecniche ed esempi di data dissemination, data visualization e data sharing
Tecniche ed esempi di data dissemination, data visualization e data sharingTecniche ed esempi di data dissemination, data visualization e data sharing
Tecniche ed esempi di data dissemination, data visualization e data sharingVincenzo Patruno
 

Plus de Vincenzo Patruno (20)

Perché aprire i dati
Perché aprire i datiPerché aprire i dati
Perché aprire i dati
 
AUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICA
AUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICAAUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICA
AUMENTARE IL VALORE DEI DATI DELLA STATISTICA PUBBLICA
 
Dati pubblici per capire la pandemia
Dati pubblici per capire  la pandemiaDati pubblici per capire  la pandemia
Dati pubblici per capire la pandemia
 
I dati per capire le emergenze
I dati per capire le emergenzeI dati per capire le emergenze
I dati per capire le emergenze
 
L'importanza degli Open Data per il monitoraggio della spesa pubblica
L'importanza degli Open Data per il monitoraggio della spesa pubblicaL'importanza degli Open Data per il monitoraggio della spesa pubblica
L'importanza degli Open Data per il monitoraggio della spesa pubblica
 
La statistica ufficiale e i trasporti marittimi nell'era dei Big Data
La statistica ufficiale e i trasporti marittimi nell'era dei Big DataLa statistica ufficiale e i trasporti marittimi nell'era dei Big Data
La statistica ufficiale e i trasporti marittimi nell'era dei Big Data
 
Aumentare le potenzialità degli Open Data tra spazio e tempo
Aumentare le potenzialità degli Open Data tra spazio e tempoAumentare le potenzialità degli Open Data tra spazio e tempo
Aumentare le potenzialità degli Open Data tra spazio e tempo
 
Hacking civico e Smart Citizen. Chi abita la Smart City?
Hacking civico e Smart Citizen. Chi abita la Smart City?Hacking civico e Smart Citizen. Chi abita la Smart City?
Hacking civico e Smart Citizen. Chi abita la Smart City?
 
Open Data: come trattarli e visualizzarli quando diventano Big
Open Data: come trattarli e visualizzarli quando diventano BigOpen Data: come trattarli e visualizzarli quando diventano Big
Open Data: come trattarli e visualizzarli quando diventano Big
 
Il valore dei dati
Il valore dei datiIl valore dei dati
Il valore dei dati
 
Riusare i dati del turismo per generare valore
Riusare i dati del turismo per generare valoreRiusare i dati del turismo per generare valore
Riusare i dati del turismo per generare valore
 
Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...
Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...
Il valore dei dati, le politiche e le strategie di gestione degli stessi e le...
 
Open Data – i benefici per i cittadini, le imprese e la PA
Open Data – i benefici per i cittadini, le imprese e la PAOpen Data – i benefici per i cittadini, le imprese e la PA
Open Data – i benefici per i cittadini, le imprese e la PA
 
Big Data e Open Data per monitorare la città
Big Data e Open Data per monitorare la cittàBig Data e Open Data per monitorare la città
Big Data e Open Data per monitorare la città
 
Dati geografici e indicatori territoriali: Il ruolo delle comunità
Dati geografici e indicatori territoriali: Il ruolo delle comunitàDati geografici e indicatori territoriali: Il ruolo delle comunità
Dati geografici e indicatori territoriali: Il ruolo delle comunità
 
Connettere le applicazioni ai dati. Cosa sono le API, come si utilizzano e p...
Connettere le applicazioni ai dati.  Cosa sono le API, come si utilizzano e p...Connettere le applicazioni ai dati.  Cosa sono le API, come si utilizzano e p...
Connettere le applicazioni ai dati. Cosa sono le API, come si utilizzano e p...
 
Il valore degli #opendata. Esperienze a confronto
Il valore degli #opendata. Esperienze a confrontoIl valore degli #opendata. Esperienze a confronto
Il valore degli #opendata. Esperienze a confronto
 
Open Data e le opportunità per il territorio
Open Data e le opportunità per il territorioOpen Data e le opportunità per il territorio
Open Data e le opportunità per il territorio
 
ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...
ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...
ISTAT: la strategia Open Data e il framework SDMX per lo scambio di dati stat...
 
Tecniche ed esempi di data dissemination, data visualization e data sharing
Tecniche ed esempi di data dissemination, data visualization e data sharingTecniche ed esempi di data dissemination, data visualization e data sharing
Tecniche ed esempi di data dissemination, data visualization e data sharing
 

Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demografici su mobile.istat.it

  • 1. Vincenzo Patruno, Marina Venturi PHPDay 2007 Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demografici su mobile.istat.it Verona, 18 Maggio 2007
  • 2.  
  • 3. Mobile PHPDay 2007 Verona, 18 Maggio 2007 I dati Principali Indicatori Novità Indice dei prezzi per le rivalutazioni monetarie Dati demografici Dati congiunturali www.istat.it demo.istat.it con.istat.it mobile . istat.it
  • 4. Mobile PHPDay 2007 Verona, 18 Maggio 2007
  • 5. www.istat.it PHPDay 2007 Verona, 18 Maggio 2007
  • 6. demo.istat.it PHPDay 2007 Verona, 18 Maggio 2007
  • 7. con.istat.it PHPDay 2007 Verona, 18 Maggio 2007
  • 8. mobile.istat.it PHPDay 2007 Verona, 18 Maggio 2007 mobile . istat.it istat . mobi
  • 9. Architetture PHPDay 2007 Verona, 18 Maggio 2007 www.istat.it mobile.istat.it demo.istat.it con.istat.it Team 1 Team 2 Team 3 Postgres X PHP5 PHP4
  • 10. Architettura Mobile.istat.it PHPDay 2007 Verona, 18 Maggio 2007 www.istat.it demo.istat.it con.istat.it Connessione diretta WS Link mobile . istat.it
  • 11. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007
  • 12. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 SOAP Server SOAP Client PHP SOAP over HTTP PHP J2EE .NET … WSDL
  • 13. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 WSDL (Web Services Description Language) WSDL è un linguaggio formale XML per la creazione di documenti per la descrizione di Web Services. Un file WSDL indica ai client: cosa può essere utilizzato (le &quot;operazioni&quot; messe a disposizione dal servizio); come utilizzarlo (il protocollo di comunicazione da utilizzare per accedere al servizio, il formato dei messaggi accettati in input e restituiti in output dal servizio ed i dati correlati); dove utilizzare il servizio (cosiddetto endpoint del servizio che solitamente corrisponde all'indirizzo - in formato URI - che rende disponibile il Web Service) Find out more by reading the Web Services Description Language (WSDL) 1.1 W3C Note .
  • 14. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 Tipicamente i file WSDL sono generati automaticamente dal codice del web service e vengono importati ed utilizzati dai Client nel momento in cui il client viene disegnato. http://demo.istat.it/mobile/getpop.php?wsdl http:// demo.istat.it /mobile/ comserver.php ? wsdl Es.
  • 15. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 <?php $client = new SoapClient(&quot; http://demo.istat.it/mobile/getpop.php?wsdl &quot;); $risposta=$client->GetPopolazioneComune($codice); ?> Client SOAP Le due maggiori piattaforme utilizzate per i Web Services – J2EE e .NET – possono generare facilmente il WSDL dal codice in quanto i linguaggi supportati sono fortemente tipizzati.
  • 16. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 PHP è notoriamente un linguaggio poco “tipizzato” (non è necessario dichiarare il tipo delle variabili. Il tipo viene definito automaticamente sulla base del contesto in cui la variabile è utilizzata) Questa è una seria limitazione nell’applicabilità di PHP come piattaforma web services in quanto impedisce una facile interoperabilità con client scritti in altri linguaggi.
  • 17.
  • 18. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 http://sourceforge.net/projects/nusoap/ NuSOAP è un set di classi PHP che permette di creare e utilizzare web services basati su SOAP 1.1, WSDL 1.1 and HTTP 1.0/1.1.
  • 19. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 $server = new soap_server(); $server->configureWSDL('GetPopolazione',$ns); $server->wsdl->schemaTargetNamespace=$ns; …… .. $server->wsdl->addComplexType( 'DatiComune', 'complexType', 'struct', 'all', '', array( 'Periodo' => array('name'=>'Titolo', 'type'=>'xsd:string'), 'Codice' => array('name'=>'Codice', 'type'=>'xsd:string'), 'Comune' => array('name'=>'Comune', 'type'=>'xsd:string'), 'Totale__al__31__Dic'=> array('name'=> 'Totale', 'type'=>'xsd:string'), 'Maschi' => array('name'=>'Maschi', 'type'=>'xsd:string'), 'Femmine' => array('name'=>'Femmine', 'type'=>'xsd:string'), 'Nati' => array('name'=>'Nati', 'type'=>'xsd:string'), 'Morti' => array('name'=>'Morti', 'type'=>'xsd:string'), 'Saldo__Migratorio' => array('name'=>'Saldo', 'type'=>'xsd:string') ) ); ………… ..
  • 20. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 …… $server->wsdl->addComplexType( 'PopolazioneComunale', 'complexType', 'array', '', 'SOAP-ENC:Array', array(), array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'DatiComune[]')), 'DatiComune' ); …… ..
  • 21. Architetture PHPDay 2007 Verona, 18 Maggio 2007 Nel frattempo …….
  • 22. Architetture PHPDay 2007 Verona, 18 Maggio 2007 Server Consolidation Convergenza tecnologica e architetturale www.istat.it mobile.istat.it demo.istat.it
  • 23. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007 Q: Può NUSOAP funzionare e coesistere con le estensioni SOAP di PHP5? L’estensione SOAP di PHP5 usa lo stesso nome utilizzato in NUSOAP per la classe soapclient() Soap_transport_http Soap_server Soap_fault Soap_parser … soapclient
  • 24. XHTML Mobile Profile PHPDay 2007 Verona, 18 Maggio 2007 XHTML MP è una moderata estensione dell'XHTML Basic, a sua volta un sottoinsieme dell'XHTML 1.1. Gli ultimi due sono inquadrati in un rigoroso standard W3C e ben documentati. W3C, che non si è ancora espresso su XHTML MP come standard, gestisce comunque un Wiki sull’argomento all’indirizzo http://www.w3.org/2005/MWI/BPWG/ OMA (Open Mobile Alliance, gi WapForum) un consorzio di oltre 200 imprese operanti nel settore. Ne fanno parte moltissimi nomi di spicco (vedi OMA Membership: Current Members) e candida l'XHTML Mobile Profile (XHTML MP) come standard per i dispositivi mobili.
  • 25. Considerazioni PHPDay 2007 Verona, 18 Maggio 2007
  • 26. Considerazioni PHPDay 2007 Verona, 18 Maggio 2007 Tendenza a replicare e NON a fare integrazione
  • 27. Considerazioni PHPDay 2007 Verona, 18 Maggio 2007
  • 28. PHP e Web Services PHPDay 2007 Verona, 18 Maggio 2007
  • 29. Vincenzo Patruno – vincenzo.patruno@istat.it Marina Venturi - [email_address]
  • 30.  
  • 31.  
  • 32.  
  • 33.