Condividi tramite


Il presente articolo è stato tradotto automaticamente.

Servizi di integrazione applicativa

Utilizzo di feed OData esterni con Servizi di integrazione applicativa di SharePoint

Eric White

Servizi di connettività di Business Microsoft (BCS) è una funzionalità di Microsoft Office 2010 e 2010 SharePoint che consente agli sviluppatori e agli utenti i dati vengono inseriti in SharePoint. Creazione di superfici esterni dei dati di SharePoint consente agli utenti di creare applicazioni composte che abbiano un accesso migliore alle informazioni critiche e semplificare le interazioni con le informazioni.

BCS fornisce tre meccanismi di base che è possibile utilizzare per importare dati esterni in SharePoint. In primo luogo, è possibile connettersi e utilizzare database tramite query SQL. Per impostazione predefinita, SQL Server è supportato. Con alcune operazioni, è possibile connettere a MySQL, Oracle e altri sistemi di gestione di database.

In secondo luogo, è possibile utilizzare i servizi Web che espongono i metodi che seguono schemi specifici per i prototipi di metodo.

In terzo luogo, è possibile utilizzare Microsoft.NET Framework e c# o Visual Basic il codice per la connessione alle origini dati. L'approccio più comune consiste nello scrivere un.NET Assembly connettore.

In questo articolo viene illustrato il terzo approccio: scrittura di una.NET Assembly Connector che utilizza un protocollo aperto di dati (OData) di alimentazione.

Perché un.NET Assembly connettore?

Con la proliferazione parliamo di feed di OData, è necessario utilizzare uno di questi feed per attivare la funzionalità interessanti per gli utenti. BCS non dispone di una funzionalità incorporata per utilizzare i feed di OData, ma è relativamente facile scrivere un.NET Assembly Connector per effettuare questa operazione.

È inoltre utile per dimostrare come scrivere una.NET Assembly connettore. Un altro approccio può essere la scrittura di un connettore personalizzato per l'utilizzo di un database SQL, ma questo è superfluo perché BCS possono facilmente utilizzare origini dati SQL nella finestra di. Ulteriori per dimostrare la scrittura una.NET Assembly Connector che utilizza un database è necessario installare e configurare il database in modo appropriato. Non è difficile, ma aggiunge alcuni passaggi aggiuntivi e complica l'esempio. Al contrario, scrivere una.NET Assembly Connector che utilizza un OData esistente feed è semplicissimo.

In questo esempio viene anche illustrato come implementare Create, le operazioni di lettura, aggiornamento ed eliminazione (CRUD) utilizzando OData. Si vedrà, si tratta in modo semplice.

Probabilmente si sarà sorprendente vedere esattamente come minimo di codice è necessario scrivere per creare un.NET Assembly Connector che utilizza un feed di OData. Tecnologie di accesso ai dati provengono in maniera significativa e promette di OData di attivare un nuovo livello di interoperabilità tra le applicazioni che consentono di produrre e utilizzare i dati.

Si noti che SharePoint designer è un altro approccio del modello, sviluppare e pubblicare i tipi di contesto esterno BCS. SharePoint Designer supporta in modo nativo creazione modelli di entità aziendali dal database SQL back-end e i servizi Web con struttura di dati relativamente semplice. Utilizzo di SharePoint Designer semplifica e riduce la BCS di lavoro di sviluppo. Tuttavia, non in modalità nativa supporta servizi di OData attualmente.

OData e SharePoint

OData è un protocollo Web per l'esecuzione di query e l'aggiornamento dei dati che si basa su tecnologie Web esistenti, ad esempio HTTP, il protocollo di pubblicazione Atom (AtomPub) e JSON. OData è utilizzato per esporre e accedere alle informazioni da varie fonti, tra cui i database relazionali, file System, sistemi di gestione dei contenuti e siti Web tradizionali. Per una buona introduzione al OData, vedere "Building Rich Internet Apps con the Open Data Protocol" (msdn.microsoft.com/magazine/ff714561), dalla questione del giugno 2010 msdn Magazine. L'articolo è stato scritto da Shane Burgess, uno dei responsabili di programma dei dati e del gruppo di modellizzazione di Microsoft.

SharePoint Foundation 2010 e SharePoint Server 2010 espongono i dati dell'elenco come un OData di alimentazione. Questa funzionalità è attivata per impostazione predefinita. Se si dispone di un sito di SharePoint installato in http://intranet.contoso.com l'URL, è possibile recuperare l'insieme di elenchi di SharePoint per il sito immettendo http://intranet.contoso.com/\_vti\_bin/listdata.svc nel browser in uso.

