SlideShare uma empresa Scribd logo
1 de 28
Template designed by
Accesso ai dati in Windows 8.x
Paolo Pialorsi
paolo@pialorsi.com
http://www.pialorsi.com/blog.aspx
brought to you by
Consulente, project manager e trainer dal 1996
Oltre 40 certificazioni Microsoft conseguite
Microsoft Certified Solutions Master – SharePoint
Focalizzato su .NET e SharePoint dal 2002
Autore di 10 libri su XML, SOAP, .NET,
LINQ e SharePoint
• Microsoft SharePoint 2013 Developer Reference, Microsoft Press
• Build Windows 8 Apps with Microsoft Visual C# and
Visual Basic Step by Step, Microsoft Press
• Microsoft SharePoint 2010 Developer Reference, Microsoft Press
Speaker alle principali conferenze IT
Chi sono
Partiamo dall’esigenza
Sorgenti consumabili a confronto
Conclusioni
Agenda
Consumare dati
Quasi ogni applicazione
Consuma dati (CRUDQ)
Lavora grazie ai dati
Svolge operazioni transazionali
• Garantendo la consistenza e l’integrità dei dati
Ma le Windows Store App e WinRT supportano l’accesso ai
database?
No! E allora come m*n#*ia faccio?!
L’esigenza primordiale
Elementi base di Windows Runtime in .NET
.NET for Windows 8 Apps
BCL
HTTP
XML
Serialization
WCF
Set di referenze x Windows Store Apps
Manca qualcosa?
Per esempio ...
System.Data.*
System.Transactions.*
Ok, quindi siamo spacciati?!
No!
Cosa manca?!
Correva l’anno 2000 D.C. e qualcuno  diceva
Pensate il vostro software «orientato ai servizi»
Prevedete uno strato di presentazione «sottile»
Lasciate logiche e dati server-side
• Esposti tramite servizi
Service Oriented Architecture
File locale (XML, CSV, ecc.)
SQLite for Windows 8
WCF/SOAP Service
OData
REST + POX/JSON/RSS/ATOM
Azure Service (SOAP/REST)
Brokered WinRT Component
Sorgenti consumabili
Strumenti disponibili
Local Storage
• Alla rimozione della App i file vengono cancellati
User’s folders
• Occorre specifica capability e file type declaration
• Ma in caso di App Uninstall i file permangono
Roaming Storage?
• No! Troppo poco spazio (100KB)
File locali
Demo
Usare local storage, user’s
folders, and roaming storage
http://www.sqlite.org/
È un’opzione possibile
Esiste una estensione
per Windows Runtime
Richiede C++
Serve wrapper .NET (sqlite-net)
SQLite per Windows 8
Occorre gestire manualmente la sincronizzazione con la parte server
Sempre che esista una parte server ...
I dati sono sul device dell’utente
Va bene per dati di reference
Non va bene per dati «business» … come gestiamo BYOD?
Non si sposa con l’idea di avere i dati everywhere/on every device
A meno di non fare a mano dei meccanismi di resync
Va bene comunque per file di dati di piccole dimensioni
Non pensate di metterci dentro 1M di clienti e 10M di ordini ...
Limiti
Demo
Usare SQLite da Windows
Store App
In ottica SOA sono una delle scelte migliori
Binding
BasicHttpBinding
NetTcpBinding
NetHttpBinding
CustomBinding
Serializzatori disponibili
DataContractSerializer
DataContractJsonSerializer
XmlSerializer
WCF/SOAP Service
Supporta
Transport Security (HTTPS/SSL)
Transport with Message Credentials
Transport Credential Only
Sicurezza
Client Credentials
None
Basic
Digest
Negotiate
NTLM
Windows
Username (Message Security)
Windows (Transport Security)
Sicurezza integrata da abilitare in AppManifest
Richiede «Enterprise authentication» capability
Non supporta wsHttpBinding
Non supporta wsFederationHttpBinding
Non supporta connessioni in entrata
WCF Client e non WCF Service
Ma abbiamo NetHttpBinding ...
Limiti
Demo
Consumare servizi SOAP
da Windows Store App
OData = Open Data Protocol
www.odata.org
OData 4.0 è uno standard OASIS! (News - 17/3/2014)
In Windows Store Apps richiede add-on
WCF Data Services 5.6.0 RTM
Poi si consuma come un normale servizio WCF
Add Service Reference ...
OData
Possiamo usare sicurezza del trasporto
HTTP/HTTPS
Basic/Digest/Windows
Possiamo usare sicurezza ASP.NET
Con FBA o WIF in WS-Federation Passive
Via WebAuthenticationBroker
Possiamo usare OAuth (vedi dopo ...)
Eventualmente con Microsoft Azure ACS
Sicurezza
Il WebAuthenticationBroker è «kitsch» 
Non troppo performante
Querying client-side limitato
Limiti
Demo
Consumare OData
da Windows Store App
È comunque Service Oriented
Service non vuol dire solo SOAP!
Per molte App «veloci» è più semplice
Se non ci sono grandi pretese di protocollo/sicurezza
Possiamo usare gli stessi servizi anche da
HTML5/JavaScript
jQuery
iPad/iPhone/iOS in genere
Android
REST + POX/JSON/RSS/ATOM
Cambiano radicalmente il paradigma e i protocolli
OAuth è lo standard di riferimento
WinRT offre WebAuthenticationBroker
Utile non solo per OAuth, ma perché inventare la ruota ...
Si ragiona in termini di
Repository dati esterno (Facebook, SharePoint 2013, ecc.)
Autenticazione dell’utente
Autenticazione dell’applicazione
Autorizzazione che l’utente concede all’applicazione rispetto al Repository
In scenari web-based è la direzione ormai intrapresa
Sicurezza
Disponibile per side-loaded Windows Store App
A partire da Windows 8.1 Update
Comunicazione con il “desktop” classic
SQL Compact, SQL Express, ecc.
Riuso “estremo” del codice legacy in Windows Store App
Brokered WinRT Component Project Template
http://visualstudiogallery.msdn.microsoft.com/527286e4-b06a-4234-adde-d313c9c3c23e
Brokered WinRT Component
Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei
prossimi giorni
Per contattarmi
paolo@devleap.com
Grazie

