Este artigo foi traduzido por máquina.

Deixe que os usuários avançados criem seus próprios feeds OData

Julie Lerman

 

Este artigo aborda Microsoft codinome "Data Explorer." Todas as informações estão sujeitas a alterações.

Julie LermanTenho um cliente para quem posso desenvolver muitos aplicativos de negócios internos. A empresa também tem um geek residente, um cara jovem inteligente que aproveita a sua experiência de Web 2.0 para criar algumas soluções internas também. Eu de código para eles usando o Microsoft.NET Framework ferramentas contra um banco de dados do SQL Server 2008. Ele desenvolve aplicativos PHP que usam um banco de dados MySQL online. Há alguns anos atrás, que ele me mostrou o que ele estava trabalhando e eu observei listas suspensas que contêm dados duplicados que meus apps criar e consomem no SQL Server. WCF Data Services ainda estava em seus estágios iniciais (então conhecidos como "Astoria"), mas eu vi uma grande oportunidade de experimentar essa tecnologia como uma ponte entre nossos projetos de desenvolvimento.

Propus a criação de um serviço de somente leitura de dados do SQL Server que ele poderia consumir em suas aplicações, eliminando a necessidade de manter os dados duplicados no banco de dados MySQL. Ele amou a idéia. Alguns dias mais tarde, a Microsoft lançou seu primeiro kit de ferramentas do PHP para consumindo feeds Astoria. Este colaborador foi um dos primeiros usuários toolkit e tivemos nossa solução colaborativa acima e funcionando muito rapidamente.

Avanço rápido … Astoria é agora WCF Data Services, sua saída foram encapsulada em uma especificação chamada OData (odata.org) e existe um SDK de OData para PHP (bit.ly/xW8sJf). Serviço do meu cliente evoluiu depois de inúmeros pedidos que eu expor mais dados do banco de dados do SQL Server para seus aplicativos. Mas há um problema. Cada vez que meu cliente precisa de algo novo adicionado ao serviço, eu tem que criar um modo de exibição apropriado no banco de dados, abra o Visual Studio, modificar o modelo de dados a uma entidade que mapeia para este modo de exibição, em seguida, compilar e reimplantar este novo serviço através da VPN para seu servidor Web. O processo é bastante demorado e pode ser um bocado de um arrasto — especialmente se eu estou ficando perto de um prazo de coluna pontos de dados!

Ajuda chega: SQL Azure Labs Codename "Data Explorer"

Na Cimeira de SQLPass em outubro de 2011, a Microsoft anunciou uma nova ferramenta em desenvolvimento que actualmente tem chamado Microsoft codinome "Data Explorer." Aqui, eu simplesmente chamá-lo Data Explorer.

Gerenciador de dados permite aos usuários acessar uma variedade de fontes de dados (SQL Azure, SQL Server, HTML de páginas da Web, feeds OData, arquivos de texto e arquivos do Excel, para nome alguns) e criar modos de exibição deles usando uma interface relativamente simple. A interface do usuário permite que você fatia, dos dados, filtro, renomear e combinar dados. Você pode mash up dados de diferentes tipos de arquivo, por exemplo, criar uma exibição que junta-se os dados do SQL Server para estatísticas listadas numa página Web e, em seguida, apresentar os resultados como um OData de alimentação, um arquivo do Excel ou qualquer um de uma série de outros formatos.

Você pode encontrar vídeos de recursos do Gerenciador de dados e lotes de walk-throughs no blog da equipe (blogs.msdn.com/dataexplorer) ou o SQL Azure Labs (sqlazurelabs.com). Há um cliente baseado na Web (referido como um serviço de nuvem) e um cliente de desktop. O serviço de nuvem vive atualmente nos laboratórios de Azure SQL como um serviço e você deve se inscrever para acesso (no bit.ly/pI8Oug). Você pode baixar a versão atual do app desktop de bit.ly/shltWn. De redação deste artigo, essas ferramentas estão ainda na fase inicial de desenvolvimento, e prevejo muitas melhorias e benefícios para vir.

Um dos recursos de Data Explorer tocou como uma maneira de simplificar o meu processo de adição de mais dados para o serviço de dados eu manter este cliente — a capacidade de publicar os resultados do corte e em cubos como um feed de OData. Hoje (início de Janeiro de 2012, enquanto escrevo esta coluna) publicação é suportada pelo serviço de nuvem mas não ainda por área de trabalho da cliente. Enquanto meu objetivo eventual é fazer todo esse trabalho na rede interna do meu cliente usando seu banco de dados SQL Server e o serviço da Web, eu tenho explorado a possibilidade de utilizar o serviço de nuvem e um banco de dados do SQL Azure. Isso é o que eu vou compartilhar com você. Eu não vou preocupar com um treinamento passo a passo, já que é prontamente disponível dos recursos que mencionei anteriormente.

