Este artigo foi traduzido por máquina.

Colaboração em nuvem

Conectando o SharePoint ao Windows Azure com as Web Parts do Silverlight

Steve Fox

Microsoft SharePoint 2010 está aproveitando praise deserved de muito como uma plataforma de desenvolvedores sólida. Aumentado com novos serviços, as APIs, programação de dados e suporte a interface do usuário através da estrutura da caixa de diálogo e o Silverlight, há várias opções para os desenvolvedores realmente seus dentes de coletor para essa plataforma evoluída.

Com o crescente interesse na nuvem de computação, no entanto, cada vez mais recebo perguntas sobre como os desenvolvedores podem integrar seus aplicativos do SharePoint com tecnologias de nuvem. Como uma plataforma, muitos dos recursos mencionados anteriormente podem ser integrados ao Windows Azure de alguma forma. Além disso, você pode integrar o SharePoint com a nuvem através de um host de outras tecnologias, como OData, REST, APIs de sociais Web 2. 0 para aplicativos como o Twitter Facebook e, é claro que, por meio de uma arquitetura orientada a serviços usando serviços SOAP ou o Windows Communication Foundation (WCF).

Sabendo que ampla integração é possível entre a nuvem e SharePoint, neste artigo, explorarei alguns pontos específicos de integração entre o SharePoint e Azure do Windows. Ao longo do caminho apresentarei as etapas para a criação de integração do primeira.

Conceitos básicos de plataforma

A plataforma Windows Azure é composta de três partes. Primeiro, o Windows Azure próprio fornece dados e funcionalidades de gerenciamento. Em segundo lugar, o SQL Azure fornece dados altamente disponíveis e transacionais na nuvem. Em terceiro lugar, o Windows Azure AppFabric fornece um barramento de serviço para cenários de chamada de serviço mais avançado e direto.

Usando o Windows Azure, você pode oferecer suporte a vários tipos diferentes de integração. Por exemplo, você pode criar e implantar um serviço WCF na nuvem e integrar esse serviço no SharePoint. Ou você pode consumir dados de Windows Azure, modelagem de dados dentro do SharePoint. Além disso, você pode usar o barramento de serviços Windows Azure AppFabric para gerar os cenários mais complexos de serviço que se conectar on-line do SharePoint com o SharePoint premissas.

Com qualquer integração, você precisa entender as possibilidades. A Figura 1 fornece um ponto de partida, listando as diferentes maneiras nas quais você pode integrar o SharePoint com o Windows Azure. Esta tabela é específica do SharePoint 2010 e algumas destas opções exigem codificação mais que outros.

Figura 1 do Pontos de integração Common

Integração Azure Como
Cliente SharePoint 
Object modelo Interagir com o Windows Azure dados em uma lista.
Conectividade de negócios 
Services (BCS) Modelo de dados do Windows Azure ou construir a lista externa ao SQL Azure.
Silverlight Crie a interface do usuário em relação a serviços do Windows Azure ou dados.
No modo seguro soluções/
SharePoint on-line Aplicativo do Silverlight aproveitando Azure do Windows implantados para o conjunto de sites.
Cliente do Office personalizado Consuma dados diretamente do Windows Azure ou BCS lista exposição de dados.
Peças de 
Web padrão/Visual Utilize os serviços e dados a partir do Windows Azure.
XML aberto Gerencie dados Azure do Windows em um documento.
RESTANTE Use o REST para interagir com os dados do Windows Azure para integrar ao SharePoint.
Serviços de servidor do Office Combine com o Open XML para documentos de geração automática (por exemplo, PDFs) em um servidor.
Fluxo de trabalho/
Event Receivers Estado ou eventos que ligar para serviços Windows Azure, fluxos de trabalho ou dados.
LINQ Use para consultar os objetos de dados Windows Azure.
Pesquisar Agrupe a pesquisa para incluir dados Azure do Windows.

Qualquer que seja integração escolhida, é importante observar que, neste artigo, ao fazer a integração com o Windows Azure, o SharePoint é consumptive e não sendo hospedado. Em outras palavras, o SharePoint não é um serviço hospedado pelo Windows Azure, mas em vez disso, um aplicativo que consome Windows Azure dados ou serviços. Windows Azure fornece recursos que irão ser consumidos pelos artefatos do SharePoint como, por exemplo, uma Web Part ou um aplicativo do Silverlight ou aplicativos. Neste artigo, você verá um exemplo específico de como integrar o SharePoint, que utiliza um serviço do WCF personalizado implantado para o Windows Azure dentro de um aplicativo do Silverlight.