Mais conteúdo relacionado

Destaque

Presentación trabajo tics
Presentación trabajo ticsPresentación trabajo tics
Presentación trabajo ticsalonsocr23
 
capacitacion de trabajo p.t.m.
capacitacion de trabajo p.t.m.capacitacion de trabajo p.t.m.
capacitacion de trabajo p.t.m.Christian2782
 
4 5微笑的小蝸牛
4 5微笑的小蝸牛4 5微笑的小蝸牛
4 5微笑的小蝸牛anniet_1214
 
綠黨高雄支黨部懶人包
綠黨高雄支黨部懶人包綠黨高雄支黨部懶人包
綠黨高雄支黨部懶人包Z-da Yang
 
Ventajas y desventajas de las redes sociales
Ventajas y desventajas de las redes socialesVentajas y desventajas de las redes sociales
Ventajas y desventajas de las redes socialesFanitha Sandoval
 
Rendicion gastos sindicato (2014) 1 2
Rendicion gastos sindicato (2014) 1 2Rendicion gastos sindicato (2014) 1 2
Rendicion gastos sindicato (2014) 1 2sindicato02sci
 
Ordin MAI nr.-195-din- 2007 criterii SVSU
Ordin MAI  nr.-195-din- 2007 criterii SVSUOrdin MAI  nr.-195-din- 2007 criterii SVSU
Ordin MAI nr.-195-din- 2007 criterii SVSUomirel
 
Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14
Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14
Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14Muriel Walter
 
Smartphones, tablets & e readers
Smartphones, tablets & e readersSmartphones, tablets & e readers
Smartphones, tablets & e readersGene Vangampelaere
 
