Condividi tramite


Il presente articolo è stato tradotto automaticamente.

Windows Azure Marketplace DataMarket

Introduzione di DataMarket

Elisa Flasko

Windows Azure Marketplace DataMarket, che prima era annunciato come nome di codice di Microsoft Project “ Roma ” nella PDC09, modifica la modalità di scambio di informazioni, offrendo una vasta gamma di contenuti da origini autorevoli commerciali e pubbliche in un mercato unico. Questo rende più semplice trovare e acquistare i dati che necessari per le applicazioni e l'analisi di alimentazione.

Se voglia sviluppando un'applicazione per identificare e pianificare si interrompe per un viaggio di viaggio, è necessario una grande quantità di dati provenienti da origini diverse. L'applicazione potrebbe chiedere prima di immettere una destinazione finale e qualsiasi interruzione che vorrebbe rendere lungo il percorso. Potrebbe estrarre la posizione GPS corrente o chiedere all'utente una posizione iniziale di input e utilizzare questi percorsi per mappare la route migliore per il viaggio di andata e ritorno. Dopo l'applicazione associata al viaggio, potrebbe raggiungere Facebook e identificare gli amici che vive lungo la route che se si desidera visitare. Potrebbero estrarre le previsioni meteo per città che sono state identificate come si interrompe, nonché di identificare i punti di interesse, stazioni di gas e ristoranti come potenziali punti lungo il percorso.

Prima DataMarket, sarebbe stata avevo innanzitutto individuare le origini per i diversi tipi di dati che necessari per l'applicazione. Che potrebbe richiedere numerose aziende ’ siti Web per determinare se non dispone di dati desiderato e o meno offrono per la vendita di un pacchetto e un prezzo che soddisfi le esigenze. Quindi sarebbe stato dovevo acquistare i dati direttamente da ciascuna società. Ad esempio, è possibile sono andato direttamente a una società, ad esempio Infogroup acquistare i dati di attivazione di identificare i punti di interesse, stazioni di gas e ristoranti lungo la route;Per una società, ad esempio NavTeq per rapporti traffico corrente;e a una società, ad esempio Weather centrale per le previsioni meteorologiche. È probabile che ognuna di queste società dovrebbe fornire i dati in un formato diverso, alcuni inviando me un DVD, altri utenti tramite un servizio Web, foglio di calcolo di Excel e così via.

Oggi, con DataMarket, creare questa applicazione diventa molto più semplice. DataMarket offre un'unica posizione, ovvero un mercato per i dati, in cui è possibile cercare, esplorare, provare e acquistare i dati è necessario sviluppare l'applicazione. Fornisce inoltre i dati tramite un'interfaccia uniforme 
in un formato standard (OData, vedere OData.org per ulteriori informazioni). Esponendo i dati come OData DataMarket garantisce sono in grado di accedere in qualsiasi piattaforma (minimo, tutto ciò serve è uno stack HTTP) e da una qualsiasi delle numerose applicazioni che supportano OData, incluse le applicazioni quali Microsoft PowerPivot per Excel 2010, che supporta nativamente OData.

DataMarket fornisce un mercato unico per vari provider di contenuti rendere i dati disponibili per la vendita tramite un numero di prodotti diversi (ogni offerta potrebbe rendere disponibile un sottoinsieme diverso o la visualizzazione dei dati o rendere disponibili con diverse condizioni di utilizzo dei dati). Contenuto provider specificare i dettagli del loro offerte, incluse le condizioni che determinano un acquisto, il modello di determinazione dei prezzi (nella versione 1 offerte vengono resi disponibili tramite una sottoscrizione mensile) e il prezzo.

Introduzione a DataMarket

Per iniziare, è possibile registrare su DataMarket utilizzando il Windows Live ID e accedere al sito. Da qui, posso eseguire una ricerca mediante i DataSet attualmente disponibili sul sito, visualizzare i dettagli di ogni (descrizione, prezzo, effetti grafici, termini di utilizzo e così via) per stabilire gli editori di inviare il tipo di dati sono cercando e che offre risultati ottimali esigenze personali.