Se il sito di SharePoint 2010 azienda include la funzionalità sito personale e l'alias è, ad esempio, ericwhite, è possibile visualizzare gli elenchi esposti nel sito personale, immettendo http://my/sites/ericwhite/_vti_bin/listdata.svc nel browser in uso. In entrambi i casi, si vedrà un atomo alimentare come quello di Figura 1 visualizzato nel browser.

OData from a SharePoint List

Figura 1 OData da un elenco di SharePoint

Con il.NET Framework per l'utilizzo di un feed di OData in modo semplice consiste nell'utilizzare i servizi WCF dati. È possibile utilizzare Visual Studio per aggiungere un riferimento al servizio al feed di OData e ambiente di sviluppo integrato genera automaticamente il codice in modo che è possibile utilizzare classi fortemente tipizzate per eseguire query e aggiornare il feed. Descriverò questo processo.

Per ulteriori informazioni su come funziona, vedere WCF Data Services Developer Center (msdn.microsoft.com/data/bb931106), che ha di un principiante guida e collegamenti a risorse.

Guida introduttiva

Come accennato in precedenza, SharePoint 2010 espone i dati dell'elenco come feed di OData. Un modo semplice per accedere ai feed è tramite un.NET Assembly Connector e si verrà dettagliatamente il processo di creazione di tale connettore.

Questo processo verrà creato un tipo di contenuto esterno che è possibile visualizzare e gestire in un elenco esterno. Ciò può sembrare un po' divertente, dopo aver ottenuto l'esempio di utilizzo, è necessario un sito di SharePoint che contiene due elenchi con gli stessi dati. Uno degli elenchi saranno un elenco di SharePoint che consentono di creare e impostare come di consueto. L'elenco sarà un elenco esterno che consente di visualizzare i dati provenienti da OData di alimentazione del primo elenco. Se si aggiungono o si modificano i record in uno degli elenchi, le modifiche vengono visualizzate in altra.

Il vantaggio principale di questo approccio è che è semplice generare ed eseguire l'esempio. Non è necessario installare un'infrastruttura per l'esempio. Tutto ciò che serve è una farm di SharePoint per il quale si dispone dell'accesso di amministratore di farm.

Se non avete già l'infrastruttura, il modo più semplice per eseguire l'esempio è quello di scaricare il 2010 informazioni lavoratore dimostrazione e la macchina virtuale di valutazione (bit.ly/gBKog8). La macchina virtuale o VM, è dotato di una copia di lavoro installati, di 2010 di SharePoint, Visual Studio 2010, 2010 Office e molto più. Nell'esempio viene dimostrato in works in questo articolo senza modifiche in questa macchina virtuale.

Se si dispone di un ambiente di sviluppo SharePoint 2010, è facile da modificare in modo appropriato in questo esempio (è necessario indicare dove man mano che procede). Tuttavia, se chi inizia con lo sviluppo di SharePoint e desiderate provare alcuni esempi, la macchina virtuale è la soluzione ideale.

Il primo passaggio nella creazione di questo esempio è quello di acquisire familiarità con l'utilizzo di OData per manipolare i dati in un elenco di SharePoint. In questo esempio, ci si connette a un sistema di customer relationship management (CRM) espone un elenco di clienti utilizzando OData.

Per prima cosa, creare un elenco di SharePoint che contiene alcuni record che rappresentano i clienti.

  1. Aprire un browser, passare a un sito di SharePoint e creare un elenco personalizzato denominato Customers.
  2. Modificare il nome della colonna del titolo per CustomerID.
  3. Creare una nuova colonna denominata CustomerName, con un tipo di una riga di testo.
  4. Creare una nuova colonna denominata età, con un tipo di numero.
  5. Aggiungere alcuni record.

A questo punto, accedere alla macchina virtuale come administrator e avviare Visual Studio 2010. Creare una nuova applicazione console di Windows. Per la creazione di questi esempi di OData, non è importante se si genera per.NET Framework 4 o.NET Framework 3. 5. Tuttavia, quando si crea il.NET Assembly Connector in un secondo momento, sarà necessario di destinazione.NET Framework 3. 5 perché è l'unica versione attualmente supportata da SharePoint 2010. Per generare le classi con i nomi di buona Visual Studio, denominare questo progetto Contoso.