3 4小美樂歷險記
3 4小美樂歷險記3 4小美樂歷險記
3 4小美樂歷險記anniet_1214
 
Ordin mai nr.718 din 2005 criterii svsu si spsu
Ordin mai  nr.718 din 2005 criterii svsu si spsuOrdin mai  nr.718 din 2005 criterii svsu si spsu
Ordin mai nr.718 din 2005 criterii svsu si spsuPompierii Români
 

Destaque (20)

Eb 1 lamp - 720402 - kab toli toli 2
Eb 1 lamp - 720402 - kab toli toli 2Eb 1 lamp - 720402 - kab toli toli 2
Eb 1 lamp - 720402 - kab toli toli 2
 
CV for Stores
CV for StoresCV for Stores
CV for Stores
 
Presentación trabajo tics
Presentación trabajo ticsPresentación trabajo tics
Presentación trabajo tics
 
capacitacion de trabajo p.t.m.
capacitacion de trabajo p.t.m.capacitacion de trabajo p.t.m.
capacitacion de trabajo p.t.m.
 
4 5微笑的小蝸牛
4 5微笑的小蝸牛4 5微笑的小蝸牛
4 5微笑的小蝸牛
 
Inf pps
Inf ppsInf pps
Inf pps
 
Valores y misi¢n
Valores y misi¢nValores y misi¢n
Valores y misi¢n
 
綠黨高雄支黨部懶人包
綠黨高雄支黨部懶人包綠黨高雄支黨部懶人包
綠黨高雄支黨部懶人包
 
Ventajas y desventajas de las redes sociales
Ventajas y desventajas de las redes socialesVentajas y desventajas de las redes sociales
Ventajas y desventajas de las redes sociales
 
3 2繪聲繪影
3 2繪聲繪影3 2繪聲繪影
3 2繪聲繪影
 
Rendicion gastos sindicato (2014) 1 2
Rendicion gastos sindicato (2014) 1 2Rendicion gastos sindicato (2014) 1 2
Rendicion gastos sindicato (2014) 1 2
 
Ordin MAI nr.-195-din- 2007 criterii SVSU
Ordin MAI  nr.-195-din- 2007 criterii SVSUOrdin MAI  nr.-195-din- 2007 criterii SVSU
Ordin MAI nr.-195-din- 2007 criterii SVSU
 
Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14
Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14
Ifma debat wim stalpaert_onderwijs-bouwen aan de toekomst_realty_13-05-14
 
Redes - Enrutamiento por Directivas
Redes - Enrutamiento por DirectivasRedes - Enrutamiento por Directivas
Redes - Enrutamiento por Directivas
 
Smartphones, tablets & e readers
Smartphones, tablets & e readersSmartphones, tablets & e readers
Smartphones, tablets & e readers
 
3 4小美樂歷險記
3 4小美樂歷險記3 4小美樂歷險記
3 4小美樂歷險記
 
Expo avances tecnologicos
Expo avances tecnologicosExpo avances tecnologicos
Expo avances tecnologicos
 
Las personas cambian
Las personas cambian Las personas cambian
Las personas cambian
 
Ordin mai nr.718 din 2005 criterii svsu si spsu
Ordin mai  nr.718 din 2005 criterii svsu si spsuOrdin mai  nr.718 din 2005 criterii svsu si spsu
Ordin mai nr.718 din 2005 criterii svsu si spsu
 
Grupo 3
Grupo 3Grupo 3
Grupo 3
 

Semelhante a Win05 accesso ai dati in win 8

Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeomarcocasario
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote ItalyMarco Parenzan
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudDavide Benvegnù
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralMarco Parenzan
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
 
Keynote del phpday 2010
Keynote del phpday 2010Keynote del phpday 2010
Keynote del phpday 2010pietrobr
 
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
 
Sharepoint 2010 JQuery
Sharepoint 2010  JQuerySharepoint 2010  JQuery
Sharepoint 2010 JQueryDecatec
 