Anche se è necessario trovare un dataset che soddisfi i requisiti tecnici dell'applicazione, è importante anche verificare che le condizioni di utilizzo stabilite dall'editore consentano i dati da utilizzare nel modo richiesto dall'applicazione. Condizioni di utilizzo possono variare notevolmente tra DataSet e tra editori. È possibile visualizzare i termini di utilizzo di un dataset specifico all'interno dei dettagli dell'offerta.

Dopo digging intorno un po' ho trovato che il servizio di Database Business Infogroup simile potrebbe essere interessante per la mia applicazione di andata e ritorno di strada. Dopo l'analisi effetti grafici disponibili dei dati (un esempio dei dati in formato tabella o in alcuni casi una visualizzazione dei dati in una mappa o in un grafico), sembra deve fornire me con punti di interesse inclusi alberghi, ristoranti e stazioni di gas lungo la route e devono soddisfare i requisiti. Dopo che ho stabilito quali DataSet esigenze personali, scegliere di acquistare un abbonamento mensile al servizio, consentendo di un numero illimitato di query del servizio al mese e può semplicemente il pagamento con carta di credito. Dopo che ho acquistato qualcosa, è possibile gestire account e visualizzare tutte le sottoscrizioni correnti nella sezione account di Marketplace. La sezione account può essere utilizzata anche per creare e gestire chiavi di account, che consente di accedere alle sottoscrizioni personali. Quando si accede ai dati da un'applicazione, ad esempio PowerPivot, è necessario fornire la chiave account. Analogamente, quando si sviluppa un'applicazione, verranno autenticati con una chiave di account.

Dopo che ho acquistato dati offerta, DataMarket include Esplora un servizio, come visto in Figura 1 , che consente di esplorare un dataset creando query e visualizzare in anteprima i risultati, efficacemente saperne di più sui dati e lo schema ogni dataset rende disponibili.

image: DataMarket Service Explorer

Figura 1 Service DataMarket Explorer

Se si apre il servizio Database Business Infogroup in Explorer del servizio, è possibile creare query per filtrare, città, stato e CAP per individuare le posizioni lungo la route pianificata. Ad esempio, se si specifica Roma come città e WA lo stato e fare clic su “ Execute query ”, viene nuovamente visualizzato un'anteprima, compresi i primi 100 risultati dal servizio. Posso vedere dall'anteprima che vi sia un Hotel Westin di Seattle opportuno dell'applicazione da includere nell'elenco dei punti. Per impostazione predefinita, facendo clic su Anteprima, i risultati visualizzati sul lato destro di Esplora risorse in un formato tabulare base per facilitare la lettura. Ma è anche possibile visualizzare il formato OData Atom utilizzerà nella mia applicazione destra presenti nel servizio Explorer o visualizzazione dati non elaborati nello stesso formato originariamente fornito da Infogroup.

Se non era uno sviluppatore o se non era il mio obiettivo per creare un'applicazione con i dati, ma piuttosto semplicemente inserire i dati in uno strumento esistente che comprenda OData — ad esempio PowerPivot per Excel 2010, potrebbe anche fare che direttamente da DataMarket semplicemente, firma mio elenco di sottoscrizioni correnti e facendo clic sull'offerta di dati. Da qui verrà assegnato l'opzione per aprire i dati offerta nell'applicazione del mia scelta. (Per ulteriori informazioni sull'utilizzo di DataMarket con PowerPivot, incluse un'esercitazione dettagliata, assicurarsi di estrarre il blog del team DataMarket in blogs.msdn.com/b/dallas .)

Utilizzo di OData

Si precedentemente creato un'applicazione che utilizza i dati da un servizio OData? Se la risposta è Sì, si è già anche sul modo per l'utilizzo dei dati da DataMarket nell'applicazione, poiché la maggior parte dei servizi DataMarket esposte tramite OData. Verrà rapidamente passare attraverso le nozioni fondamentali di consumare OData.

