Microsoft Office

Integração de bancos de dados do Access ao SharePoint

Peter Serzo

 

Visão geral:

  • Benefícios da integração do Access ao SharePoint
  • Migração de dados do Access para o SharePoint
  • Estendendo a funcionalidade do Access com o SharePoint

Quando converso com os usuários finais sobre o MOSS (Microsoft Office SharePoint Server) 2007, sempre peço a eles para me mostrarem as ferramentas que usam e como eles as utilizam. Nunca falha, alguém, em algum lugar da

organização utiliza o Microsoft® Office AccessTM para atender a necessidades comerciais essenciais. O Access ainda é uma ferramenta viável e um ativo importante em várias empresas.

O MOSS 2007 oferece uma forma de utilizar aplicativos criados em Access e os integra ao SharePoint® para criar uma nova solução com um alcance muito maior. O foco deste artigo é mostrar como e onde o MOSS se integra ao Access e como um usuário final pode configurar esses dois produtos para criar uma solução.

A tecnologia subjacente que o MOSS traz ao Access incorpora fluxo de trabalho, um repositório comum (SQL Server®) e uma interface baseada na Web (o navegador). Os recursos do SharePoint incluem gerenciamento de documentos, espaços de trabalho e a capacidade de configurar listas personalizadas e para utilizar fluxos de trabalho internos e Web parts prontas que cobrem tudo, desde eventos de propaganda e a criação de uma lista de contatos ou de uma lista de problemas até o gerenciamento de formulários criados por usuário. Além do mais, a facilidade de uso e as tecnologias do Office conhecidas vão aprimorar a sensação de poder do usuário final. Como você verá, o MOSS não ameaça as soluções atuais que já têm seu lugar. Em vez disso, o MOSS facilita a eficiência, já que você não precisa reescrever aplicativos, permitindo que usuários finais se concentrem em resolver problemas de negócios em vez dos problemas técnicos.

E não é só o usuário final que terá vantagens. Os departamentos de TI e os administradores lutam com a forma de auxiliar seus usuários finais na manutenção de todos os bancos de dados personalizados que surgem em uma empresa. Muitos nem sabem que o Access está sendo usado para resolver problemas de negócios de missão crítica até que certos problemas aparecem, como limites de armazenamento, acesso multiusuário, segurança, reparo de bancos de dados corrompidos, uso da Web, versões incompatíveis do Access e implantação de alterações em vários desktops. O SharePoint possui uma resposta para cada um desses problemas.

Embora o Access tenha seus limites, é poderoso e amigável, especialmente para aqueles que não escrevem código para viver. Em um ponto você obtém tabelas relacionais configuráveis, consultas simples (e as complexas), um criador de formulários de front-end para arrastar e soltar, relatórios baseados nos dados e a capacidade de configurar vários usuários. Criar soluções baseadas em Access e em SharePoint faz sentido para organizações que procuram agrupar recursos e talento e para indivíduos que desejam aproveitar a vantagem de aplicativos e habilidades criados através dos anos.

Introdução

O Access 2007 oferece diversos pontos para a integração com o MOSS 2007. Como você pode ver na Figura 1, entre eles estão: importação de dados de uma Lista do SharePoint, publicação de dados em um site do SharePoint, criação de uma Lista do SharePoint, uso de dados do SharePoint como uma origem externa, migração de um banco de dados do Access para um novo site do SharePoint ou para um existente e acesso offline de dados do SharePoint.

Figure 1 O Access 2007 oferece diversos pontos de entrada fáceis para a integração com SharePoint

Figure 1** O Access 2007 oferece diversos pontos de entrada fáceis para a integração com SharePoint **(Clique na imagem para aumentar a exibição)

A criação de uma lista do SharePoint a partir de uma tabela do Access é um bom ponto de partida. Uma lista do SharePoint é muito similar a uma tabela do Access. Ela é salva no banco de dados de conteúdo do SQL Server, contém certos atributos de campo e oferece suporte a pesquisas.

