Olá SharePointers,
Com a introdução da versão 2013 do SharePoint no mercado, vários conceitos novos foram adicionados à nossa lista de termos técnicos. Um deles é a nova forma de desenvolver soluções usando a plataforma SharePoint 2013: os Apps.
Vemos pessoas comentarem sobre o assunto, discutirem, sites falando diversas coisas sobre o assunto (inclusive o quanto o recurso é interessante, principalmente do ponto de vista de administradores do ambiente) mas ainda não tinha visto alguém falar quando efetivamente eu devo usar um ou outro.
Então, para ajudá-los a decidir qual das tecnologias utilizar, vamos analisá-las com mais detalhe:
1. Hosting
A primeira preocupação é decidir onde o meu código será executado. Se for Apps, o código nunca rodará no ambiente do SharePoint. Toda a comunicação será feita através de chamadas via WebServices, REST, etc.
Caso seja Farm Solutions, o código será executado no processo do IIS w3wp ou no do SandBox SPUCWorkerProccess.
Mas, na prática, o que isso influencia?
- Nenhum código é instalado na farm, aumentando sua estabilidade e segurança
- O deploy de uma Farm Solution depende de um administrador de TI, gerando períodos de “downtime” por ter que reiniciar o IIS, embora que com Sandbox solutions isso não acontecia.
Basicamente, no caso dos Apps, existem 3 tipos de hosting:
Provider-Hosted: Os apps que implementam esse tipo de arquitetura podem ter uma interface com o SharePoint, mas a maior parte de sua lógica está em outra tecnologia, como um servidor na nuvem. Utilizado para integrar sistemas legados com o SharePoint.
Auto-Hosted: Esse tipo é similar ao anterior (Provider-Hosted), mas a diferença é que o SharePoint (e Azure ) faz o trabalho sujo de provisionar o site e o database necessário para o seu funcionamento.
SharePoint-Hosted: Esse tipo de App roda no SharePoint sem dependências externas, toda a sua lógica roda no contexto de um browser cliente. Sua lógica de negócios é implementada utilizando JavaScript, mas pode fazer deploys de Listas e Bibliotecas.
2. Escopos
Solutions
Soluções Full Trusted podem ser instaladas em qualquer escopo (Farm, Web App, Site Collection, Site).
Soluções Sandboxed somente em Site Collections.
Apps
Apps possuem 2 tipos de escopo:
- Site: Mesmo escopo do site SharePoint
- Tenancy: Nesse caso, é obrigatório a utilização do App Catalog.
- 3. Integração
- Solutions
- As únicas opções disponíveis eram: BCS ou WebServices, fazendo com que fosse uma experiência limitada no que diz respeito a integração com aplicações externas.
- Apps
- Como o desenvolvimento é feito através de técnicas bastante conhecidas de Web, é possível construir aplicações com quase nenhum conhecimento de SharePoint. Além disso, o Visual Studio 2012 contém os templates necessários para ajudar nessa tarefa.
- Como as aplicações baseiam-se em HTML e JavaScript, elas tornaram-se “Device Free”, podendo rodar em quase todos os dispositivos existentes.
Conclusão
Sempre que possível, considere a utilização de Apps ao invés de utilizar o método “tradicional”. Além de compatibilidade extendida com dispositivos mobile e maior possibilidade de integrações, esse modelo ajuda todo um ecossistema de desenvolvedores de outras plataformas a conseguirem implantar/integrar suas aplicações com o SharePoint.
Referências
Apps for SharePoint compared with SharePoint solutions
http://msdn.microsoft.com/en-us/library/jj164060.aspx#Factors
http://msdn.microsoft.com/en-us/library/jj162979.aspx
http://msdn.microsoft.com/en-us/library/office/fp179887.aspx