Se você estiver iniciando nova, você precisará certificar-se de que você tiver um ambiente de desenvolvimento apropriado configurado. Seu ambiente de desenvolvimento, no mínimo, incluirá o seguinte:

  • Visual Studio 2010
  • SDK do Windows Azure e ferramentas
  • SharePoint Server 2010
  • Adição do escritório 2010 Professional
  • SQL Server 2008 R2
  • Runtime do Silverlight, o SDK e ferramentas

Windows Azure, será necessário certificar-se de que você tem uma conta de desenvolvedor configurar para que você pode criar um portal do desenvolvedor para gerenciar aplicativos da nuvem, dados e serviços. Você pode encontrar todas as ferramentas do Windows Azure você usará para criar esses aplicativos e serviços de microsoft.com/windowsazure/getstarted . Observe que você pode instalar os itens listados anteriormente na máquina de desenvolvimento existente ou pode fazer o download de uma máquina virtual pré-configurada que possui tudo, exceto as ferramentas do Windows Azure from tinyurl.com/33bgpy6 de . (Além disso, você pode, opcionalmente, instalar a extensão do Visual Studio do Silverlight na Web Part disponível em code.msdn.microsoft.com/vsixforsp de .)

Quando você tem o seu ambiente de desenvolvimento configurado, você pode começar a desenvolver seu primeiro processo de integração. Neste artigo, eu trabalhará por três etapas:

  1. Criar e implantar o serviço Windows Azure WCF personalizado.
  2. Crie um habilitado para Silverlight Web Part que pode consumir o serviço Windows Azure personalizado.
  3. Implantar e usar a Web Part habilitado para Silverlight no site do SharePoint.

Let’s percorrer cada uma dessas etapas.

Criando o serviço do WCF

Imagine que você deseja implantar um serviço em toda a sua organização de venda, mas você deseja hospedar o serviço na nuvem. O serviço irá recuperar informações do concorrente e oferecerá suporte a dois métodos: Ele permitirá que você obter informações específicasde concorrente e ele retornará uma lista de todas as informações de concorrente . Você criará dois métodos, mas irá implementar apenas o retorno em massa de informações do concorrente. Você pode estender o código depois de ler este artigo para aproveitar a solicitação de informações sobre concorrentes específicos.

Para criar o serviço do WCF, abra o Visual Studio 2010 e iniciar um novo projeto. In the New Project wizard, select the Cloud template. Forneça um nome para o projeto (chamei meu concorrentes) e clique em OK. Selecione o projeto de função de Web Service WCF e clique em OK.

O Visual Studio cria uma nova solução com um número de recursos, que incluem os arquivos de configuração de função do Windows Azure e seu código de serviço do WCF e o contrato. Você irá usar um objeto em memória nesse exemplo, então, clique com o botão direito no projeto do WCF, selecione Add e selecione Class. Forneça um nome para a classe (concorrente) e adicione o seguinte código ao arquivo de classe:

namespace WCFServiceWebRole1 {
  public class Competitor {
    public string svcCompeteID { get; set; }
    public string svcCompeteName { get; set; }
    public string svcCompeteFY09 { get; set; }
    public string svcCompeteFY10 { get; set; }
  }
}

O código inclui quatro propriedades (identificação do concorrente, nome e vendas para o ano fiscal de 2009, ano fiscal 2010).

Porque você estará também usando o Silverlight como a camada de apresentação, você precisará adicionar um arquivo de diretiva de acesso de cliente para o projeto para oferecer suporte ao Silverlight chamando o serviço Windows Azure entre domínios. Para fazer isso, clique com o botão direito no projeto do WCF, selecione Add e clique em New Item. In the New Item dialog, select the Data category and select XML. Nomeie o novo clientaccesspolicy.xml de arquivo e clique em Adicionar. Substitua o código XML no novo arquivo com este código:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

Em seguida, crie contrato de serviço para o serviço do WCF. Neste exemplo, você irá manter tudo simples e incluir apenas dois contratos operacionais. A primeira operação obtém um único concorrente (o método getACompetitor) e a segunda operação receberá todos os concorrentes (método getAllCompetitors). Observe que você precisará passar um identificador (custID) se você desejar retornar um registro de concorrente específico. A Figura 2 fornece um resumo dos contratos.