Entre algumas limitações que devemos ter em mente durante a criação de uma lista do SharePoint, podemos destacar: a Microsoft recomenda um limite de 2.000 itens por modo de exibição para obter o desempenho ideal; o SharePoint não impõe a integridade referencial; os Objetos OLE não são exportados para o SharePoint e a validação de dados é limitada.

Para criar uma lista do SharePoint a partir de uma tabela do Access, primeiro selecione a guia Dados Externos e clique no botão Lista do SharePoint habilitado no grupo Exportar. Agora você precisa especificar o site do SharePoint onde essa lista será ativada ao preencher a caixa de diálogo Exportar - Site do SharePoint mostrada na Figura 2 ou clicar com o botão direito do mouse em sua tabela e escolher Exportar para uma Lista do SharePoint. Observe que se a tabela fosse um filho em um relacionamento, todas as tabelas-pai também seriam exportadas.

Figure 2 Os dados de acesso serão exportados para o site do SharePoint especificado por você

Figure 2** Os dados de acesso serão exportados para o site do SharePoint especificado por você **(Clique na imagem para aumentar a exibição)

Quando o processo estiver concluído, você terá a opção de salvar as etapas de exportação para não precisar repeti-las. Neste ponto, você pode ir até o site do SharePoint e ver os dados que foram carregados. Essa operação simples é útil para mover dados para o SharePoint e para torná-los acessíveis aos usuários. Os benefícios são uma segurança maior , já que os dados agora são salvos em um banco de dados do SQL Server, e acesso mais fácil, uma vez que as informações estão disponíveis por meio do navegador.

No entanto, acontece que outra operação — a vinculação de listas no SharePoint como tabelas no Access — é uma forma muito mais eficiente de integrar o Access e o SharePoint. Para isso, clique na guia Dados Externos no Access e escolha Lista do SharePoint no grupo Importar. Isso exibirá a caixa de diálogo mostrada na Figura 3.

Figure 3 Vinculando o Access ao SharePoint

Figure 3** Vinculando o Access ao SharePoint **(Clique na imagem para aumentar a exibição)

Escolha o site que contém a lista do SharePoint que será usada como uma fonte de dados vinculada e selecione a lista que deseja vincular. Quando essa operação estiver concluída, a lista será exibida como uma tabela vinculada no Access e, no canto inferior direito do aplicativo, você verá um indicador "Online com o SharePoint". Agora existe uma sincronização bidirecional entre o Access e o SharePoint, oferecendo suporte às operações de adição, de alteração e de exclusão tanto a partir do SharePoint como do Access. Como você verá, código pode ser escrito na tabela para oferecer funcionalidade extra.

Quando você cria vínculos no Access para listas do SharePoint, verá que outra tabela, a Lista de Informações de Usuários do WSS (Windows® SharePoint Services), também é importada e vinculada por padrão. E uma tabela de problemas é criada e chamada de "Mover para Problemas do Site do SharePoint". Aqui você poderá revisar quaisquer conflitos com os dados.

Para obter mais informações sobre a migração de dados e sobre como tipos de dados são manipulados durante a conversão, consulte "Como o Access faz a conversão entre os tipos de dados do Access e do SharePoint" (office.microsoft.com/en-us/access/HP010477131033.aspx) e a seção chamada Limitações de migração de "Mover as tabelas em um banco de dados do Access para um site do SharePoint e criar vínculos para elas" (office.microsoft.com/en-us/access/HA101314681033.aspx).

Uma terceira forma de integrar tabelas e listas é iniciada por meio do SharePoint. Escolha uma lista e, na guia Ações, clique na opção "Abrir com o Access". Será exibida uma caixa de diálogo que solicitará o nome do banco de dados (novo ou existente). Depois de inserir o nome do banco de dados, opte por simplesmente criar vínculos para os dados do site do SharePoint ou por exportar os dados diretamente para o Access (consulte a Figura 4).

Figure 4 Tornando os dados do SharePoint acessíveis por meio do Access

Figure 4** Tornando os dados do SharePoint acessíveis por meio do Access **(Clique na imagem para aumentar a exibição)

