Sono un Trainer MCT e Consulente IT freelancer; particolarmente sensibile alle tematiche Mobile e Cloud, sono attivo nel mondo Community soprattutto su Windows Azure e Windows Phone. Mi è stato riconosciuto l’MVP per due anni consecutivi e sono pluricertificato su diversi vendor (MS, Sun, Apple, Cisco, IBM).
La procedura necessaria per utilizzare dei dati sottoscritti nel DataMarket è banale e riprende concetti già visti per chi abbia un minimo di conoscenza di ADO.NET/WCF Data Services/Astoria. Riprendendo l’ultimo post e effettuata la sottoscrizione ad un qualsiasi DataSet, è necessario copiare l’URL della root del servizio a aggiungerlo come service reference ad un qualsiasi progetto in Visual Studio (da .NET 3.5SP1 in poi). Visual Studio riconoscerà un Data Service e creerà il proxy del servizio, a cui dovremo solo aggiungere a runtime le informazioni di autenticazione.
Se quindi aggiungeremo il servizio così:
Avremo bisogno di una classe che istanzi il contesto, passandogli l’URL attuale e le NetworkCredentials (user-id + account-key):
public UNGenderData() { serviceUri = new Uri("{replace-with-dataset-url}"); context = new UnitedNationsGenderInfo2007Container(serviceUri); context.Credentials = new NetworkCredential("{replace-with-your-user-id}", "{replace-with-your-key}"); } Infine dovremo solo interrogare l’oggetto “context” (in questo esempio), come siamo abituati a fare con DataServices, e avremo i risultati dal cloud:
public IList<Values> GetValues() { IEnumerable<Values> query; query = from value in context.Values where value.CountryName == "Argentina" select value; try { return query.ToList(); } catch (Exception ex) { Console.WriteLine("Error: {0}", ex.Message); return null; } }
Le applicazioni potenziali di un sistema di delivery del genere di dati sono illimitate e anche la stessa fornitura degli stessi è un business potenziale per un nuovo mercato emergente. Sebbene infatti si teorizzasse qualche anno fa di sistemi dinamicamente componibili in dati e funzionalità, tramite SOA, oggi grazie ad infrastrutture del genere è realmente uno scenario disponibile per il business e anche monetizzabile in ottica Marketplace.