Do Contrato de serviço, a Figura 2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace WCFServiceWebRole1 {
  [ServiceContract]
  public interface IService1 {
    [OperationContract]
    string[] getACompetitor(string custID);

    [OperationContract]
    List<Competitor> getAllCompetitors();
    }
}

Com os contratos de conclusão, agora você pode adicionar um código que implementa os contratos. O código de serviço que corresponde ao contrato de serviço é mostrado no do Figura 3. Esse código inclui um método para obter um registro de concorrente único (getACompetitor) para obter todas as informações do concorrente (getAllCompetitors) e um terceiro para gerar as informações do concorrente (generateCompeteData). O código é simples, aproveitando as estruturas de dados na memória, como a lista de coleções e matrizes com o LINQ para criar e passar dados de volta para o aplicativo de chamada. Neste exemplo, o aplicativo de chamada é um aplicativo do Silverlight que irá ser implantado no SharePoint.

A Figura 3 código de serviço

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace WCFServiceWebRole1 {
  public class Service1 : IService1 {
    List<Competitor> myCompetitors = new List<Competitor>();

    public string[] getACompetitor(string custID) {
      generateCompeteData();

      string[] returnCompete = new string[4];

      var returnListOfData = (
        from compete in myCompetitors
        where  compete.svcCompeteID  == custID
        select compete).ToArray();

      foreach (var competeRecord in returnListOfData) {
        returnCompete[0] = competeRecord.svcCompeteID;
        returnCompete[1] = competeRecord.svcCompeteName;
        returnCompete[2] = competeRecord.svcCompeteFY09;
        returnCompete[3] = competeRecord.svcCompeteFY10; 

      };

      return returnCompete;
    }

    public List<Competitor> getAllCompetitors() {
      generateCompeteData();
      List<Competitor> returnlistOfCompetitors = 
        new List<Competitor>();

      var returnListOfData = (
        from customer in myCompetitors
        select customer).ToArray();

      foreach (var compete in returnListOfData) {
        Competitor tempCompeteRecord = new Competitor();
        tempCompeteRecord.svcCompeteID = compete.svcCompeteID;
        tempCompeteRecord.svcCompeteName = compete.svcCompeteName;
        tempCompeteRecord.svcCompeteFY09 = compete.svcCompeteFY09;
        tempCompeteRecord.svcCompeteFY10 = compete.svcCompeteFY10;
        returnlistOfCompetitors.Add(tempCompeteRecord);
      };

      return returnlistOfCompetitors;
    }

    private void generateCompeteData() {
      Competitor compete1 = new Competitor();
      compete1.svcCompeteID = "BR-CAN-8909";
      compete1.svcCompeteName = "Bauer - Canada";
      compete1.svcCompeteFY09 = "$45,093,028.00";
      compete1.svcCompeteFY10 = "$50,493,820.00";
      myCompetitors.Add(compete1);

      Competitor compete2 = new Competitor();
      compete2.svcCompeteID = "NK-USA-8665";
      compete2.svcCompeteName = "Nike - USA";
      compete2.svcCompeteFY09 = "$50,492,331.00";
      compete2.svcCompeteFY10 = "$52,019,828.00";
       myCompetitors.Add(compete2);

      Competitor compete3 = new Competitor();
      compete3.svcCompeteID = "GF-EU-9912";
      compete3.svcCompeteName = "Graf - Europe";
      compete3.svcCompeteFY09 = "$24,403,920.00";
      compete3.svcCompeteFY10 = "$24,001,926.00";
      myCompetitors.Add(compete3);

      Competitor compete4 = new Competitor();
      compete4.svcCompeteID = "CCM-USA-8843";
      compete4.svcCompeteName = "CCM Hockey";
      compete4.svcCompeteFY09 = "$12,209,105.00";
      compete4.svcCompeteFY10 = "$10,092,813.00";
      myCompetitors.Add(compete4);

    }
  }
}

Neste ponto, agora que você criou o serviço do WCF e você está quase pronto para iniciar a parte SharePoint dessa integração. No entanto, antes de fazer isso, você precisará implantar o serviço Windows Azure.

Para implantar o serviço, você deve ter uma conta de desenvolvedor do Windows Azure configurado e pronto para ser usado. Se que você tiver isso, você simplesmente com o botão direito do projeto Windows Azure e selecione publicar.