Movendo um banco de dados para o SharePoint

Até aqui, temos analisado a importação de uma lista do SharePoint como uma tabela vinculada e a exportação de tabelas para o SharePoint como listas, mas e se você precisar acessar todo o banco de dados? Muitas organizações possuem aplicativos de missão crítica em execução no Access e precisam que eles estejam disponíveis de forma remota para que indivíduos possam executar relatórios e consultas e inserir dados. Nessas situações nem sempre é exeqüível — economicamente ou com base nas habilidades disponíveis — reescrever o aplicativo. O SharePoint e o Access resolveram isso com a opção "Mover para o SharePoint", encontrada na guia Listas do SharePoint do Access. Isso é similar à opção de mover para o SQL Server usando o Assistente de Upsizing, que apareceu pela primeira vez no Access 97.

As vantagens de mover todo um banco de dados do Access para o Sharepoint é que todas as tabelas serão convertidas para listas do SharePoint; será feito um backup do banco de dados do Access; listas automaticamente se tornarão tabelas vinculadas no Access; você poderá mover todo o banco de dados e não só tabelas e o banco de dados funcionará como antes da mudança.

Quando você clicar no botão Mover para o SharePoint, será exibida a caixa de diálogo da Figura 5. Depois de especificar o site, será preciso decidir se você escolherá a opção de salvar o banco de dados. Em caso afirmativo, todo o banco de dados será salvo em uma biblioteca de documentos selecionada. Isso significa que todo o banco de dados (incluindo formulários, relatórios, consultas e macros) será salvo no SharePoint e, portanto, estará disponível no servidor. Quando um usuário quiser acessar o banco de dados, bastará navegar até a biblioteca onde ele se encontra, clicar nele e ele será automaticamente implantado em seu desktop.

Figure 5 Especifique o site do SharePoint para o qual deseja mover o seu banco de dados

Figure 5** Especifique o site do SharePoint para o qual deseja mover o seu banco de dados **(Clique na imagem para aumentar a exibição)

Quando você opta por mover todo o banco de dados, é exibida uma barra de mensagens Publicar Alterações abaixo da faixa. Isso permite que você mantenha as alterações locais feitas no design e nos dados sincronizadas com a cópia do servidor. Se você não selecionar essa opção, somente as tabelas serão convertidas em listas e vinculadas para o Access. Nesse caso, o banco de dados completo não está disponível para a comunidade de usuários e não será feito seu backup como um objeto do SharePoint.

Depois de escolher uma dessas opções, o banco de dados e suas informações associadas estarão disponíveis por meio do site do SharePoint escolhido. Novamente, uma tabela é automaticamente criada e chamada de "Mover para Problemas do Site do SharePoint". É aqui que qualquer conflito decorrente da migração será documentado. Você pode revisar quaisquer problemas encontrados pelo Access durante o carregamento da tabela no site do SharePoint.

Modos de exibição, formulários e relatórios

Depois que o banco de dados for movido, você vai querer testar sua funcionalidade. Verifique se o indicador "Online com o SharePoint" está visível antes de começar. Observe que consultas do Access se tornam modos de exibição do SharePoint; um modo de exibição do SharePoint é muito similar a uma consulta do Access.

Quando você move todo o banco e dados, as consultas existentes são copiadas para o SharePoint como modos de exibição. Os usuários do Access compreendem que escrever consultas permite que eles vejam um subconjunto de dados. Aprender a fazer isso em um Modo de Exibição do SharePoint ajuda você a entender como os dados são organizados em uma lista do SharePoint.

Um dos modos de exibição mais úteis que podem ser criados é um Modo de Exibição do Access. Para isso, navegue até a lista sob a qual criará o modo de exibição, escolha Modos de Exibição e Criar Modo de Exibição. Ali, você verá a opção Modo de Exibição do Access, que permite a criação de formulários e de relatórios com base em uma lista. Depois de clicar nessa opção e de escolher o banco de dados do Access, surgirá uma caixa de diálogo parecida com a da Figura 6. Como você pode ver, agora é o momento de definir o formato (tipo de formulário, Gráfico Dinâmico, Tabela Dinâmica ou Relatório) e quando o processo for concluído, haverá um formulário ou relatório vinculado no banco de dados do Access.