Azure Application Insights
Azure Application InsightsAzure Application Insights
Azure Application InsightsKlab
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione webQabiria
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...Marco Parenzan
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseGianluca Hotz
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017Giulio Vian
 

Semelhante a Win05 accesso ai dati in win 8 (20)

Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power bi
Power biPower bi
Power bi
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
Cert02 70-410
Cert02   70-410Cert02   70-410
Cert02 70-410
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
 
DDive - QuickR utilizzarlo ovunque
DDive - QuickR utilizzarlo ovunqueDDive - QuickR utilizzarlo ovunque
DDive - QuickR utilizzarlo ovunque
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloud
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
Keynote del phpday 2010
Keynote del phpday 2010Keynote del phpday 2010
Keynote del phpday 2010
 
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...
 
Sharepoint 2010 JQuery
Sharepoint 2010  JQuerySharepoint 2010  JQuery
Sharepoint 2010 JQuery
 
Azure Application Insights
Azure Application InsightsAzure Application Insights
Azure Application Insights
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione web
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with Polybase
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017
 

Mais de DotNetCampus

ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEDotNetCampus
 
MICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTMICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTDotNetCampus
 
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#DotNetCampus
 
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONSDotNetCampus
 
70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#DotNetCampus
 
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DotNetCampus
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015DotNetCampus
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERDotNetCampus
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATADotNetCampus
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDotNetCampus
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREDotNetCampus
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWDotNetCampus
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICEDotNetCampus
 
SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDDotNetCampus
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!DotNetCampus
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++DotNetCampus
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBDotNetCampus
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSDotNetCampus
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTDotNetCampus
 

Mais de DotNetCampus (20)

ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
 
MICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTMICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOT
 
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
 
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
 
70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#
 
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEW
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICE
 
SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BAND
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUB
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
 
INTRO TO XAMARIN
INTRO TO XAMARININTRO TO XAMARIN
INTRO TO XAMARIN
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
 

