SharePoint BDC: Criar um ADF com o BDC Definition Editor da Microsoft

Business Data Catalog (BDC) permite-lhe integrar uma base de dados externa num ambiente SharePoint. Para fazer isso, é preciso criar um Application Definition File (ADF) e importá-lo para o SharePoint.

Um ADF é basicamente um ficheiro XML com a informação necessária para descrever as entidades e métodos de acesso à base de dados. Existem algumas aplicações a pagar que ajudam a gerar os ADFs, mas a própria Microsoft fornece uma ferramente gratuita para o mesmo efeito.

Neste artigo vou descrever como obter esta ferramenta e alguns incómodos que encontrei pelo caminho.

Instalar o BDC Definition Editor

O BDC Definition Editor da Microsoft está incluído no SDK do SharePoint Server 2007. Depois de instalar o SDK, podem encontrar o instalador do BDC Definition Editor em "C:\Program Files\2007 Office System Developer Resources\Tools\BDC Definition Editor" (por omissão).

Se querem instalar o BDC Definition Editor noutra máquina, podem copiar a pasta toda e correr a instalação noutro sítio. Os ambientes suportados são Windows Server 2003 (apenas na versão En-US) e Windows XP (apenas na versão En-US). O ficheiro que têm de correr é o setup.exe. Este ficheiro assegurará que todos os requisitos estão instalados e, se não estiverem, instala-los-á:

  • Microsoft .NET Framework 2.0
  • Microsoft SQL Server 2005 Express Edition
  • Windows Installer 3.1

São basicamente 90MB de instalação para uma ferramenta de 2MB. Fantástico...

Assim que estiver instalado, podem encontrar a ferramenta no menu inicial do Windows em ApplicationDefinitionDesigner.exe.

Criar o Application Definition File

Não quero perder muito tempo a explicar o uso do Application Definition Designer (também conhecido por BDC Definition Editor), porque é bastante simples de usar:

  • Começem por adicionar um novo sistema LOB (se já tiverem um ficheiro podem importá-lo também).
  • Escolham Connect to Database.
  • Escrevam a connection string (se não tiverem bem a certeza do que escrever vejam alguns exemplos de connection strings para SQL Server 2005).
  • Vai aparecer uma listagem de todas as tabelas. Arrastem as tabelas necessárias e façam os ajustes necessários (e.g. remover alguns campos).

Depois deste passo, criar o ADF é bastante simples. Basta usar o botão Export e gravar o ficheiro.

Método Finder para a Business Data List web part

Antes de gravarem o ficheiro, deixem-me explicar um senão. Por razões que desconheço, o Application Definition Designer não gera um método necessário para o uso da Business Data List web part. Desta forma, se importarem o ficheiro ADF no seu estado actual, irão obter o seguinte erro na Business Data List web part:

There are no Business Data Types loaded in the Catalog

O bizarro é que isto pode ser facilmente corrigido. A web part precisa de um método Finder na entidade BDC, mas este não é criado por omissão. No entanto, dois outros métodos são gerados. Um desses métodos pode ser facilmeente alterado para ser do tipo Finder, em vez de ter de criar outro método.

Para corrigir isto, abram o Application Definition Designer. Para cada entidade que precisam de usar na Business Data List web part:

  • Expandam Methods > FindAll_EntityName > Instances.
  • Escolham a instância (FindAll_EntityName_Instance).
  • Na propriedade MethodInstanceType escolham Finder.

Uma última coisa que provavelmente vão querer fazer é adicionar alguns parâmetros de saída (i.e. alguns campos adicionais). Por omissão, o método só inclui a chave primária e mais nenhum campo, o que não é muito útil.

Usar autenticação SQL

Se precisam de usar autenticação SQL, vão precisar de adicionar umas propriedades à instância do vossos sistema LOB:

  • Escolham a vossa instância.
  • Certifiquem-se que AuthenticationMode é igual a PassThrough e DatabaseAccessProvider é igual a SqlServer.
  • Abram a colecção de propriedades.
  • Adicionem os seguintes parâmetros:
    • RdbConnection Data Source: o endereço do servidor SQL
    • RdbConnection Initial Catalog: o nome da base de dados
    • RdbConnection User ID: o nome de utilizador
    • RdbConnection Password: a palavra-chave
    • RdbConnection Integrated Security: ponham False

Importar o ADF para o SharePoint

Agora é preciso importar o ADF para o SharePoint. É bastante simples:

  • Abram a Central Administration.
  • Vão ao Shared Services Provider (SSP) da vossa aplicação.
  • Em Business Data Catalog escolham Import application definition.
  • Naveguem para o vosso ficheiro e importem-no.

Assim que estiver importado, podem verificar as entidades. Algo que provavelmente precisam de mudar são as permissões de acesso ao BDC. Podem fazê-lo individualmente para cada entidade, mas é bastante mais fácil alterar para todas ao mesmo tempo:

  • Na página da vossa aplicação BDC escolham Manage Permissions.
  • Adicionem todas as contas necessárias com a opção Add Users/Groups (é comum precisarem da conta NT AUTHORITY\Authenticated Users com a permissão Select in Clients).
  • Agora escolham Copy all permissions to descendants (isto assegurará que as permissões sejam copiadas para todas as entidades).

Usar as Business Data Catalog web parts

Agora que importaram o ADF e configuraram a vossa aplicação BDC, podem usar as BDC web parts que o SharePoint fornece (certifiquem-se que têm as features necessárias activas).

Quando adicionam uma web part, vão encontrar na categoria Business Data várias web parts para se ligarem ao vosso BDC. Uma das mais comuns é a Business Data List web part. Assim que a adicionarem, precisam de editar as suas propriedades e escolher a entidade que querem mostrar.

Também podem ligar uma Business Data List web part a uma Business Data Item web part, que mostra os detalhes de uma linha da tabela apenas. Para fazerem isso, primeiro adicionem a Business Data Item web part e depois vão ao menu de edição de contexto da Business Data List web part e escolham Connections > Send Selected Item To e seleccionem a instância da Business Data Item web part. Agora quando seleccionarem uma das linhas na Business Data List web part, os detalhes vão aparecer na Business Data Item web part.

Recursos

Nuno Freitas
Publicado por Nuno Freitas em 04 agosto, 2011

Artigos relacionados