O serviço de publicação invoca uma caixa de diálogo onde você pode fornecer suas credenciais. Você pode ver na Figura 4 de que você tem a opção para criar um pacote de serviço somente (Visual Studio cria os arquivos de duas principais que devem ser adicionados ao seu portal do desenvolvedor de Windows Azure em uma pasta local) ou para implantar o serviço automaticamente usando as informações de pré-configuradas. Neste exemplo, criar pacote de serviço somente e clique em OK.

image: Service Publishing Options

Figura 4 de Opções de serviço de publicação

Dois arquivos, concorrentes e ServiceConfiguration, serão criados. Concorrentes é um arquivo de pacote de serviço — basicamente, um arquivo de recurso — e ServiceConfiguration é um arquivo de configuração XML.

Agora você pode navegar para o portal do desenvolvedor de Windows Azure e adicionar esses arquivos ao seu serviço. Para fazer isso, navegue até o seu serviço e clique em Deploy (ou se tiver implantado já e estiver atualizando o serviço, clique em atualizar conforme mostrado no do Figura 5). Você pode navegar para os dois arquivos e clique em OK. Você desejará dar a seus arquivos de serviço de alguns minutos para carregar.

image: Manually Deploying Services to Azure

De implantação do Windows Azure Services manualmente, a Figura 5

Quando você vir a mensagem pronta, você pode clicar no link que é exibido na mesma página da Web para testar o ponto de extremidade de serviço. Observe que você provavelmente terá que adicionar o nome do serviço no final da URL do serviço da seguinte forma:

http://serviceendpoint.azure.com/Service1.svc.

Neste ponto, você agora pode colocar Windows Azure lado e passar para o SharePoint.

Criando a Web Part habilitado para Silverlight

Você pode criar a Web Part do Silverlight para o SharePoint de duas maneiras. Uma maneira é simplesmente criar um aplicativo do Silverlight no Visual Studio, implantar o arquivo XAP para SharePoint (Carregando-la para uma biblioteca de documentos, por exemplo) e usando a Web Part nativo para o Silverlight em SharePoint 2010 para carregar seu aplicativo do Silverlight. Esta é a maneira mais rápida de implantar o aplicativo do Silverlight ao SharePoint e requer menos recursos de codificação.

Segundo, um pouco mais interessante de maneira é usar o modelo de projeto do Silverlight e a Web Part do SharePoint (code.msdn.microsoft.com/vsixforsp ). Isso é quebrado automaticamente um aplicativo do Silverlight com uma Web Part, o que significa simplesmente criar o aplicativo do Silverlight e implantá-la como uma Web Part no SharePoint. Você tem um pouco mais controle sobre seu código, além de uma Web Part real estiver implantando no SharePoint.

Para usar o modelo, navegue até o site da CodePlex, clique no link do Silverlight e do SharePoint VSIX, baixar e descompactar os arquivos. Após descompactar os arquivos, basta instalar o arquivo .vsix clicando duas vezes nele e reinicie o Visual Studio 2010.

Depois de instalar o modelo de Web Part do Silverlight, retornar à sua solução do Visual Studio e clique em File | Add | New Project e selecione Add to Solution, no campo de solução. Navegue até a pasta SharePoint 2010 e selecione o modelo de projeto de Web Part do Silverlight. Forneça um nome para a Web Part (usei CompetitorSPWebPart) e clique em OK.

Após você clicar em OK, você será solicitado a digitar uma URL do site do SharePoint. Adicione a URL do site e, em seguida, selecione implantar como a solução do farm. Em seguida, você será solicitado por um número de itens, incluindo o nome para o projeto do Silverlight, a versão, o local para implantar o arquivo XAP, título da Web Part e uma descrição para a Web Part (consulte do Figura 6). Quando tiver concluído esta parte do assistente, clique em ' Concluir '. (Observe que você pode usar o Silverlight 3 ou 4 com o modelo de projeto e a Microsoft atualmente está atualizando o modelo de relançamento no CodePlex).

image: Configuring the Silverlight Web Part

De Configurar a parte da Web no Silverlight, a Figura 6

Agora você tem uma Web Part do SharePoint que dispõe de um aplicativo do Silverlight e você pode usar o aplicativo do Silverlight para desenvolver a interface do usuário e a funcionalidade da Web Part.

