Infra - Sharepoint
Desenvolvimento de Aplicações Utilizando a Plataforma Sharepoint 2007 – Parte 1
Neste artigo vamos ver quais as melhores e mais convenientes práticas de desenvolvimento de aplicações baseadas no Sharepoint 2007.
por Cristian Arrano TownsendIntrodução
Enquanto aguardamos a versão 2010 do Office, que trará recursos fantásticos no Sharepoint, vamos continuar falando sobre o Sharepoint 2007. Neste artigo vamos ver quais as melhores e mais convenientes práticas de desenvolvimento de aplicações baseadas no Sharepoint 2007.
Como o Sharepoint 2007 é um produto, toda e qualquer customização sobre o mesmo não é uma tarefa trivial, como estamos acostumados no Visual Studio, sempre começando um projeto do zero e tendo 100% de controle sobre o mesmo.
Arquitetura
Antes de “meter a mão na massa” no Sharepoint, é conveniente entender como o Sharepoint é composto.
O ASP.NET, SQL e o IIS são a base principal do Sharepoint. Quando instalado, o as páginas são distribuidos em várias pastas do sistema. Parte de nossos exemplos é desenvolver na pasta _layouts, que fica localizada na pasta C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS.
O Banco de dados do Sharepoint é basicamente composto por 2 tipos: Configuração, Administração e Conteúdo. Não é recomendável trabalhar diretamente nos Bancos de Dados, já que sua estrutura não é explicita e fácil de ser compreendida.
Desenvolvimento utilizando API do Sharepoint
Devido a sua arquitetura, o desenvolvimento de aplicações no Sharepoint 2007 não é uma tarefa trivial e simples. Por várias razões:
ü Segurança – Como o Sharepoint é um produto fechado, customizações requerem de permissões que dificultam muito o desenvolvimento e principalmente o deploy.
ü Ambiente – O Sharepoint só pode ser instalado no Windows 2003 (salvo uma exceção da Bamboo Solutions), o que dificulta bastante o desenvolvimento.
ü Banco de Dados – Como se trata de um produto “fechado”, não é recomendável alterar a estrutura do banco de dados, o que nos obriga a lidar com os dados através da API.
Em contra-partida, o Sharepoint disponibiliza um conjunto de API’s que realizam todas as tarefas necessárias para acessar e customizar o Sharepoint.
Para ilustrar de maneira simples, vamos a um exemplo prático da API do Sharepoint.
Crie um Projeto no Visual Studio 2008 do tipo Web Site, como mostra a figura abaixo:
Note que o site foi criado no endereço localhost/_layouts. A explicação para esse procedimento é muito simples. A pasta _Layouts já faz parte do contexto do Sharepoint. Fisicamente ela está localizada na pasta Program Files. (c:\Progra m Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS).
Uma vez criado o site, vamos referenciar a API do Sharepoint, para utilizar os recursos que o Sharepoint nos entrega.
Note que as referências do Sharepoint aparecem na lista de assemblies do .net porque estamos trabalhando no Windows 2003. Caso o desenvolvimento seja feito em uma maquina de desenvolvimento, com Windows Vista ou XP, basta copiar a DLL (Microsoft. Sharepoint.dll) para a maquina de desenvolvimento e acessar.
Uma dos principais motivos de desenvolver diretamente no Windows 2003 é a capacidade de debug da aplicação.
Agora que temos a referência criada, vamos iniciar o código da página Default.aspx
Como primeiro exemplo, vamos colocar em um Label o título do site atual, do contexto. O código é mostrado abaixo:
O resultado pode ser visto na figura abaixo:
Agora nosso desafio será mostrar todas as listas do site site do contexto. O código para alcançar tal objetivo é mostrado abaixo:
O resultado do código acima é mostrado abaixo:
Agora que temos conhecimento de como utilizar a API do Sharepoint para desenvolver aplicações, vamos criar um exemplo utilizando CAML.
CAML
CAML é a abreviação de Collaborative Application Markup Language e é uma espécie de SQL para criar consultas no Sharepoint. Sua sintaxe confusa e dificil de entender é sem dúvida, o grande impedimento da tecnologia. Felizmente existem editores que fazem o trabalho sem muito esforço, evitando que percamos tempo fazendo consultas.
O editor mais conhecido é o CAML Builder, e pode se baixado deste site: http://www.u2u.info/Blogs/Patrick/Lists/Posts/Post.aspx?ID=1252
No nosso artigo vamos fazer um exemplo utilizando CAML que liste os itens de uma lista aplicando um critério. No nosso caso, o critério será mostrar os produtos de uma lista que tenham um preço superior a um valor inserido pelo usuário.
Primeiramente vamos criar nossa consulta utilizando o CAML Builder.
Ao iniciar o CAML Builder, é necessário colocar o site que vamos trabalhar e mapear as listas.
Conectado no Sharepoint, selecionamos a lista Produtos e fazemos nossa consulta, resultando na imagem abaixo:
No SQL, nossa consulta seria por exemplo: select * from produtos where preco > 100. Já no CAML, nossa consulta fica enorme e de dificil interpretação, como é mostrado no código abaixo:
<Query> <Where> <Gt> <FieldRef Name="Preco" /> <Value Type="Currency">100</Value> </Gt></Where></Query>
Tendo a consulta em mãos, basta criar a página que executará a consulta acima.
No Visual Studio 2008, crie uma página chamada CAMLExemplo.aspx e crie os seguintes controles:
ü Textbox com ID TxtPreco
ü Button com ID BtnOk
ü Gridview com ID GviewProdutos
Ao clicar duas vezes no botão BtnOk, vamos inserir o código mostrado abaixo:
O código acima vincula um Gridview com um Datatable, através do método GetSiteData. O resultado pode ser exibido abaixo:
Na próxima parte do artigo, veremos como aplicar Master Pages em páginas desenvolvidas com Visual Studio e como trabalhar visualmente com Web Parts no Visual Studio.
- 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