In questo articolo, mi occuperò di uno spazio dei nomi per OData e BCS.NET Assembly connettori. Esistono specifiche operazioni da eseguire per generare correttamente i nomi e in questo caso, il nome dello spazio dei nomi renderà più significativo se il nome del progetto Contoso.

Dal menu di Visual Studio, fare clic su progetto, quindi fare clic su Aggiungi riferimento al servizio. Immettere l'URL del servizio OData del sito di SharePoint nella finestra di dialogo Aggiungi riferimento al servizio. Se si utilizza la demo VM, l'URL del servizio è http://intranet.contoso.com/\_vti\_bin/listdata.svc.

Se ci si connette a un sito di SharePoint in un URL diverso, sarà necessario modificare l'URL del servizio come appropriato.

Fare clic su Vai. Visual Studio tenterà di accedere al percorso e il download dei metadati dal sito di SharePoint. In caso contrario, visualizzerà il nome del servizio nell'elenco servizi nella finestra di dialogo Aggiungi riferimento al servizio. Poiché si sta simulando un sistema CRM, immettere Crm nel campo dello spazio dei nomi. Fare clic su OK. È interessante esaminare il codice generato. Fare clic sul pulsante Mostra tutti i file nella finestra Esplora soluzioni, quindi espandere lo spazio dei nomi di Crm, espandere Reference.datasvcmap e aprire Reference. cs. Aspetto simile al seguente (commenti rimossi per chiarezza):