Seu espaço de trabalho pode conter vários mashups e cada uma delas pode conter um número de recursos. Figura 1 mostra quatro recursos que criei em um mashup chamado Mashup1. Três dos recursos expõem uma visão dos clientes, produzem uma lista de dados de cerveja e uma lista das cervejarias, enquanto o recurso final (cerveja lista mesclada com cervejarias) apresenta uma lista mesclada e achatada das fábricas de cerveja junto com a cerveja. Eu tive que criar a lista de cerveja e Breweries recursos para mesclá-los em ainda outro recurso. O estado do ícone de "marca" para a direita indica o que vai e não vai ser exposto em dados publicados. As marcas de seleção esmaecidas junto a cervejarias e cerveja lista indicam que estas não serão expostas. Como você pode ver na Figura 1, eu pretendo publicar os clientes e a cerveja lista mesclada com fábricas de cerveja, mas não os blocos de construção que eu usei para criar o conjunto mesclado.

Four Data Sets that Have Been Created in Mashup1
Figura 1 quatro conjuntos de dados que foram criados no Mashup1

Se você olhar para visão geral do mashup na minha área de trabalho, conforme mostrado na Figura 2, você pode ver que Mashup1 tem duas saídas, representando os dois recursos escolhi para expor.

Overview of Mashup1 in My Workspace
Figura 2 Visão geral do Mashup1 no meu espaço de trabalho

Quando eu publicar Mashup1 usando o Data Explorer ferramentas e, em seguida, procure o OData resultante de alimentação, você pode ver que o serviço realmente expor esses dois recursos e nada mais (ver Figura 3).

Figura 3 dois conjuntos de dados expostos como coleções em meu Mashup publicado

<?xml version="1.0" encoding="UTF-8"?>
<service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom"
 xml:base="https://ws39047873.dataexplorer.sqlazurelabs.com/Published/CustomersAndBeerData/Feed/">
  <workspace>
    <atom:title type="text">Default</atom:title>
    <collection href="Beer List Merged with Breweries">
      <atom:title type="text">Beer List Merged with Breweries</atom:title>
    </collection>
    <collection href="Customers">
      <atom:title type="text">Customers</atom:title>
    </collection>
  </workspace>
</service>

A interface do usuário do Gerenciador de dados permite que você crie as consultas complexas visualmente, mas porque eu vou desenvolver esta alimentação de dados, é mais fácil para mim apenas criar um modo de exibição no banco de dados.Assim, meu plano é que cada vez que meu usuário de poder quer acesso a mais dados no seu serviço, vou criar um dados­exibição de base, adicioná-lo como um recurso no meu mashup e republicar o feed.

Neste caso, porque eu quero meu OData de feed para simplesmente refletir as alterações no esquema sob demanda, posso simplesmente fazer isso.Mas você precisa ter cuidado porque apps que estão contando com a alimentação podem quebrar se o feed introduz não aditivos ou outras alterações.

Como outra abordagem, no entanto, Data Explorer também me permite proteger minha superfície API/alimentos para animais de todas as alterações no esquema.Eu simplesmente tenho que atualizar o mashup para contabilizar as mudanças de esquema, enquanto mantendo a forma da minhas saídas inalteradas.

Camadas de segurança de espírito

Criei esses recursos diretamente de meu banco de dados do SQL Azure.Meu usuário avançado poderia fazer o mesmo, mas eu não quero que ele acessar diretamente o banco de dados.Em vez disso, eu vou deixá-lo ter seu próprio espaço de trabalho e construir sua própria mashup daquele publiquei.

Figura 4 mostra todos os tipos de dados que você pode usar para criar recursos em um mashup.Bancos de dados SQL pode ser um banco de dados do SQL Server ou um banco de dados do SQL Azure.

Options for Adding Data to a MashupFigura 4 opções para adicionar dados a um Mashup

Entre os dados possíveis fontes são uma alimentação de OData e um mashup existente.Estas torna possível para o usuário poder criar um mashup do meu feed publicado.

