Partilhar via


Visão geral de soluções de área restrita (SharePoint Foundation 2010)

 

Aplica-se a: SharePoint Foundation 2010

Tópico modificado em: 2016-11-30

Você pode implantar uma solução do Microsoft SharePoint Foundation 2010 diretamente no seu farm do SharePoint Foundation ou pode implantá-la em uma nova área restrita. Uma área restrita é um ambiente de execução restrito que permite aos programas acessar somente determinados recursos e que impede que os problemas que ocorrem nessa área restrita afetem o restante do ambiente de servidor.

As soluções implantadas em uma área restrita, conhecidas como soluções de área restrita, não podem usar certos recursos de computador e rede e não podem acessar conteúdo fora do conjunto de sites no qual estão implantadas. Para obter mais informações sobre as restrições das soluções de área restrita, consulte O que uma solução de área restrita não pode conter.

Como soluções de área restrita não podem afetar o farm de servidores inteiro, elas não precisam ser implantadas por um administrador do farm. Essas soluções podem ser implantadas por um administrador do conjunto de sites ou, em certas situações, por um usuário que possui controle total na raiz do conjunto de sites. Apenas um administrador do farm pode promover uma solução de área restrita para execução diretamente no farm, fora de sua área restrita.

É especialmente apropriado usar soluções de área restrita em dois cenários:

  • Quando uma organização deseja executar um código para funcionários em um site de produção do SharePoint Foundation, e esse código não foi rigorosamente analisado e testado.

  • Quando um hoster deseja permitir que os proprietários de sites hospedados do SharePoint Foundation carreguem e executem um código personalizado.

Este artigo apresenta os conceitos que estão relacionados a soluções de área restrita, explica as diferenças entre essas soluções e as soluções que são implantadas no farm e resume como as soluções de área restrita são implantadas e executadas. Este artigo não contém procedimentos detalhados para a configuração da área restrita ou para a implantação de soluções de área restrita.

Neste artigo:

Implantando e executando uma solução de área restrita

Qualquer página de um aplicativo do SharePoint Foundation pode conter componentes que são executados em uma área restrita, além de outros componentes que são executados diretamente no farm. Os componentes que são implantados no farm são executados no processo de trabalho do IIS (Serviços de Informações da Internet). Os componentes que são implantados na área restrita são executados em um processo de área restrita.

A lista a seguir identifica vários dos componentes que você pode implantar em uma área restrita:

  • Web Parts

  • Receptores de eventos

  • Receptores de recursos

  • Atividades de fluxo de trabalho personalizadas do Microsoft SharePoint Designer

  • Lógica de negócios do Microsoft InfoPath

As etapas a seguir descrevem como implantar uma solução de área restrita:

  1. Um administrador do farm realiza as tarefas a seguir, que só precisam ser concluídas uma vez.

    • Um administrador do farm habilita a área restrita e inicia o serviço correspondente em cada servidor que executará soluções de área restrita.

    • Um administrador do farm determina o esquema de balanceamento de carga a ser usado. Esse esquema se aplica a todas as soluções de área restrita de todos os conjuntos de sites do farm.

    • Um administrador do farm define cotas de recursos que a combinação de todas as soluções de área restrita em um conjunto de sites não pode exceder.

  2. Um administrador do conjunto de sites ou um usuário com controle total na raiz do conjunto de sites carrega uma solução na galeria de soluções desse conjunto.

  3. Um administrador do conjunto de sites ativa a solução. Se ela não contiver um assembly, um usuário com controle total na raiz do conjunto de sites também poderá ativá-la. Ferramentas de validação são executadas com base na solução. Se esta última não passar na validação, ela não será ativada.

Quando uma solicitação para executar uma solução de área restrita é processada, ocorrem as seguintes atividades:

  1. Com base no esquema de balanceamento de carga, o SharePoint Foundation determina em qual servidor a solução deve ser executada. Se o balanceamento de carga for local, a solução será executada no mesmo servidor que está atendendo à solução. Se o balanceamento de carga for remoto, o servidor no qual a solução é executada será selecionado com base na afinidade de soluções. Em ambos os casos, o servidor deve estar executando o serviço de área restrita.

  2. O SharePoint Foundation seleciona um processo de trabalho de área restrita no qual executar a solução, carrega uma biblioteca de vínculos dinâmicos (dll) de “correção” nesse processo e então carrega o assembly da solução no processo.

  3. Conforme a solução é executada, seu código passa pela correção antes de ser executado pelo SharePoint Foundation. Se o código da solução tentar usar APIs com limitação de uso pelas soluções de área restrita, a correção sinalizará uma exceção em vez de deixá-lo passar e ser executado.

  4. O SharePoint Foundation monitora os recursos que são usados por soluções de área restrita. Se uma solução de área restrita exceder um limite invariável (por exemplo, se usar um tempo de CPU superior ao valor predefinido), o SharePoint Foundation finalizará o processo de trabalho de área restrita. Se a combinação de todas as soluções de área restrita do conjunto de sites exceder a cota de recursos desse conjunto, o SharePoint Foundation desativará todas elas pelo resto do dia.

  5. Um administrador do conjunto de sites pode monitorar os recursos usados por soluções de área restrita e pode desativar soluções no conjunto de sites.

