win05 accesso ai dati in win 8

28
Template designed by Accesso ai dati in Windows 8.x Paolo Pialorsi [email protected] http://www.pialorsi.com/blog.aspx

Upload: dotnetcampus

Post on 24-May-2015

64 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Win05   accesso ai dati in win 8

Template designed by

Accesso ai dati in Windows 8.x

Paolo [email protected]://www.pialorsi.com/blog.aspx

Page 2: Win05   accesso ai dati in win 8

brought to you by

Page 3: Win05   accesso ai dati in win 8

Consulente, project manager e trainer dal 1996

Oltre 40 certificazioni Microsoft conseguiteMicrosoft 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# andVisual Basic Step by Step, Microsoft Press

• Microsoft SharePoint 2010 Developer Reference, Microsoft Press

Speaker alle principali conferenze IT

Chi sono

Page 4: Win05   accesso ai dati in win 8

Partiamo dall’esigenza

Sorgenti consumabili a confronto

Conclusioni

Agenda

Page 5: Win05   accesso ai dati in win 8

Consumare dati

Page 6: Win05   accesso ai dati in win 8

Quasi ogni applicazioneConsuma 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

Page 7: Win05   accesso ai dati in win 8

Elementi base di Windows Runtime in .NET

.NET for Windows 8 Apps

BCL

HTTP

XML

Serialization

WCF

Page 8: Win05   accesso ai dati in win 8

Set di referenze x Windows Store Apps

Manca qualcosa?

Page 9: Win05   accesso ai dati in win 8

Per esempio ...System.Data.*

System.Transactions.*

Ok, quindi siamo spacciati?!No!

Cosa manca?!

Page 10: Win05   accesso ai dati in win 8

Correva l’anno 2000 D.C. e qualcuno dicevaPensate il vostro software «orientato ai servizi»

Prevedete uno strato di presentazione «sottile»

Lasciate logiche e dati server-side

• Esposti tramite servizi

Service Oriented Architecture

Page 11: Win05   accesso ai dati in win 8

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

Page 12: Win05   accesso ai dati in win 8

Strumenti disponibiliLocal 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

Page 13: Win05   accesso ai dati in win 8

Dem

o Usare local storage, user’s

folders, and roaming

storage

Page 14: Win05   accesso ai dati in win 8

http://www.sqlite.org/

È un’opzione possibile

Esiste una estensione per Windows RuntimeRichiede C++

Serve wrapper .NET (sqlite-net)

SQLite per Windows 8

Page 15: Win05   accesso ai dati in win 8

Occorre gestire manualmente la sincronizzazione con la parte serverSempre che esista una parte server ...

I dati sono sul device dell’utenteVa 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 deviceA meno di non fare a mano dei meccanismi di resync

Va bene comunque per file di dati di piccole dimensioniNon pensate di metterci dentro 1M di clienti e 10M di ordini ...

Limiti

Page 16: Win05   accesso ai dati in win 8

Dem

o Usare SQLite da

Windows Store App

Page 17: Win05   accesso ai dati in win 8

In ottica SOA sono una delle scelte migliori

BindingBasicHttpBinding

NetTcpBinding

NetHttpBinding

CustomBinding

Serializzatori disponibiliDataContractSerializer

DataContractJsonSerializer

XmlSerializer

WCF/SOAP Service

Page 18: Win05   accesso ai dati in win 8

SupportaTransport Security (HTTPS/SSL)

Transport with Message Credentials

Transport Credential Only

Sicurezza

Client CredentialsNone

Basic

Digest

Negotiate

NTLM

Windows

Username (Message Security)

Windows (Transport Security)

Page 19: Win05   accesso ai dati in win 8

Sicurezza integrata da abilitare in AppManifestRichiede «Enterprise authentication» capability

Non supporta wsHttpBinding

Non supporta wsFederationHttpBinding

Non supporta connessioni in entrataWCF Client e non WCF Service

Ma abbiamo NetHttpBinding ...

Limiti

Page 20: Win05   accesso ai dati in win 8

Dem

o Consumare servizi SOAP

da Windows Store App

Page 21: Win05   accesso ai dati in win 8

OData = Open Data Protocolwww.odata.org

OData 4.0 è uno standard OASIS! (News - 17/3/2014)

In Windows Store Apps richiede add-onWCF Data Services 5.6.0 RTM

Poi si consuma come un normale servizio WCFAdd Service Reference ...

OData

Page 22: Win05   accesso ai dati in win 8

Possiamo usare sicurezza del trasportoHTTP/HTTPS

Basic/Digest/Windows

Possiamo usare sicurezza ASP.NETCon FBA o WIF in WS-Federation Passive

Via WebAuthenticationBroker

Possiamo usare OAuth (vedi dopo ...)Eventualmente con Microsoft Azure ACS

Sicurezza

Page 23: Win05   accesso ai dati in win 8

Il WebAuthenticationBroker è «kitsch»

Non troppo performante

Querying client-side limitato

Limiti

Page 24: Win05   accesso ai dati in win 8

Dem

o Consumare OData

da Windows Store App

Page 25: Win05   accesso ai dati in win 8

È comunque Service OrientedService non vuol dire solo SOAP!

Per molte App «veloci» è più sempliceSe non ci sono grandi pretese di protocollo/sicurezza

Possiamo usare gli stessi servizi anche daHTML5/JavaScript

jQuery

iPad/iPhone/iOS in genere

Android

REST + POX/JSON/RSS/ATOM

Page 26: Win05   accesso ai dati in win 8

Cambiano radicalmente il paradigma e i protocolli

OAuth è lo standard di riferimentoWinRT 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

Page 27: Win05   accesso ai dati in win 8

Disponibile per side-loaded Windows Store AppA partire da Windows 8.1 Update

Comunicazione con il “desktop” classicSQL Compact, SQL Express, ecc.

Riuso “estremo” del codice legacy in Windows Store App

Brokered WinRT Component Project Templatehttp://visualstudiogallery.msdn.microsoft.com/527286e4-b06a-4234-adde-d313c9c3c23e

Brokered WinRT Component

Page 28: Win05   accesso ai dati in win 8

Grazie a tutti per la partecipazione

Riceverete il link per il download a slide e demo via email nei prossimi giorni

Per contattarmi

[email protected]

Grazie