12

Sep

Windows Azure Lab – Utilizzo dei DataSet DataMarket da .NET

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ì:

image

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 GetValues()
{
  IEnumerable 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.

by Roberto Freato on 9/12/2011
Post archive