Win05 accesso ai dati in win 8

  • 1. Template designed by Accesso ai dati in Windows 8.x Paolo Pialorsi paolo@pialorsi.com http://www.pialorsi.com/blog.aspx
  • 3. Consulente, project manager e trainer dal 1996 Oltre 40 certificazioni Microsoft conseguite Microsoft Certified Solutions Master – SharePoint Focalizzato su .NET e SharePoint dal 2002 Autore di 10 libri su XML, SOAP, .NET, LINQ e SharePoint • Microsoft SharePoint 2013 Developer Reference, Microsoft Press • Build Windows 8 Apps with Microsoft Visual C# and Visual Basic Step by Step, Microsoft Press • Microsoft SharePoint 2010 Developer Reference, Microsoft Press Speaker alle principali conferenze IT Chi sono
  • 4. Partiamo dall’esigenza Sorgenti consumabili a confronto Conclusioni Agenda
  • 6. Quasi ogni applicazione Consuma dati (CRUDQ) Lavora grazie ai dati Svolge operazioni transazionali • Garantendo la consistenza e l’integrità dei dati Ma le Windows Store App e WinRT supportano l’accesso ai database? No! E allora come m*n#*ia faccio?! L’esigenza primordiale
  • 7. Elementi base di Windows Runtime in .NET .NET for Windows 8 Apps BCL HTTP XML Serialization WCF
  • 8. Set di referenze x Windows Store Apps Manca qualcosa?
  • 9. Per esempio ... System.Data.* System.Transactions.* Ok, quindi siamo spacciati?! No! Cosa manca?!
  • 10. Correva l’anno 2000 D.C. e qualcuno  diceva Pensate il vostro software «orientato ai servizi» Prevedete uno strato di presentazione «sottile» Lasciate logiche e dati server-side • Esposti tramite servizi Service Oriented Architecture
  • 11. File locale (XML, CSV, ecc.) SQLite for Windows 8 WCF/SOAP Service OData REST + POX/JSON/RSS/ATOM Azure Service (SOAP/REST) Brokered WinRT Component Sorgenti consumabili
  • 12. Strumenti disponibili Local Storage • Alla rimozione della App i file vengono cancellati User’s folders • Occorre specifica capability e file type declaration • Ma in caso di App Uninstall i file permangono Roaming Storage? • No! Troppo poco spazio (100KB) File locali
  • 13. Demo Usare local storage, user’s folders, and roaming storage
  • 14. http://www.sqlite.org/ È un’opzione possibile Esiste una estensione per Windows Runtime Richiede C++ Serve wrapper .NET (sqlite-net) SQLite per Windows 8
  • 15. Occorre gestire manualmente la sincronizzazione con la parte server Sempre che esista una parte server ... I dati sono sul device dell’utente Va bene per dati di reference Non va bene per dati «business» … come gestiamo BYOD? Non si sposa con l’idea di avere i dati everywhere/on every device A meno di non fare a mano dei meccanismi di resync Va bene comunque per file di dati di piccole dimensioni Non pensate di metterci dentro 1M di clienti e 10M di ordini ... Limiti
  • 16. Demo Usare SQLite da Windows Store App
  • 17. In ottica SOA sono una delle scelte migliori Binding BasicHttpBinding NetTcpBinding NetHttpBinding CustomBinding Serializzatori disponibili DataContractSerializer DataContractJsonSerializer XmlSerializer WCF/SOAP Service
  • 18. Supporta Transport Security (HTTPS/SSL) Transport with Message Credentials Transport Credential Only Sicurezza Client Credentials None Basic Digest Negotiate NTLM Windows Username (Message Security) Windows (Transport Security)
  • 19. Sicurezza integrata da abilitare in AppManifest Richiede «Enterprise authentication» capability Non supporta wsHttpBinding Non supporta wsFederationHttpBinding Non supporta connessioni in entrata WCF Client e non WCF Service Ma abbiamo NetHttpBinding ... Limiti
  • 20. Demo Consumare servizi SOAP da Windows Store App
  • 21. OData = Open Data Protocol www.odata.org OData 4.0 è uno standard OASIS! (News - 17/3/2014) In Windows Store Apps richiede add-on WCF Data Services 5.6.0 RTM Poi si consuma come un normale servizio WCF Add Service Reference ... OData
  • 22. Possiamo usare sicurezza del trasporto HTTP/HTTPS Basic/Digest/Windows Possiamo usare sicurezza ASP.NET Con FBA o WIF in WS-Federation Passive Via WebAuthenticationBroker Possiamo usare OAuth (vedi dopo ...) Eventualmente con Microsoft Azure ACS Sicurezza
  • 23. Il WebAuthenticationBroker è «kitsch»  Non troppo performante Querying client-side limitato Limiti
  • 25. È comunque Service Oriented Service non vuol dire solo SOAP! Per molte App «veloci» è più semplice Se non ci sono grandi pretese di protocollo/sicurezza Possiamo usare gli stessi servizi anche da HTML5/JavaScript jQuery iPad/iPhone/iOS in genere Android REST + POX/JSON/RSS/ATOM
  • 26. Cambiano radicalmente il paradigma e i protocolli OAuth è lo standard di riferimento WinRT offre WebAuthenticationBroker Utile non solo per OAuth, ma perché inventare la ruota ... Si ragiona in termini di Repository dati esterno (Facebook, SharePoint 2013, ecc.) Autenticazione dell’utente Autenticazione dell’applicazione Autorizzazione che l’utente concede all’applicazione rispetto al Repository In scenari web-based è la direzione ormai intrapresa Sicurezza
  • 27. Disponibile per side-loaded Windows Store App A partire da Windows 8.1 Update Comunicazione con il “desktop” classic SQL Compact, SQL Express, ecc. Riuso “estremo” del codice legacy in Windows Store App Brokered WinRT Component Project Template http://visualstudiogallery.msdn.microsoft.com/527286e4-b06a-4234-adde-d313c9c3c23e Brokered WinRT Component
  • 28. Grazie a tutti per la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi paolo@devleap.com Grazie