Figure 6 Criando um Modo de Exibição do Access

Figure 6** Criando um Modo de Exibição do Access **(Clique na imagem para aumentar a exibição)

Acesso offline

No mundo real, estender o alcance de um aplicativo de missão crítica traduz-se em retorno sobre o investimento. Uma forma de estender o alcance de um aplicativo Access/SharePoint integrado é perceber que você não precisa estar conectado ao SharePoint para usá-lo. Para facilitar essa flexibilidade, o Access 2007 introduziu a capacidade de trabalho offline. As informações são armazenadas em cache na cópia local do banco de dados até serem associadas ao servidor. Para colocar um banco de dados em estado offline, clique no botão Trabalhar Offline no grupo Dados Externos|Listas do SharePoint na faixa.

Quando estiver pronto para reconectar-se ao SharePoint, você poderá optar por Trabalhar Online ou Sincronizar. Ambas as opções carregam os dados e apresentam conflitos para revisão; no entanto, com o Synchronize, os dados são carregados mas o aplicativo permanece offline.

Um outro item que deve ser considerado no grupo Listas do SharePoint é Descartar Alterações, que possui duas opções. A primeira descarta todas as alterações mas não atualiza os dados do SharePoint no Access. A segunda opção descarta todas as alterações e atualizações feitas nos dados do SharePoint (listas vinculadas).

Modelos do Access

O Access 2007 possui diversos modelos pré-criados para auxiliar usuários com a criação rápida de soluções comerciais, como você pode ver ao clicar no botão Listas do SharePoint na guia Criar do grupo Tabelas (consulte a Figura 7). A escolha de um deles definirá automaticamente o esquema para uma tabela que esteja vinculada ao SharePoint. No momento, somente Contatos, Tarefas, Problemas e Eventos são suportadas. Isso significa que se você exportar uma tabela que contém um desses tipos de informação, os dados terminarão como o tipo de conteúdo WSS correspondente (por exemplo, Problemas para Problemas).

Figure 7 Escolhendo o tipo de lista

Figure 7** Escolhendo o tipo de lista **

Você também pode criar modelos personalizados que poderão ser usados para listas do SharePoint ou criar modelos do Site do SharePoint com bancos de dados do Access 2007 de vinculação automática. Fazer isso requer o Access 2007 Developer Extensions e a configuração da WSSTemplateID da tabela. Essa propriedade rastreia as tabelas que possuem um modelo de lista do SharePoint equivalente.

O Access e os metadados

As empresas que possuem aplicativos do Access nem sempre desejam mover todos eles para o SharePoint e podem não ser capazes de fazer isso. Nesses casos, algumas vezes faz sentido escrever código em Access para atualizar o SharePoint. Com código, você pode juntar o SharePoint e o Access.

Um exemplo simples é o caso do banco de dados da Northwind Traders, que armazena informações sobre produtos, fornecedores e ordens de cliente. Normalmente, cada produto possui uma planilha de produtos associada entregue pelo fornecedor como um arquivo .pdf. O banco de dados do Access rastreia todas as informações contidas na planilha de produtos, como a localização geográfica, o número do produto, o histórico de revisões e o código de departamento da empresa. Essas informações precisam estar disponíveis para fornecedores por meio da extranet do SharePoint.

Um site do SharePoint é configurado e todos os documentos são movidos para uma biblioteca de documentos vinculada, mas os campos de metadados estão vazios (consulte a Figura 8), uma vez que os dados são rastreados no Access (e a pessoa que monitora isso trabalha confortavelmente com o Access e não deseja mudar).

Figure 8 Documento da Northwind exibido no SharePoint, sem metadados

Figure 8** Documento da Northwind exibido no SharePoint, sem metadados **(Clique na imagem para aumentar a exibição)

