WCFDataServicesinVS2012Salvatore SorrentinoVisual Studio 2012 Day – Napoli
ContattiMail: salvatore.sorrentino@live.comTwitter: csharpNapoliBlog: http://dotnetcampania.org/blogs/salvatore/http://www...
Background•   Laurea e Dottorato in Fisica delle Particelle Elementari•   Fortran 77, C, C++•   Simulazione Montecarlo•   ...
Indice•   Odata (Motivazioni e definizione)•   Costruzione di un WCF Data Service in vs•   Pubblicazione di un servizio•  ...
Information Silo
Data Silos
La diffusione di smartphone e tablet(Fonte CISCO 2011)
Traffico su rete mobile
Non solo video di gatti su Youtube...
Utilizzo (Ottobre 2012)
Quali dispositivi? (Ottobre 2012)
Vendite di Tablet (2012 vs 2011)
There is a vast amount of dataavailable today and data is nowbeing collected and stored at a ratenever seen before. Much, ...
Rompere le catene dei        silos!         Ma come?
Una possibile soluzione è usare un’architettura orientataai servizi (SOA)Windows Communication Foundation (WCF) è un frame...
WCF non è la soluzione• Può essere complicato per certe tecnologie client  consumare correttamente un servizio WCF• Manca ...
WCF non è la soluzione (Parte 2)Non esiste in WCF uno standard per la nomenclaturaDelle operazioni CRUD.Il servizio fornis...
REST (Roy Fielding, 2000)REST (Representational State Transfer) è uno stilearchitetturale per sistemi distribuiti come il ...
REST Illustrato           URL della Risorsa Risorsa                           URL Click                           (State T...
Servizi Web RESTUn servizio Web REST è un servizio web implementato usandoHTTP e i principi di REST. L’insieme di operazio...
REST non bastaQuando eseguiamo un GET, che cosa ci viene restituito? Un xmlnudo e crudo? Un xml più strutturato? Un testo ...
AtomPub
Json (application/json)JSON (Javascript Object Notation è uno standard text-based perlo scambio di dati. Nasce da Javascri...
REST + AtomPub + Json non bastanoAtomPub è un bel passo avanti ma ha un problema: non siinteressa per nulla di quali dati ...
Modellazione di un ServizioCosì come usiamo un ORM per mappare oggetti a tabelle di undatabase, vogliamo che una chiamata ...
Cosa manca???Non vogliamo solo il CRUD e la modellazione. Un client ha bisognodi manipolare un modello sotto forma di coll...
Open DataProtocolAccesso alle entitàEntity-Set                 /filmsEntità Singola             /films(1)Accesso alle prop...
Semantica URIOrdinamento           /films?$orderby=titoloFiltraggio            /films?$filter=anno gt 2007Paging          ...
Semantica URI (FilterExpressions)
Semantica URI (FilterMethods)
Catalogo OData Netflixhttp://odata.netflix.com/Catalog/
SDK OData: http://www.odata.org/libraries
WCF Data Services v5.0 Già ADO.NET Data ServicesCodename AstoriaProvider Odata per il framework .NET
Demo!!!
Demo: CreazioneServizio• Creazione WCF Data Service• Pubblicazione IIS Locale• Pubblicazione su Azure
Demo: Excel
Demo: LinqPad
Demo: non puòmancare unaconsoleapplication!
Demo: Consumo    in pagine web    con Jquery,    DataJs•   Accesso via Jquery http://odatatoto.azurewebsites.net/Indice.ht...
Demo: WPF
Windows Phone
Advanced TopicsLe funzionalità di query $filter, $orderby, $top e $skipSono completamente supportate in ASP.NET Web Api
Advanced Topics
Advanced Topics
Conclusioni• OData e WCF Data Services ci aiutano a consumare i  nostri dati su un gran numero di dispositivi (mobili e no...
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered tr...
Wcf data services
Wcf data services
Upcoming SlideShare
Loading in …5
×

Wcf data services

593 views

Published on

WCF Data Services is the Microsoft implementation of OData protocol.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
593
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Un “Information Silo“ è un Sistema le cui particostituentisonoincapaci di comunicare e scambiarsiinformazioni.
  • Un “Information Silo“ è un Sistema le cui particostituentisonoincapaci di comunicare e scambiarsiinformazioni.
  • Un “Information Silo“ è un Sistema le cui particostituentisonoincapaci di comunicare e scambiarsiinformazioni.
  • Un “Information Silo“ è un Sistema le cui particostituentisonoincapaci di comunicare e scambiarsiinformazioni.
  • Dal concetto di Information Silo deriviamoquello di Data Silo. Reparti, compartimenti ma ancheapplicazioni diverse sviluppate in unastessaaziendacheutilizzanociascunoilproprio database al costo di creareripetizioni e causareinconsistenzepur di non comunicare.
  • La difesa estrema del dato!E’ un atteggiamento comprensibile: i dati sono la più grande ricchezza di un’azienda (soprattutto se privata!)
  • L’invasione dei dispositivi!!!
  • Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2011–2016
  • Wcf data services

    1. 1. WCFDataServicesinVS2012Salvatore SorrentinoVisual Studio 2012 Day – Napoli
    2. 2. ContattiMail: salvatore.sorrentino@live.comTwitter: csharpNapoliBlog: http://dotnetcampania.org/blogs/salvatore/http://www.scoop.it/t/it-s-a-strange-world
    3. 3. Background• Laurea e Dottorato in Fisica delle Particelle Elementari• Fortran 77, C, C++• Simulazione Montecarlo• Passaggio al Mondo Microsoft: 1999• Uso di Visual Studio: dal 1999 (senza interruzioni)• Adozione del .NET Framework (dalla versione 2.0)• Lavoratore Autonomo dal 2009 (consulenze in rock e serie tv!)• Socio DotNetCampania dal 2011
    4. 4. Indice• Odata (Motivazioni e definizione)• Costruzione di un WCF Data Service in vs• Pubblicazione di un servizio• Consumo di un servizio (Tante demo!)
    5. 5. Information Silo
    6. 6. Data Silos
    7. 7. La diffusione di smartphone e tablet(Fonte CISCO 2011)
    8. 8. Traffico su rete mobile
    9. 9. Non solo video di gatti su Youtube...
    10. 10. Utilizzo (Ottobre 2012)
    11. 11. Quali dispositivi? (Ottobre 2012)
    12. 12. Vendite di Tablet (2012 vs 2011)
    13. 13. There is a vast amount of dataavailable today and data is nowbeing collected and stored at a ratenever seen before. Much, if notmost, of this data however is lockedinto specific applications or formatsand difficult to access or to integrateinto new uses.”
    14. 14. Rompere le catene dei silos! Ma come?
    15. 15. Una possibile soluzione è usare un’architettura orientataai servizi (SOA)Windows Communication Foundation (WCF) è un frameworkmaturo, ideale nella realizzazione di soluzioni Enterprise ma....non è il prodotto ideale per realizzare il nostro sogno.
    16. 16. WCF non è la soluzione• Può essere complicato per certe tecnologie client consumare correttamente un servizio WCF• Manca uno standard nella definizione dei metodi/ funzioni / operazioni del servizio InserisciLibroPerCategoriaPerSezionePesoEFaseLunare( int parametro1, int parametro2, int parametro3, string parametro4)
    17. 17. WCF non è la soluzione (Parte 2)Non esiste in WCF uno standard per la nomenclaturaDelle operazioni CRUD.Il servizio fornisce un .wsdl e si aspetta che il clientcrei oggetti proxy in grado di interpretare tutte lebizzarrie usate nella costruzione del servizio
    18. 18. REST (Roy Fielding, 2000)REST (Representational State Transfer) è uno stilearchitetturale per sistemi distribuiti come il World Wide WebEsistono risorse (fonti di informazione) a cui si può accederetramite un identificatore globale (URI)Per utilizzare le risorse, le componenti di una rete comunicanoattraverso un’interfaccia standard (ad esempio HTTP) e si scambianoRAPPRESENTAZIONI di queste risorse (documenti)
    19. 19. REST Illustrato URL della Risorsa Risorsa URL Click (State Transfer)Rappresentazione
    20. 20. Servizi Web RESTUn servizio Web REST è un servizio web implementato usandoHTTP e i principi di REST. L’insieme di operazioni supportate dalservizio utilizza i metodi HTTP (GET, PUT , POST, DELETE)Con REST garantiamo l’uniformità del protocollo riguardo leoperazioni CRUD
    21. 21. REST non bastaQuando eseguiamo un GET, che cosa ci viene restituito? Un xmlnudo e crudo? Un xml più strutturato? Un testo ASCII?Concordare un formato è un grande passo avanti per arrivareall’interoperabilità dei sistemi.Microsoft, nella definizione del protocollo Odata, ha adottato l’usodi AtomPub e Json come content types trasmessi in rete.
    22. 22. AtomPub
    23. 23. Json (application/json)JSON (Javascript Object Notation è uno standard text-based perlo scambio di dati. Nasce da Javascript per rappresentare strutturedati semplici e array, chiamati objects.
    24. 24. REST + AtomPub + Json non bastanoAtomPub è un bel passo avanti ma ha un problema: non siinteressa per nulla di quali dati siano contenuti nei suoi campi.Un’applicazione client potrebbe avere difficoltà a trattare in manierauniforme un documento AtomPub. Ossia...Capire che un documento AtomPub rappresenta una entità!!
    25. 25. Modellazione di un ServizioCosì come usiamo un ORM per mappare oggetti a tabelle di undatabase, vogliamo che una chiamata REST possa restituirci unarappresentazione delle nostre entità business.http://www.squadredicalcio.it/squadreDove il formato AtomPub ci restituisca i campi che costituisconoL’entità squadrehttp://odatatoto.azurewebsites.net/totodataservice.svc/$metadata
    26. 26. Cosa manca???Non vogliamo solo il CRUD e la modellazione. Un client ha bisognodi manipolare un modello sotto forma di collezioni, filtraggio ecollegamenti tra entità.In WCF avremmo scritto uno o, meglio, tanti metodi per filtrare idati.La manipolazione dei dati deve essere anch’essa standardizzata.Il protocollo Odata quindi estende Rest + Atom Pub adottando lasemantica URI$filter, $orderby, $skip, $top
    27. 27. Open DataProtocolAccesso alle entitàEntity-Set /filmsEntità Singola /films(1)Accesso alle proprietà /films(1)/titoloEntità collegate /films(1)/attoriEntità collegata singola /films(1)/attori(1)Accesso alle proprietà /films(1)/attori(1)/nome
    28. 28. Semantica URIOrdinamento /films?$orderby=titoloFiltraggio /films?$filter=anno gt 2007Paging /films?$top=10Selezione Proprietà /films?$select=titolo,annoCount /films?$countFormato (xml, json) /films?$format=json
    29. 29. Semantica URI (FilterExpressions)
    30. 30. Semantica URI (FilterMethods)
    31. 31. Catalogo OData Netflixhttp://odata.netflix.com/Catalog/
    32. 32. SDK OData: http://www.odata.org/libraries
    33. 33. WCF Data Services v5.0 Già ADO.NET Data ServicesCodename AstoriaProvider Odata per il framework .NET
    34. 34. Demo!!!
    35. 35. Demo: CreazioneServizio• Creazione WCF Data Service• Pubblicazione IIS Locale• Pubblicazione su Azure
    36. 36. Demo: Excel
    37. 37. Demo: LinqPad
    38. 38. Demo: non puòmancare unaconsoleapplication!
    39. 39. Demo: Consumo in pagine web con Jquery, DataJs• Accesso via Jquery http://odatatoto.azurewebsites.net/Indice.html• Accesso via DataJs http://odatatoto.azurewebsites.net/LeggiDati.html• Aggiunta Record http://odatatoto.azurewebsites.net/aggiungi.html• Master Details http://odatatoto.azurewebsites.net/Masterdetails.html
    40. 40. Demo: WPF
    41. 41. Windows Phone
    42. 42. Advanced TopicsLe funzionalità di query $filter, $orderby, $top e $skipSono completamente supportate in ASP.NET Web Api
    43. 43. Advanced Topics
    44. 44. Advanced Topics
    45. 45. Conclusioni• OData e WCF Data Services ci aiutano a consumare i nostri dati su un gran numero di dispositivi (mobili e non)• Il protocollo Odata ha vinto una grande battaglia nel momento in cui è stato completamente supportato nelle Web Api di ASP.NET• Liberate i vostri dati!
    46. 46. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on thepart of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

    ×