Infra - Sharepoint

Utilizando Business Data Catalog com Sharepoint Server 2007

Neste artigo veremos como criar, configurar e integrar aplicações e dados (LOB) utilizando Business Data Catalog no Microsoft Sharepoint Server 2007.

por Cristian Arrano Townsend



Introdução

Neste artigo veremos como criar, configurar e integrar aplicações e dados (LOB) utilizando Business Data Catalog no Microsoft Sharepoint Server 2007.

O Business Data Catalog (BDC) é uma funcionalidade do Sharepoint Server 2007 disponível apenas na versão Enterprise. A principal função do BDC é permitir que usuários do Sharepoint Server tenham acesso a dados de outras aplicações, como SAP, Microsiga, Siebel, SQL Server, Oracle, entre outros.

A conectividade presente no DBC permite que a integração entre dados e sistemas seja feita de maneira fácil e bastante transparente.

Técnicamente, at ualmente é possível criar conexões utilizando SQL Server, Oracle, OLEDB, ODBC e Web Services.

No nosso exemplo, utilizaremos como exemplo um banco de dados bastante conhecido por todos, o Northwind, que possui uma estrutura de dados simples e fácil de compreensão. Caso você não possua o banco de dados no seu SQL Server 2005, clique aqui para baixar.

Definição da Estrutura

A principal estrutura de conexão entre um banco de dados ou web services com o Sharepoint é um arquivo XML, que contém toda a estrutura (schema) para permitir a conexão. Nesta parte do artigo veremos a estrutura por trás do arquivo XML.

A figura abaixo ilustra a estrutura dos arquivos meta-data do BDC.

Entraremos em detalhe nos principais objetos da estrutura.

LOB System – Contém todas as informações necessárias para a exibição dos dados.

Entity – Define a estrutura do objeto da aplicação. Na maioria dos casos são utilizadas tabelas ou visões. No nosso exemplo, adicionaremos a tabela Categories e Products. No arquivo XML, a tabela Categories terá a seguinte estrutura:

<Entity EstimatedInstanceCount="0" Name="dbo.Categories"></Entity>

Identifier – Representa a chave primária da Entity. Na tabela Categories, o Identifier (CategoryId) é denotado da seguinte maneira:

<Identifiers>

<Identifier TypeName="System.Int32" Name="[CategoryID]" />

</Identifiers>

Association – Representa as relações entre diferentes entidades (Entity). No nosso exemplo, iremos utilizar as tabelas Categories e Products. No editor Microsoft Business Data Catalog Definition Editor o relacionamento é criado automáticamente para bancos de dados SQL Server. O relacionamento entre duas tabelas seria feito da seguinte maneira:

<Associations>

<Association AssociationMethodEntityName="dbo.Products" AssociationMethodName="Getdbo.ProductsFordbo.Categories" AssociationMethodReturnParameterName="dbo.Products" Name="dbo.CategoriesTodbo.Products" IsCached="true">

<SourceEntity Name="dbo.Categories" />

<DestinationEntity Name="dbo.Products" />

</Association>

</Associations>

Action – Representa as ações que podem ser vinculadas à entidade. Através de uma Action é possível enviar dados de uma página para outra utilizando parâmetros no formato QueryString.

Criação do arquivo

O processo de criação do arquivo não chega a ser uma tarefa simples. As ferramentas disponíveis têm limitações e algumas tarefas precisam ser feitas “na mão”.

Para as tarefas mais fáceis, como criar entidades e relacionamentos, temos a opção de utilizar editores que fazem o trabalho visual de criação do arquivo. Duas das principais ferramentas do mercado serão comentadas neste artigo.

Microsoft Business Data Catalog Definition Editor

Disponibilizada logo após o lançamento do Sharepoint Server 2007, o Microsoft Business Data Catalog Definition Editor é gratuito e faz parte do Sharepoint 2007 SDK. Para baixar gratuitamente o Sharepoint SDK 2007, faça um clique aqui.

A utilização do Microsoft Business Data Catalog Definition Editor deixa a desejar em tarefas bem simples, como criar metodos automáticos para trazer todos os registros, conexão manual do banco de dados, entre outras.

Para facilitar o entendimento e propósito do BDC, não nos limitaremos à ferramenta, e utilizaremos o BDC Meta Man para criar o arquivo.


BDC Meta Man

Disponível no site www.bdcmetaman.com, o BDC Meta Man é uma excelente opção para criação de arquivos XML BDC.