Se necessário, um administrador do farm pode impedir que uma solução seja executada no farm. Como opção, ele também pode remover a exigência de que uma solução seja executada em uma área restrita. Se essa exigência for removida, quando a solução for executada em qualquer conjunto de sites do farm, ela não será mais executada em uma área restrita.

Isolando soluções de área restrita

Você pode isolar soluções de área restrita com base em vários níveis. Cada nível adicional de isolamento aumenta sua capacidade de proteger a parte principal do seu site do SharePoint Foundation contra códigos que possam consumir muitos recursos. No primeiro nível, o código de área restrita é executado em um processo isolado restrito por direitos. A CAS (Segurança de Acesso de Código) limita as operações que o código pode realizar. Você pode aumentar o isolamento usando o balanceamento de carga e executando o serviço de área restrita apenas em servidores específicos. Em um ambiente de produção, convém usar o balanceamento de carga remoto e dedicar um servidor à parte para a execução de soluções de área restrita.

O que uma solução de área restrita não pode conter

Uma solução do SharePoint Foundation deve conter o arquivo de configuração que se chama manifest.xml e também pode conter assemblies e arquivos de configuração adicionais. Se a solução for executada em uma área restrita, o assembly e os arquivos de configuração apresentarão limitações quanto ao conteúdo permitido.

A lista a seguir identifica as coisas mais comuns que um assembly que será executado em uma área restrita não pode fazer.

  • Conectar-se a recursos que não estão localizados no servidor local.

  • Acessar um banco de dados.

  • Alterar o modelo de threading.

  • Chamar um código não gerenciado.

  • Gravar em disco.

  • Acessar recursos em um conjunto de sites diferente.

O arquivo manifest.xml faz referência a arquivos de recursos. Estes fazem referência a arquivos de elementos, que, por sua vez, contêm elementos de feature. Os únicos elementos de feature permitidos em uma solução de área restrita são:

  • ContentType

  • Field

  • CustomAction

  • Module

  • ListInstance

  • ListTemplate

  • Receivers

  • WebTemplate

  • WorkflowAssociation

  • PropertyBag

  • WorkflowActions

Comparação entre soluções de área restrita e soluções de farm

A tabela a seguir compara aspectos de soluções executadas em um farm com soluções executadas em área restrita.

Aspecto Farm Área restrita

Processo de implantação

Adicionar a solução e depois implantá-la no farm.

Carregar a solução em um conjunto de sites e depois ativá-la nesse conjunto.

Quem pode implantar

Administrador do farm.

Se a solução contiver um assembly, apenas um administrador do conjunto de sites poderá implantá-la. Se ela não contiver um assembly, um usuário com controle total na raiz do conjunto de sites também poderá implantá-la.

Acesso a dados

Sem restrição.

A solução somente pode acessar conteúdo do conjunto de sites no qual ela foi implantada.

Processo no qual a solução é executada

Processo de trabalho sem restrição do IIS ou qualquer processo no qual a solução esteja implantada.

Processo de trabalho separado que possui direitos restritos.

Segurança de acesso a código

O desenvolvedor da solução pode definir a diretiva de segurança de acesso a código ao preparar a solução.

Restrito. Para obter mais informações, consulte Deploying a Sandboxed Solution (Implantando uma solução de área restrita) (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0x416).

Monitoramento

Não monitorado.

Monitorado e limitado por cotas definidas pelo administrador do farm.

Balanceamento de carga

Varia de acordo com o tipo de solução.

Configurável separadamente de soluções fora da área restrita.

Funcionalidade da solução

Sem restrição.

Restrito, conforme descrito em O que uma solução de área restrita não pode conter.

Benefícios do uso de soluções de área restrita

Os principais benefícios do uso de soluções de área restrita são os seguintes:

  • Soluções podem ser adicionadas a um ambiente de produção do SharePoint Foundation sem o risco de afetarem processos fora da área restrita.

  • Os administradores do conjunto de sites podem implantar soluções de área restrita, dispensando os administradores do farm dessa tarefa.

  • A escalabilidade e a flexibilidade aumentam, já que as áreas restritas são executadas em processos separados que podem ser restritos por cotas, e seu efeito no farm pode ser monitorado.

  • Uma solução não precisa ser modificada ou recompilada se é movida de uma área restrita para execução diretamente no farm.

See Also

Concepts

Planejamento de soluções em área restrita (SharePoint Foundation 2010)

Other Resources

Sandboxed solutions administration (SharePoint Foundation 2010)
Sandboxed Solutions Architecture (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x416)
Implantando uma solução de área restrita (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0x416)