namespace Contoso.Crm {
  public partial class TeamSiteDataContext : 
    global::System.Data.Services.Client.DataServiceContext {
    ...

Come è stato assegnato al progetto e spazio dei nomi di riferimento del servizio, lo spazio dei nomi per le classi generate è Contoso.Crm. Il nome completo della classe per l'elenco di clienti è Contoso.Crm.Customers, che ha senso.

Si noti inoltre il nome generato per il contesto dati. In questo caso, è TeamSiteDataContext. Il nome di questa classe generato è basato sul nome del sito di SharePoint che ci si connette. In caso di demo VM, il nome del sito predefinito che si connettono a è il sito del Team. Se l'ambiente è differente, annotare il nome della classe contesto dati in modo che è possibile modificare il codice negli esempi riportati in modo appropriato.

Aprire Program. cs e aggiornarlo con il codice mostrato nella Figura 2. Se non si utilizza la demo VM, modificare di conseguenza l'URL del servizio OData. Compilare ed eseguire il programma per visualizzare i risultati della query. Come si può vedere, non ha una grande quantità di codice per recuperare dati da un elenco utilizzando OData.

Figura 2 aggiornato il codice per Program. cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using Contoso.Crm;

class Program {
  static void Main(string[] args) {
    TeamSiteDataContext dc =
      new TeamSiteDataContext(new Uri(
      "http://intranet.contoso.com/_vti_bin/listdata.svc"));
    dc.Credentials = CredentialCache.DefaultNetworkCredentials;
    var customers = 
      from c in dc.Customers
      select new {
        CustomerID = c.CustomerID,
        CustomerName = c.CustomerName,
        Age = c.Age,
      };
    foreach (var c in customers) 
      Console.WriteLine(c);
  }
}

Operazioni CRUD con OData

A questo punto si proverà a inserimento di un cliente. Il codice necessario creare un nuovo CustomersItem e inizializzare i relativi valori. Quindi chiama il metodo TeamSiteDataContext.AddToCustomers, passando l'oggetto CustomersItem come parametro. Infine, per eseguire il commit delle modifiche sarà richiamata la TeamSiteDataContext.SaveChanges.

In Program. cs, sostituire i clienti variabile dichiarazione e foreach ciclo con il codice riportato di seguito:

CustomersItem cust = new CustomersItem();
  cust.CustomerID = "JANE08";
  cust.CustomerName = "Jane";
  cust.Age = 22;
  dc.AddToCustomers(cust);
  dc.SaveChanges();

Per aggiornare un cliente, verrà interrogare l'elenco di clienti, il recupero del cliente specifico per l'aggiornamento. Quindi aggiornare le proprietà come appropriato. Chiamare il metodo TeamSiteDataContext.UpdateObject. Infine, chiamare TeamSiteDataContext.SaveChanges per eseguire il commit delle modifiche:

CustomersItem cust = dc.Customers
    .Where(c => c.CustomerID == "BOB01")
    .FirstOrDefault();
  if (cust != null) {
    cust.CustomerName = "Robert";
    dc.UpdateObject(cust);
    dc.SaveChanges();
  }

Per eliminare un cliente, eseguire una query nell'elenco di clienti, il recupero del cliente specifico da eliminare. Chiamare il metodo TeamSiteDataContext.DeleteObject. Chiamare TeamSiteDataContext.SaveChanges per eseguire il commit delle modifiche:

CustomersItem cust = dc.Customers
  .Where(c => c.CustomerID == "BILL02")
  .FirstOrDefault();
if (cust != null) {
  dc.DeleteObject(cust);
  dc.SaveChanges();
}

Come si può notare, la modifica di un elenco di SharePoint utilizzando OData è semplice.

Creazione di una.NET Assembly connettore

Il processo di creazione di.NET Assembly Connector, è possibile definire una classe che rappresenta l'entità che è possibile esporre come un tipo di contenuto esterno. In questo esempio, è possibile definire una classe Customer rappresenta un elemento nell'elenco dei clienti. Alcuni metodi, ad esempio il metodo per creare un cliente, utilizzare un'istanza di questa classe come argomento. Altri metodi, ad esempio il metodo per restituire tutti i clienti nell'elenco, restituiscono un insieme di istanze di questa classe.

Inoltre illustrato come configurare un modello BCS viene descritta la classe in un sottolinguaggio XML. L'infrastruttura sottostante BCS verrà utilizzate le informazioni nella definizione XML del modello di BCS in modo che il tipo di contenuto esterno è utilizzabile da entro il 2010 di SharePoint.

Se è presente un punto essenziale tenere lontano da questo articolo, è questo: È necessario apportare al modello corrispondono esattamente l'effettiva classe definita.

Esistono strumenti che consentono di semplificano la definizione di modello BCS corrisponde alla classe effettiva. Tuttavia, il punto fondamentale è tramite un approccio o un'altra, è necessario convalidare attentamente che il modello corrisponde alla classe effettiva.

In un'implementazione tipica di BCS, si sarà definisce molte di queste classi e modellare tutti nella definizione del modello BCS. La maggior parte del lavoro durante l'implementazione di una soluzione complessa di BCS è il modello di uniformare le classi.

A questo punto è opportuno creare il connettore. In questo esempio verrà creato solo in sola lettura.NET Assembly Connector, ma, una volta visto le nozioni di base, dovrebbe essere semplice aggiungere il resto delle funzionalità CRUD.

Download del codice per questo articolo include il codice e il modello di BCS di funzionalità CRUD; può essere utilizzato senza modifiche nella demo VM.

Accedere al computer di sviluppo di SharePoint come amministratore. È necessario disporre dei diritti di amministratore di farm per creare e distribuire una.NET Assembly connettore.

Avviare Visual Studio 2010. Creare un nuovo progetto. Creare una nuova applicazione del modello di SharePoint 2010 Business Data connettività (BDC). Come prima, è necessario assegnare il.NET Framework 3. 5. Denominare il progetto Contoso e fare clic su OK. Anche in questo caso verrà utilizzato il nome del progetto Contoso, che verrà utilizzato per lo spazio dei nomi.

Nella procedura guidata di personalizzazione di SharePoint è possibile immettere un URL del sito locale di un sito di SharePoint per il debug. In questa procedura guidata sulla dimostrazione VM, l'URL è impostata correttamente per impostazione predefinita per http://intranet.contoso.com. Se si lavora con un sito di SharePoint a un indirizzo diverso, modificare questo URL. La procedura guidata consente di sapere che il progetto verrà distribuito come una soluzione della farm. Fare clic su Fine. Un po' di attesa per la procedura guidata per l'esecuzione.

Rinominare i nodi del modello BDC in Esplora soluzioni da BdcModel1 a ContosoBdcModel.

Per aprire il riquadro Esplora BDC (per impostazione predefinita a destra accanto a Esplora soluzioni). Rinominare i tre nodi di BdcModel1 ContosoBdcModel. In Esplora risorse BDC è possibile rinominare direttamente ogni nodo nel controllo della struttura. Al contrario, è necessario selezionare ogni nodo e quindi modificare il nome nel riquadro Proprietà (vedere Figura 3).

Changing Model Names

Figura 3 cambiando i nomi dei modelli

Il passaggio successivo consiste nel rinominare l'entità e specificare l'identificatore per l'entità. Selezionare entità 1 nella finestra di progettazione BDC. Dopo aver selezionato l'entità, è possibile modificare il nome nel riquadro Proprietà. Modificarne il nome ai clienti e modificare lo spazio dei nomi in Contoso.Crm.

Nella finestra di progettazione BDC, fare clic su identificatore1 e modificarne il nome in CustomerID. È inoltre necessario progettare l'entità in Esplora risorse BDC. Questa parte deve essere eseguita con precisione. Se è presente una mancata corrispondenza tra il modello BDC e la classe di effettiva che verranno utilizzati, i risultati sono indefiniti e messaggi di errore non sono sempre illumina. In alcuni casi, l'unico indizio Qual è il problema è che l'elenco di Web Part per il tipo di contenuto esterno non viene caricata.

Espandere i nodi in Esplora risorse BDC fino a quando non è possibile visualizzare il nodo identificatore1 sotto il parametro id del metodo ReadItem. Modificare il nome in CustomerID. Espandere la struttura fino a quando non è possibile visualizzare il nodo entità 1 in returParameter del metodo ReadItem. Modificare il nome dell'entità per i clienti e modificare il nome del tipo Contoso.Crm.Customers, ContosoBdcModel.

Che si desidera ridefinire completamente l'entità cliente, quindi eliminare i nodi identificatore1 e il messaggio da parte dell'entità di clienti.

Pulsante destro del mouse sui clienti e fare clic su Aggiungi descrittore del tipo. Rinominare il nome del nuovo descrittore di tipo ID cliente. Per impostazione predefinita, il tipo di un nuovo descrittore di tipi è impostato su System. String, che è ciò che si desidera che in questo esempio. Nel riquadro delle proprietà, scorrere verso il basso fino a visualizzare il campo dell'identificatore. Utilizzare l'elenco a discesa per modificarne il valore su CustomerID.

Nuovamente, il pulsante destro su clienti e fare clic su Aggiungi descrittore del tipo. Rinominare CustomerName. Il tipo è System. String, che sia corretto.

Aggiungere un altro descrittore del tipo, rinominare in età e modificarne il tipo di System. Int32. Dopo aver fatto queste modifiche, il riquadro Explorer BDC sarà simile a Figura 4. Espandere il nodo ReadList, espandere il nodo returnParameter e rinominare Entity1List in CustomersList. Il nome del tipo viene impostato il seguente:

System.Collections.Generic.IEnumerable`1[[Contoso.BdcModel1.Entity1, ContosoBdcModel]]

The Completed Customers Entity

Figura 4 entità Customers completato

Questa sintassi, costituito l'apice inverso seguita da una rete ('1) è la sintassi che rappresenta una classe generica con un parametro di tipo. Il tipo che segue nelle parentesi quadre doppie è costituito da un tipo completo, nonché il nome del modello di BDC che contiene il tipo di modello. Modificare il nome del tipo a:

System.Collections.Generic.IEnumerable`1[[Contoso.Crm.Customer, ContosoBdcModel]]

Corrisponde a un tipo di IEnumerable <Contoso.Crm.Customer>, in cui il tipo di cliente si trova nel ContosoBdcModel.

Eliminare il nodo di entità 1 è un elemento figlio del nodo CustomersList. Copiare le entità Customers che recentemente è stato configurato come un descrittore di tipi figlio di returnParameter del metodo ReadItem.

Selezionare il nodo CustomersList in returnParameter del metodo ReadList e incollare le entità Customers.

Tornare alla finestra di Esplora soluzioni e modificare il file Feature1.Template.xml. Aggiungere una proprietà SiteUrl con un valore dell'URL del sito di SharePoint:

<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="https://schemas.microsoft.com/sharepoint/">
  <Properties>
    <Property Key="GloballyAvailable" Value="true" />
    <Property Key="SiteUrl" Value="http://intranet.contoso.com" />
  </Properties>
</Feature>

Rinominare Entity1.cs in Customers.cs. Sostituire il contenuto di Customers.cs con il codice riportato di seguito, che definisce l'entità cliente per il connettore di assembly:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Contoso.Crm {
  public partial class Customer {
    public string CustomerID { get; set; }
    public string CustomerName { get; set; }
    public int Age { get; set; }
  }
}

Sostituire il codice in CustomersService.cs con il codice di Figura 5, che definisce i metodi che recupero un singolo elemento e recupero un insieme di elementi.

Figura 5 CustomersService.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using Contoso.Crm;

namespace Contoso.Crm {
  public class CustomersService {
    public static Customer ReadItem(string id) {
      TeamSiteDataContext dc = new TeamSiteDataContext(
        new Uri("http://intranet.contoso.com/_vti_bin/listdata.svc"));
      dc.Credentials = CredentialCache.DefaultNetworkCredentials;
      var customers = 
        from c in dc.Customers
        where c.CustomerID == id
        select new Customer() {
          CustomerID = c.CustomerID,
          CustomerName = c.CustomerName,
          Age = (int)c.Age,
        };
      return customers.FirstOrDefault();
    }