Em primeiro lugar, no projeto do Silverlight, adicione uma referência para o serviço Windows Azure clicando com o botão direito References e selecionando Add Service Reference. Forneça um nome para o espaço para nome do serviço (no meu caso, GetCompeteAzureService) e clique em OK. Isso é igual a consumir qualquer outra referência de serviço em um aplicativo, exceto no caso do ponto de extremidade está apontando para um serviço Windows Azure.

Neste ponto, você pode codificar em relação ao serviço Windows Azure. Como mencionado anteriormente, você aproveitará o método de getAllCompetitors no aplicativo do SharePoint.

Você precisará de uma interface do usuário para seu aplicativo. Eu criei uma interface do usuário simples que processará os dados retornados da chamada para o serviço Windows Azure. O controle principal é um controle de caixa de listagem com algumas imagens adicionadas para originalidade. Consulte o código para download deste artigo para obter mais detalhes.

Em seguida, adiciona uma classe personalizada chamada concorrente para o aplicativo do Silverlight. Concorrente tem quatro propriedades que correspondem aos dados do concorrente definidos para o código de serviço no do Figura 3:

namespace CompetitorDisplayApp {
  public class Competitor {
    public string competeID { get; set; }
    public string competeName { get; set; }
    public string competeFY09 { get; set; }
    public string competeFY10 { get; set; }
  }
}

No XAML code-behind, você pode agora adicionar algum código que implementará o método getAllCustomers. Do Figura 7, você pode ver que estou usando uma coleção de lista chamada myCompetitors para armazenar os dados que está sendo retornados da chamada de serviço para Azure do Windows. Há muito pesado aquio código está usando o objeto concorrente para ajudar a preencher a coleção de lista myCompetitors, que depois é vinculada à caixa de listagem (competeList).

A Figura 7 do objeto do concorrente personalizado

using CompetitorDisplayApp.GetCompeteAzureService;

namespace CompetitorDisplayApp {
  public partial class MainPage : UserControl {
    public string SiteUrl { get; set; }

    List<Competitor> myCompetitors = new List<Competitor>();

    public MainPage() {
      InitializeComponent();

      this.Loaded += new RoutedEventHandler(MainPage_Loaded);
    }

    void MainPage_Loaded(object sender, RoutedEventArgs e) {
      LoadAzureData();
    }

    private void LoadAzureData() {
      GetCompeteAzureService.Service1Client azureSvcProxy = 
        new Service1Client();
      azureSvcProxy.getAllCompetitorsAsync();
      azureSvcProxy.getAllCompetitorsCompleted += 
        new EventHandler<getAllCompetitorsCompletedEventArgs>(
        azureSvcProxy_getAllCompetitorsCompleted);
    }

    void azureSvcProxy_getAllCompetitorsCompleted(
      object sender, getAllCompetitorsCompletedEventArgs e) {

      var competeData = e.Result;
      foreach (var item in competeData) {
        Competitor tempRecord = new Competitor();
        tempRecord.competeID = item.svcCompeteID;
        tempRecord.competeName = item.svcCompeteName;
        tempRecord.competeFY09 = item.svcCompeteFY09;
        tempRecord.competeFY10 = item.svcCompeteFY10;
        myCompetitors.Add(tempRecord);
      }

      competeList.ItemsSource = myCompetitors;
    }
  }
}

Neste ponto, terminar com a codificação. No entanto, vale a pena dê uma olhada rápida no código padrão criado pelo modelo de Web Part do Silverlight para mostrar por que pode ser mais úteis do que apenas usando o padrão do Silverlight da Web Part que é fornecido com o SharePoint.

A Figura 8 mostra o código de Web Parts padrão que é criado quando o Visual Studio cria o projeto de Web Part do Silverlight. Você pode ver o código de invólucro em que um objeto SilverlightPluginGenerator é criado e propriedades são definidas para a Web Part. Essas são propriedades que são gerenciadas em tempo de design (em oposição a abrir a Web Part, por exemplo e a altura e largura através do painel no SharePoint ferramentas de edição). Além disso, você pode evitar copiar e colar, dada a esta Web Part é implantado em uma Galeria de Web Part — com o stitchwork já no lugar para processar o aplicativo do Silverlight.

A Figura 8 padrão da Web Part de código

[ToolboxItemAttribute(false)]
public class SilverlightWebPart : WebPart {
  private SilverlightPluginGenerator _silverlightPluginGenerator = null;

