Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Posts Tagged ‘Sandbox

SharePoint 2013 : Farm Solution x Apps

with one comment


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 Alegre) 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

      http://blogs.msdn.com/b/uksharepoint/archive/2013/03/25/sharepoint-2013-development-apps-versus-solutions.aspx

      Advertisements

      Written by Rodrigo Romano

      December 2, 2013 at 10:48 am

      Sandbox solutions para SharePoint 2013

      with one comment


      Olá SharePointers,

      Hoje eu vou falar de um assunto um tanto polêmico: sandbox solutions. Esse conceito que foi introduzido no SharePoint 2010, permitia ao usuário criar suas próprias soluções e disponibilizar no SharePoint para todos utilizarem.

      Existiam algumas limitações, sim. Aliás, algumas não. Várias! Para quem quiser saber mais sobre o assunto, veja: http://technet.microsoft.com/en-us/library/ee721992(v=office.14).aspx.

      Como funcionava as soluções Sandbox:

      image

       

      Basicamente, a principal limitação é que Sandbox solutions não pode colocar arquivos no File System do servidor, ou seja, nenhuma das opções abaixo poderia ser feito utilizando tal recurso:

      • Assemblies que necessitem estar no GAC

      • Soluções que são ativadas nos níveis da Farm ou da Web Application

      • Application Pages, user controls

      • Templates de workflow (tanto sequencial quanto maquina de estado)

      • Projetos do tipo Business Data Connectivity Services Model

      • e seus principais cenários para utilização são:

      • Criar site columns, content types, e definição de listas

      • Criar listas e adicionar event handlers para fazer validações de dados

      • Criar nós de navegação no Quick Launch ou no menu de navegação

      • Web Parts que buscam e atualizam listas

      • Site Pages para hospedar WebParts e aplicações Silverlight

      • Fazer o branding do site, criando Master Pages, CSSs e imagens.

      • Criar ações customizadas para utilizar em Workflows

      Não vou me delongar nesse assunto, porque não é o foco. Estou apenas compartilhando para vocês entenderem o propósito.

       

      MAS… como isso funcionará no SharePoint 2013?

      Um pouco de histórico: em toda minha experiência de desenvolvedor SharePoint, as soluções “Sandboxed” trouxeram apenas mais problemas. Profissionais de infraestrutura passaram a acreditar que esse era o “único” modelo a ser seguido, com isso, alguns projetos viravam um campo de batalha entre DEVs e IT Pros.

      Como o subset de comandos, namespaces, classes, controles, etc. que podiam ser utilizados, acabavam tornando tarefas simples, complicadas o que aumentava complexidade de projetos, tempo de desenvolvimento e consequentemente CUSTO.

      Exemplo: Esse artigo de criar webparts sem código (http://rodrigoromano.net/2010/10/13/criando-sharepoint-2010-visual-web-part-para-inserir-itens-em-lista-sem-codigos/) não dava para ser utilizado em sandbox.

      Anyway, conversando com alguns MVPs americanos, e vendo a documentação do SharePoint 2013 temos a sensação de que a Microsoft nos escutou! Alegre 

      Vejam: http://msdn.microsoft.com/en-us/library/office/apps/jj163114(v=office.15) 

      SharePoint sandboxed solutions are deprecated in SharePoint 2013 in favor of developing apps for SharePoint, but sandboxed solutions can still be installed to site collections on SharePoint 2013

      Isso significa, na prática, que Sandboxed Solutions estarão disponíveis apenas para compatibilidade com o legado e não deverão mais ser utilizadas.

      Grande notícia para quem sofria com algo, que apesar de muito promissor, não via muito futuro…

      Experience does matter Smiley piscando

      Abraços!

      Written by Rodrigo Romano

      January 8, 2013 at 11:07 pm