Felizmente, como mostra a Figura 9, você pode adicionar código do Visual Basic® for Applications (VBA) para atualizar os metadados por meio do aplicativo do Access. O aplicativo não precisa ser reescrito. O funcionário continua a usar uma ferramenta que já conhece enquanto navega pela Web, e os fornecedores podem acessar a extranet com base em suas permissões (para que vejam somente o que devem ver), e não há problemas de concorrência ou de tamanho de banco de dados.

Figure 9 Atualizando metadados usando código

Figure 9** Atualizando metadados usando código **(Clique na imagem para aumentar a exibição)

Segurança interna

Um dos maiores benefícios de mover aplicativos do Access para o SharePoint é ser capaz de aproveitar as vantagens do seu modelo de segurança, que possui autenticação interna no Active Directory®. Isso significa que você não precisará se preocupar mais com a forma de implementar segurança em aplicativos do Access ao criar esquemas e tabelas e na adição de usuários. Com as listas do SharePoint, você poderá usar a remoção de segurança, onde usuários só verão o que é permitido; isso é inato no SharePoint. Além disso, se houver componentes do banco de dados que você não deseja mover para o SharePoint, não será necessário movê-los.

O SharePoint oferece um modelo de segurança granular e baseado em funções. Ao determinar como e para onde mover um banco de dados, você terá de projetar o site e a segurança antes da migração. Será mais fácil configurar e testar permissões. Além disso, haverá menos problemas de migração e o banco de dados do Access terá um desempenho mais eficiente.

Integridade referencial

Eu seria negligente se pelo menos não mencionasse o assunto integridade referencial. A verdade é que o SharePoint não impõe a integridade referencial como o Access. Muitas instalações são normalizadas em algum nível. Isso precisa ser levado em consideração para que esses bancos de dados do Access de missão crítica funcionem. Felizmente, existem algumas soluções alternativas que podem ser criadas como aprimoramentos ao sistema existente.

Anteriormente, observei que quando você move um banco de dados para o SharePoint, se mover tabelas-filho, também moverá as tabelas-pai. Além disso, os campos de pesquisa são usados no SharePoint quando ele reconhece que uma opção de campo se baseia em outra tabela. Por exemplo, suponha que um cliente seja escolhido e uma ordem seja feita no banco de dados da Northwind Traders. Se essas tabelas fossem movidas para o SharePoint, o campo do cliente seria uma pesquisa na lista Ordem.

E quanto a executar atualizações/exclusões em cascata e operações mais intrincadas? É aqui que o SharePoint e seus fluxos de trabalho devem ser avaliados como uma solução em potencial. Voltando ao banco de dados da Northwind Traders, suponha que um cliente ligue para cancelar uma ordem existente, disparando várias ações: o estoque deve ser reposto, os fornecedores precisam ser notificados, o funcionário associado à ordem deve fazer o acompanhamento do cliente, a remessa deve ser cancelada e a contabilidade tem de ser atualizada. Há muitas partes em movimento que precisam ser coordenadas.

Utilizando o SharePoint Designer, um fluxo de trabalho pode ser criado no SharePoint para cumprir todas as tarefas mencionadas anteriormente assim que o status da ordem mudar. Existem 22 fluxos de trabalho prontos que podem ser misturados e combinados em centenas de ações. O SharePoint Designer é uma ótima ferramenta para criar a marca do seu site e para criar fluxos de trabalho.

A melhor parte é que usar o SharePoint Designer para criar fluxos de trabalho envolve habilidades já conhecidas dos usuários que sabem como "programar" em Access. Isso significa que os usuários que criam aplicativos do Access podem fazer a transição e estender seu escopo de habilidades para a criação de fluxos de trabalho sem muito esforço. Não será preciso escrever código ao utilizar o SharePoint Designer para fluxos de trabalho e a sua implantação é bem simples.

Peter Serzo é engenheiro sênior da CDW Berbee. Sua principal ocupação é arquitetar soluções de SharePoint Enterprise para empresas em todo o mundo.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..