Se iniziare con un'applicazione esistente e si sta semplicemente aggiungendo nuove funzionalità che utilizzano dati da DataMarket o se sta creando una nuova applicazione da zero, il primo passaggio per l'estrazione di dati da un servizio DataMarket in consiste nel definire le classi che verrà utilizzato per rappresentare i dati nell'applicazione. È possibile farlo tramite codifica personale classi Plain Old C# Object (POCO) o mediante la creazione guidata Reference Service in Visual Studio per generare le classi necessarie.

Come descritto in precedenza, l'editore (il proprietario dei dati) specifica come di esporre i dati per ciascun set di dati e i termini di utilizzo dettatura come possono essere utilizzati i dati dopo l'acquisto. Questo include specificando come o se un utente può creare query ad hoc in un dataset, quali i campi utente possibile eseguire una query per recuperare i dati e i campi che vengono restituiti. In alcuni casi, un autore può specificare che gli utenti non possono creare query ad hoc e devono utilizzare i metodi Web per richiedere i dati dal servizio. Lo sviluppatore prima di iniziare a scrivere un'applicazione, è necessario esaminare il documento Atom Service per una particolare offerta determinare se l'offerta espone tutti i set di entità per query. È possibile eseguire questa operazione scegliendo il browser principale URI di un'offerta. Se il documento di servizio non contiene tutte le raccolte, l'offerta non espone insiemi di entità per query e sarà necessario per l'accesso mediante i dataset fissa i metodi Web. Ad esempio, let’s esaminare i documenti Atom Service per due DataSet separato, che espone un set di entità per query (Data.Gov Crime dati) e uno che non consente query affatto (dati AP). Osservare negli esempi di codice seguenti che l'offerta di AP non ha nessun <collection>nodi (che rappresentano insiemi di entità esposto) del documento di assistenza.

Ecco un documento Atom Service per l'offerta di dati Data.gov Crime, che espone il set di entità per la query. Questa particolare offerta espone un insieme di entità singola CityCrime:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<service xml:base=
  "https://api.datamarket.azure.com/Data.ashx/data.gov/Crimes"  
  xmlns:atom=
  "http://www.w3.org/2005/Atom" 
  xmlns:app="http://www.w3.org/2007/app" 
  xmlns="http://www.w3.org/2007/app">
 <workspace>
   <atom:title>Default</atom:title> 
   <collection href="CityCrime">
     <atom:title>CityCrime</atom:title> 
   </collection>
 </workspace>
</service>

Ecco un documento Atom Service per l'offerta di AP, non consente query ad hoc:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<service xml:base=
  "https://api.datamarket.azure.com/Data.ashx/data.gov/Crimes" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:app="http://www.w3.org/2007/app" 
  xmlns="http://www.w3.org/2007/app">
 <workspace>
   <atom:title>Default</atom:title> 
 </workspace>
</service>

Se il dataset che si utilizza espone insiemi di entità per query, posso utilizzare Aggiungi riferimento al servizio in Visual Studio, come procedere per un servizio Windows Communication Foundation (WCF). Ho semplicemente fare doppio clic sul progetto e scegliere Aggiungi riferimento al servizio. Nella finestra di dialogo Aggiungi riferimento al servizio è necessario immettere l'URI per il punto di ingresso del servizio (ottenere questo dalla pagina Service Explorer in DataMarket) come l'indirizzo e scegliere OK.

