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 TownsendIntroduçã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.
Depois de estabelecida a conexão com o banco de dados, vamos arrastar as tabelas Categories e Products, conforme mostra a figura abaixo.
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.
Note que ao criar visualmente as entidades, automaticamente é gerado a estrutura do arquivo XML BDC no lado esquerdo do software.
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.
Escolha a opção Create or configure this farm’s shared services.
Logo após, clique na opção principal do Shared Services Provider (no nosso caso é SharedServices1).
No grupo de opções Business Data Catalog, escolha a opção Import Application Definition.
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:
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.
Depois de inserida a Web Part, escolha a opção Open the tool pane para editar os dados a serem exibidos.
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.
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.
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.
Após inserida a Web Part, escolha a opção Open the tool pane para editar os dados a serem exibidos.
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.
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.
Salve a página, escolha uma Categoria e os Produtos da categoria selecionada serão exibidos, conforme figura abaixo.
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.
- Como efetuar um Backup/Restore de uma SiteCollection no Microsoft Office SharePoint Server 2007...Sharepoint
- Como Utilizar o Silverlight Media Player no SharePoint Server 2010Sharepoint
- Adicionando informações do perfil do usuário manualmente no SharePoint para usuários locais do...Sharepoint
- Utilizando o Excel Services para exibir um gráfico básicoSharepoint
- Configurando Acesso Anônimo no SharePointSharepoint