Curiosamente, o trial da ferramenta dura 345 dias. Para quem não está disposto a comprar a ferramenta, é uma boa opção. Em contrapartida, o trial implica em algumas limitações extremamente necessárias, como abrir arquivos já existentes.

Após a execução do BDC Meta Man, a primeira tarefa é conectar com um banco de dados existente. No nosso exemplo utilizaremos SQL Server.

bdc1.jpg

Depois de estabelecida a conexão com o banco de dados, vamos arrastar as tabelas Categories e Products, conforme mostra a figura abaixo.

bdc2.jpg

Como as duas tabelas estão relacionadas no banco de dados, é conveniente que seja mantido o relacionamento entre ambas as tabelas no Sharepoint Server.

Para criar uma relação entre elas, clique bom o botão direito sobre uma tabela e escolha a opção Add Association.

No campo Parent Entity, escolha a tabela Categories. No campo Primary Key, escolha CategoryId. Para Chile Entity, escolha Products e para Foreign Key, CategoryId.

bdc3.jpg

Note que ao criar visualmente as entidades, automaticamente é gerado a estrutura do arquivo XML BDC no lado esquerdo do software.

bdc4.jpg

Salve o arquivo clicando em Configuration -> Settings e clique em Build -> Generate All para criar o arquivo.

Importando o arquivo para o Sharepoint Server

Após a criação do arquivo, chegou a hora de publicá-lo. Para isso, iremos utilizar a Administração Central do Sharepoint, localizado em Administrative Tools, do Windows.

bdc5.jpg

Escolha a opção Create or configure this farm’s shared services.

bdc6.jpg

Logo após, clique na opção principal do Shared Services Provider (no nosso caso é SharedServices1).

bdc7.jpg

No grupo de opções Business Data Catalog, escolha a opção Import Application Definition.

bdc8.jpg

Em seguida, escolha o arquivo XML criado e clique em Import. Após a criação da aplicação, é mostrado os detalhes da aplicação, como informações básicas e as principais entidades criadas, como mostra a figura abaixo:

bdc9.jpg


Utilizando BDC nos sites Sharepoint

Para mostrar os dados em um determinado site do Sharepoint, no nosso exemplo criaremos uma página chamada BDC.aspx e em seguida inserimos uma Web Part.

Na lista de Web Parts disponíveis, selecione All Web Parts -> Business Data List.

bdc10.jpg

Depois de inserida a Web Part, escolha a opção Open the tool pane para editar os dados a serem exibidos.

bdc11.jpg

Um novo painel será exibido, permitindo a edição dos dados da Web Part selecionada. No nosso exemplo, iremos exibir as Categorias e em seguida, os produtos vinculados à categoria selecionada.

No campo Type, escolha a entidade Category. Para selecionar a entidade desejada, utilize o botão com o ícone em forma de livro aberto, localizado à direita da caixa de texto.

bdc12.jpg

Clique em Ok para finalizar a edição da Web Part.

Note que já são mostradas todas as categorias no banco de dados. A titulo de ocultar alguns campos da tabela, vamos alterar a View atual para não mostrar o campo Picture e CategoryId.

Para isso, faça um clique em Edit View.

bdc13.jpg

No grupo Coluns, selecione apenas as colunas CategoryName e Description e faça um clique em Ok.

Para relacionar uma determinada Categoria com os Produtos, crie outra Web Part do tipo Business Data Related List, conforme a figura mostrada abaixo.

bdc14.jpg

Após inserida a Web Part, escolha a opção Open the tool pane para editar os dados a serem exibidos.

bdc15.jpg

No campo Type, escolha a entidade Products. Para selecionar a entidade desejada, utilize o botão com o icone em forma de livro aberto, localizado à direita da caixa de texto.

bdc16.jpg

Clique em Ok para finalizar a edição da Web Part.

Para vincular as tabelas, clique em Edit localizado no menu principal da Web Part Products e escolha a opção Connections -> Get Related Item From -> Gategories List.

bdc17.jpg

Salve a página, escolha uma Categoria e os Produtos da categoria selecionada serão exibidos, conforme figura abaixo.

bdc18.jpg

Conclusão

Utilizando a funcionalidade Business Data Catalog do Sharepoint Server 2007 é possível mostrar e integrar dados de outras aplicações ou bancos de dados de maneira simples e fácil, sem maiores complicações.

Cristian Arrano Townsend

Cristian Arrano Townsend - Trabalha há 12 anos com desenvolvimento de software. Atualmente trabalha como consultor da FCAMARA em Curitiba, trabalhando com .NET, Metodologias Ágeis e Sharepoint. Possui algumas certificações Microsoft .NET e é Certified Scrum Master