Se il dataset che si sta utilizzando non consente query ad hoc, tuttavia, non è possibile utilizzare Aggiungi riferimento al servizio. In questo caso, è possibile codice personale classi POCO che rappresentano entità (o oggetti) restituito dai metodi Web fissi che viene chiamata. DataMarket utilizza l'autenticazione di base, passando un Windows Live ID come il nome utente e un account associato DataMarket chiave field.For password lo scopo dell'esempio di applicazione console (vedere di Figura 2), Aggiungi riferimento al servizio utilizzato in Visual Studio per generare le classi. In Visual Studio verrà accesso al servizio e generare le classi associate in base alla definizione del servizio dati e aggiungerli al progetto. Dopo che sono state generate le classi, è possibile continuare a sviluppare l'applicazione nello stesso modo in cui che sarebbe qualsiasi applicazione che utilizza un servizio OData, utilizzando l'autenticazione di base o Audit Collection Services per l'autenticazione con il servizio. Nell'esempio di Figura 2 imposta una semplice applicazione console utilizzando l'autenticazione di base.

Figura 2 di applicazione console semplice di un accesso a un servizio dati e risultati di stampa

public class Program
  {
       
    static void Main(string[] args)
    {
        GetCityCrime X = new GetCityCrime();
        IList<CityCrime> stats = X.getStats();
        foreach (CityCrime c in stats)
        {
            Console.WriteLine(c.City + " : " + c.AggravatedAssault);
        }
        Console.ReadLine();
    }               
  }
  public class GetCityCrime
  {
    Uri serviceUri;
    datagovCrimesContainer context;
    public GetCityCrime()
    {
      serviceUri = 
        new Uri("https://api.datamarket.azure.com/Data.ashx/data.gov/Crimes");
      context = new datagovCrimesContainer(serviceUri);
      context.Credentials = new NetworkCredential(" ", "
        <my account key as copied from DataMarket>");
    }
    public IList<CityCrime> getStats()
    {
      IEnumerable<CityCrime> query; 
       query = from c in context.CityCrime
             where c.State == "Alaska"
             select c;
       return query.ToList();
    }
  }

Nota: Per eseguire il codice di esempio inFigura 2*, è necessario registrarsi come cliente DataMarket e sottoscrivere l'offerta Data.Gov Crime statistiche. Si noti che l'URI utilizzato in questo esempio si riferisce anche a una preliminare alla versione di produzione del servizio;è possibile trovare l'URI registrazione in DataMarket, passando ai DataSet locale e l'accesso dell'abbonamento per le statistiche di Crime Data.gov offerta.*

Per ulteriori informazioni sulla scrittura di applicazioni che utilizzano servizi dati, estrarre “ Entity Framework 4.0 e WCF Data Services 4.0 in Visual Studio 2010 ” (msdn.microsoft.com/magazine/ee336128 ) e “ esporre e utilizzare dati in un Web Services World ” (msdn.microsoft.com/magazine/cc748663 ).

Dati di vendita su DataMarket

Molti siti Web e applicazioni comuni generare, memorizzare e richiedono grandi quantità di dati importanti. Ma in genere i dati viene utilizzati solo all'interno dell'applicazione per cui è stato creato. Con l'introduzione di WCF Data Services e OData era un modo semplice per gli sviluppatori espongono i dati per l'utilizzo più ampio, offrendo una piattaforma di servizi dati e semplificare i dati da utilizzare non solo all'interno dell'applicazione inizialmente previsto, ma all'interno di applicazioni di terze parti. Ora, con DataMarket, è una semplice possibilità per gli sviluppatori non solo esporre dati alle applicazioni generazione, ma anche per generare profitti dalla vendita di dati cui sta già richiesto per memorizzare e gestire.

DataMarket si basa su Windows Azure e SQL Azure e consente di editori creare DataSet per i dati che sono host in SQL Azure. Se i dati già memorizzati in SQL Azure, ho anche sul mio modo per poter offrire dati di vendita in DataMarket. Per ulteriori informazioni su come diventare un editore DataMarket, estrarre blogs.msdn.com/b/dallas .

Elisa Flasko è un program manager nel team Windows Azure Marketplace DataMarket presso Microsoft. Può essere raggiunto in blogs.msdn.com/elisaj .

Grazie ai seguenti esperti tecnici per la revisione di questo articolo: Rene Bouw, più Khosravye di Adam Wilson