Ele pode adicionar um conjunto de dados com base no meu OData feed para um mashup em seu próprio espaço de trabalho e, em seguida, Massagem esse modo de exibição para suas próprias necessidades.Gerenciador de dados permite-lhe ocultar colunas, em que ele não está interessado, construir campos concatenados, alterar como seu serviço exibe os nomes de campo e muito mais.Se, por exemplo, ele inicialmente acha que ele não precisa de uma coluna e posteriormente decide que ele quer acessá-lo, ele simplesmente pode modificar sua própria mashup sem se preocupar se estou no estrangeiro em uma conferência ou fora em um passeio de bicicleta.

O banco de dados permanece seguro, mas que sobre os dados de alimentação eu estou criando?Gerenciador de dados já tem um número de recursos de segurança incorporados, e a Microsoft está trabalhando em enriquecer ainda mais segurança.Um caminho de segurança é para conceder permissões a um usuário com uma conta existente do Gerenciador de dados para acessar seu espaço de trabalho como um proprietário, um autor ou um consumidor no espaço de trabalho.Se eu conceder meu usuário poder permissões de autor, em seu próprio espaço de trabalho ele poderia, em seguida, criar e publicar seus próprios mashups com base na minha alimentação.

Eu também poderia fornecer o usuário avançado com uma chave de alimentação.Cada espaço de trabalho tem uma única chave de Feed que permite que qualquer pessoa acesse qualquer alimentação publicada de um espaço de trabalho.Quando o usuário poder acessar meu OData de feed para construir sua própria mashup, ele vai ser obrigado a fornecer quaisquer credenciais que você especificou.A Figura5 mostra as credenciais está sendo solicitadas quando o usuário tenta adicionar meu CustomersAndBeerData alimentam a sua própria.

Adding an OData Feed to a MashupFigura 5 Adicionando um Feed de OData de um Mashup

Uma vez que ele tem puxado meu feed em seu próprio mashup, ele pode remodelar a saída da ração, mesmo combinando-a com outras fontes de dados se desejar.Quando ele está satisfeito, ele pode publicar seus resultados em um OData feed de seu próprio e consumi-lo de seu aplicativo usando as credenciais que ele especifica no seu próprio espaço de trabalho.

Vale a pena esperar

No final, quando o usuário de poder quer OData adicional para seu aplicativo, meu envolvimento é bastante reduzido.Eu ainda preciso adicionar um modo de exibição no banco de dados, e adicionar um novo recurso para meu mashup on-line e, em seguida, republicar.Mas esse fluxo de trabalho, visualizado no Figura 6, é muito mais atraente para mim do que ter de abrir o projeto no Visual Studio, atualizar o modelo de dados, reconstruir, fazer logon VPN e, finalmente, empurre o conjunto novo ao servidor do meu cliente.

Workflow from Database to ApplicationFigura 6 fluxo de trabalho do banco de dados de aplicativo

Gerenciador de dados ainda não é um produto lançado e continuará a evoluir.Mas, tendo trabalhado por este cenário usando a visualização está disponível, estou verdadeiramente ansioso para deslocando a esta solução quando Data Explorer é lançado oficialmente.E enquanto eu atualmente estou focada em um caso de uso muito estreita, eu vou estar mantendo um olho blogs.msdn.com/dataexplorer para atualizações.

Gerenciador de dados

Por Miguel Llopis e Faisal Mohamood

Microsoft codinome "Data Explorer" é uma nova ferramenta que permite o auto-atendimento extrair, transformar e publicar (ETP).Gerenciador de dados simplifica a criação de mashups de dados de uma combinação de diferentes fontes de dados, como Excel, Access, SQL Server, Web (HTML, Web APIs, OData) e muito mais.O principal objetivo do Data Explorer é fazer a aquisição, transformação e composição de dados fácil e perfeita para publicar os dados em ferramentas de usuário final, como o Excel/PowerPivot ou para aplicativos personalizados do poder.

Gerenciador de dados está atualmente disponível como um laboratório de laboratórios de SQL Azure e suporte no local, bem como fontes de dados em nuvem.Visite dataexplorer.sqlazurelabs.com para saber mais e tentar para fora este inovador serviço Windows Azure.

Julie Lerman é uma Microsoft MVP, mentora e consultora do .NET, que reside nas colinas de Vermont. Você pode encontrar sua apresentação sobre acesso a dados e outros tópicos do Microsoft .NET em grupos de usuários e conferências ao redor do mundo. She blogs at thedatafarm.com e é o autor de "Programming Entity Framework" (o ' Reilly Media, 2010) e "Programação entidade Framework: código primeiro" (o ' Reilly Media, 2011). Siga-a no Twitter, em twitter.com/julielerman.

Graças aos seguintes especialistas técnicos para revisão deste artigo: Miguel Llopis e Faisal Mohamood