    public static IEnumerable<Customer> ReadList() {
      TeamSiteDataContext dc = new TeamSiteDataContext(
        new Uri("http://intranet.contoso.com/_vti_bin/listdata.svc"));
      dc.Credentials = CredentialCache.DefaultNetworkCredentials;
      var customers = 
        from c in dc.Customers
        select new Customer() {
          CustomerID = c.CustomerID,
          CustomerName = c.CustomerName,
          Age = (int)c.Age,
        };
      return customers;
    }
  }
}

In seguito le procedure descritte all'inizio di questo articolo, aggiungere un riferimento al servizio per il sito, uno spazio dei nomi di Crm. Fare clic su OK. Generare la soluzione facendo clic su generazione | Creazione di Contoso. Distribuire la soluzione facendo clic su generazione | Distribuzione di Contoso.

Assegnare autorizzazioni per tutti gli utenti autenticati di accedere a questo tipo di contenuto esterno. Aprire Amministrazione centrale, quindi fare clic su gestione delle applicazioni di servizio. Fare clic su servizio di connettività dei dati aziendali. Fare clic sulla freccia giù accanto al tipo di contenuto esterno appena aggiunto e quindi fare clic su Imposta autorizzazioni. Fare clic sul pulsante Sfoglia sotto la casella di testo. Fare clic su tutti gli utenti, quindi fare clic su tutti gli utenti autenticati. Fare clic sul pulsante Aggiungi, quindi fare clic su OK.

Nella finestra Imposta autorizzazioni di oggetto, fare clic sul pulsante Aggiungi e quindi impostare autorizzazioni per la modifica, Execute, selezionabili nel client e impostare le autorizzazioni. Fare clic su OK.

Visitare il sito di SharePoint. Creare un nuovo elenco esterno. Specificare CustomersExt per il nome dell'elenco. Fare clic su browser il tipo di contenuto esterno. Nel selettore di tipo di contenuto esterno, fare clic sul tipo di contenuto esterno che appena creato. Se si utilizza la demo VM, il tipo di contenuto che avete appena creato sarà il tipo di contenuto esterno solo nell'elenco. Fare clic su OK.

Fare clic sul pulsante Crea un po' di attesa e, se tutto va bene, si vedrà un nuovo elenco esterno che contiene i dati con l'elenco di clienti.

Se si aggiunge un record per l'elenco normale, vedrai figurino nell'elenco esterno. È possibile riprodurre ai dati un bit. Aggiungere, eliminare o modificare alcuni record nell'elenco SharePoint regolare e visualizzare i dati visualizzati nell'elenco esterno.

Unione dei pezzi

Come si è visto, è abbastanza facile da utilizzare servizi di dati di WCF per eseguire query e modificare un feed di OData. È inoltre un processo semplice per creare un tipo di contenuto esterno tramite una.NET Assembly connettore. È possibile connettersi a qualsiasi origine dati utilizzando una.NET Assembly connettore.

Questo era un semplice esempio che utilizza un'origine dati facilmente accessibile, ma il pattern facilmente esteso a qualsiasi origine dati con un OData di alimentazione. Per ulteriori informazioni sulla personalizzazione di BCS, vedere la pagina MSDN Library "Business connettività servizi how-TOS e Walkthroughs" (msdn.microsoft.com/library/ee557949). C'è anche un tesoro di informazioni sull'OData presso i dati Developer Center di MSDN (msdn.microsoft.com/data/bb931106) e il sito di Open Data Protocol (odata.org).

Eric White è un sviluppatore di software indipendente e autore con 25 anni di esperienza nello sviluppo di applicazioni enterprise su un'ampia gamma di piattaforme. Attualmente è specializzato nelle tecnologie di Microsoft Office, incluso lo sviluppo di client Open XML, SharePoint e Office. Può seguirlo su Twitter a twitter.com/EricWhiteDev o sul suo blog a ericwhite.com/blog.

Grazie ai seguenti esperti tecnici per la revisione di questo articolo: Ying Xiong