  public SilverlightWebPart() {
    this._silverlightPluginGenerator = 
      new SilverlightPluginGenerator {

      Source = new Uri(
        "/XAPS/Silverlight/CompetitorDisplayApp/CompetitorDisplayApp.xap",
        UriKind.Relative),
        Width = new Unit(400, UnitType.Pixel),
        Height = new Unit(300, UnitType.Pixel),
        BackGround = Color.White,
        Version = SilverlightVersion.v3,
        AutoUpgrade = true,
        OnError = "onSilverlightError",
    };
  }

  protected override void CreateChildControls() {
    base.CreateChildControls();

    this.Controls.Add(new LiteralControl(
      @"<script type=""text/javascript"">" + 
      Resources.onSilverlightErrorHandler + 
      "</script>"));

    this._silverlightPluginGenerator.InitParams.Add(new InitParam(
      "SiteUrl", SPContext.Current.Site.Url));

    this.Controls.Add(new LiteralControl(
      this._silverlightPluginGenerator.ToString()));
  }

  protected override void RenderContents(HtmlTextWriter writer) {
    base.RenderContents(writer);
  }
}

Por fim, as propriedades da Web Part foram definidas quando você movimentada através do Assistente de configuração inicial. Por exemplo, se você abrir o arquivo. WebPart, você verá o nome e descrição de Web Part (que você pode alterar aqui se você quisesse):

<?xml version="1.0" encoding="utf-8"?>
<webParts>
  <webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
    <metadata>
      <type name="CompetitorSPWebPart.SilverlightWebPart.SilverlightWebPart, $SharePoint.Project.AssemblyFullName$" />
      <importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
    </metadata>
    <data>
      <properties>
        <property name="Title" type="string">Compete Information</property>
        <property name="Description" 
          type="string">This Web Part provides compete information.</property>
      </properties>
    </data>
  </webPart>
</webParts>

Com o Silverlight Web Part completa, você agora está pronto para implantar a Web Part no SharePoint para uso.

Implantando a Web Part

Para implantar, o projeto de Web Part (CompetitorSPWebPart no meu exemplo) com o botão direito e selecione implantar. Quando você implanta a Web Part, o aplicativo do Silverlight é implantado na biblioteca de documentos XAPS e um link para esse arquivo XAP é gerado automaticamente dentro da Web Part. (Se você optar por usar o aplicativo do Silverlight em vez do modelo de Web Part do Silverlight, em seguida, você poderia simplesmente carregar o arquivo XAP para o XAPS biblioteca de documentos e, em seguida, usa a Web Part nativo para o Silverlight no SharePoint).

Abra o site do SharePoint e navegar para uma nova página de Web Part (ou criar). (Observe que você pode criar uma nova página de Web Part, clicando em ações de site | exibir todo o conteúdo do site | criar | página de Web Parts.) Clique em Site Actions | editar a página | Adicionar uma Web Part. Navegue para a categoria personalizada, e em seguida, selecione a Web Part (que é chamado de informações de competir neste exemplo) e clique em Adicionar. Quando adicionado, clique em parar de edição. Você deve ter algo semelhante ao que é mostrado no do Figura 9.

Do serviço de Web do Silverlight Part chamada Windows Azure Final, a Figura 9

Conclusão

Integração do SharePoint e Windows Azure é nova e as oportunidades são bastante. Neste exemplo, mostrei como criar um serviço personalizado do Windows Azure e, em seguida, utilizar esse serviço a partir de uma Web Part de baseados no Silverlight personalizada. Just-in neste exemplo simples, você pode ver o potencial de soluções muito mais sofisticadas nos serviços Windows Azure e de Web Parts que consomem-los.

Para obter mais exemplos e explicações passo a passo, você pode verificar meu blog em blogs.msdn.com/b/steve_fox de . Procure check-out mais código e documentação sobre como integrar o SharePoint e Azure do Windows.

Steve Fox  é gerente sênior de divulgação da Microsoft. Trabalhou IT há 15 anos, 10 do que ter sido gasto na Microsoft em linguagem natural, pesquisa e desenvolvimento do SharePoint e do Office. Fox é autor de vários artigos e livros, incluindo o lançadas recentemente “ início 2010 desenvolvimento do SharePoint ” (Wrox 2010).

Meus agradecimentos aos seguinte especialista técnico para revisar este artigo: Paul Stubbs