Aspectos importantes do cenário de desenvolvimento e de arquitetura dos Suplementos do SharePoint

Este artigo complementa as informações no artigo Suplementos do SharePoint..

O modelo de Suplemento do SharePoint fornece as seguintes maneiras de hospedar os componentes de um Suplemento do SharePoint:

  • Hospedado pelo provedor: Suplementos que incluem pelo menos um componente remoto e também podem incluir componentes do SharePoint. Os componentes que não são do SharePoint são implantados por sua lógica em sua conta de hardware ou nuvem ou implantados na conta de hardware ou nuvem do cliente usando programas de instalação e instruções que você fornece.

  • Hospedado pelo SharePoint: suplementos que incluem apenas componentes do SharePoint e lógica que é executada no cliente.

Para saber mais sobre opções de hospedagem e algumas diretrizes para escolher entre elas, confira Escolher padrões para desenvolver e hospedar o Suplemento do SharePoint.

Sites de suplemento, hosts da Web, Recursos e componentes do SharePoint em suplementos

O site no qual um Suplemento do SharePoint está instalado é chamado de host da Web. No entanto, as partes significativas do Suplemento do SharePoint, sejam componentes do SharePoint ou componentes externos, não são implantadas no host da Web. As partes externas são implantadas em servidores externos ou contas em nuvem. Os componentes do SharePoint são implantados em um site especial com seu próprio domínio. Isso é chamado de site de suplemento.

Somente um conjunto limitado de elementos da interface do usuário que dão aos usuários acesso a outros componentes do suplemento é implantado no host da Web. Esses componentes de interface do usuário no host da Web são implantados como parte de um Recurso do host da Web - um Recurso que está solto no pacote de suplemento em vez de estar dentro de um arquivo .wsp. Os componentes implantados no site de suplemento estão sempre em Recursos que estão dentro de um arquivo .wsp. Os dois tipos de recursos devem ter escopo da Web. Nenhum outro escopo é possível para os Recursos em Suplementos do SharePoint.

Como regra geral, qualquer componente do SharePoint que não inclua código personalizado executado nos servidores do SharePoint pode ser incluído em um Suplemento do SharePoint (e ser implantado no site de suplemento). No entanto, há algumas exceções e algumas nuances de como e onde os componentes são implantados. Para obter mais informações sobre essas nuances e sobre os hosts da Web, sites de suplemento isolados e Recursos dos suplementos, confira Hosts da Web, sites de suplemento e componentes do SharePoint no SharePoint.

Acessar o suplemento pela interface do usuário

Quando um Suplemento do SharePoint é instalado em um site, o suplemento é listado na página Conteúdo do Site do host da Web. Os usuários podem iniciar o suplemento a partir dessa página. Quando aberto dessa maneira, o suplemento é executado no modo de tela cheia.

Outra maneira pela qual um Suplemento do SharePoint pode ser encontrado é através de uma parte do suplemento, um tipo de web part representada pela classe ClientWebPart. Esse tipo de web part é essencialmente um wrapper para um IFrame que hospedaria uma página do suplemento. No caso mais simples, a única propriedade significativa da web part é um URL que aponta para a página.

Mas as web parts podem ter propriedades personalizadas que os usuários podem definir em uma Toolpart. Essas propriedades podem ser usadas, por exemplo, para definir informações de contexto, como o CEP do usuário. Para incluir uma parte desse suplemento no seu suplemento, crie um Recurso do host da Web no suplemento e adicione a marcação declarativa da web part. Como qualquer outra web part, ela aparece na interface do usuário do SharePoint da qual os usuários adicionam web parts. Você pode ter mais de uma parte do suplemento implantada com o suplemento, se precisar de ainda mais variabilidade. Por exemplo, um suplemento meteorológico pode ter uma parte do complemento que mostra o clima atual e uma segunda parte do complemento que mostra uma previsão semanal. As duas partes podem ter tamanhos e funcionalidades diferentes.

Observação

Você também pode implantar partes do suplemento no site de suplemento. Para implementar isso, a marcação para a web part faria parte de um Recurso dentro de um arquivo .wsp no pacote de suplemento, não no Recurso do host da Web.

Recomendamos que você tente dar aos seus suplementos uma aparência do SharePoint na medida do possível, embora isso não seja obrigatório e nem sempre seja a melhor opção. Para obter mais informações sobre as diretrizes de experiência do usuário, confira Design da experiência do usuário para Suplementos do SharePoint.

Há, por exemplo, uma página mestra especial chamada app.master. Esta página é otimizada para uso pelas páginas de suplementos. A página app.master faz parte de uma nova definição de site incluída no SharePoint.

Outra ferramenta que você pode usar para ajudar seus suplementos a manter uma aparência consistente com o SharePoint é o controle de cromo que acompanha o SharePoint. Esse controle permite adicionar a área do cabeçalho de navegação do SharePoint às suas páginas de suplemento, incluindo páginas hospedadas externamente. Para obter mais informações sobre o design da experiência do usuário nos Suplementos do SharePoint, confira Design da experiência do usuário para Suplementos do SharePoint. Para obter mais informações sobre o controle de cromo, confira Usar o controle cromo do cliente em Suplementos do SharePoint.

Estrutura do pacote de suplementos

Um pacote de Suplemento do SharePoint é um arquivo que possui uma extensão ".app" e está em conformidade com o Open Packaging Conventions (OPC). (Você pode abrir o arquivo adicionando ".zip" como uma extensão extra ao nome do arquivo e abrindo-o no Windows Explorer.) Ele contém um manifesto de suplemento que especifica certas propriedades do suplemento e instruções para a infraestrutura de instalação do SharePoint. Para obter mais informações sobre o manifesto e pacote do suplemento, confira Explorar a estrutura do manifesto do aplicativo e o pacote de um Suplemento do SharePoint.

Permissões, autenticação e autorização para suplementos do SharePoint

O SharePoint introduz um novo sistema de segurança e permissões de suplementos.

Permissões de suplemento

Os suplementos do SharePoint têm permissões, assim como os usuários e grupos. Isso permite que um suplemento tenha um conjunto de permissões diferentes das permissões do usuário que está executando o suplemento.

Você deve solicitar, no arquivo de manifesto de suplemento, as permissões que um suplemento precisa executar. O usuário que adiciona o suplemento deve conceder essas solicitações e o usuário só pode conceder permissões que ele ou ela tem como usuário. A concessão deve ser para todas as permissões solicitadas ou nenhuma delas para simplificar o gerenciamento de permissões para usuários e desenvolvedores. (A entidade de suplemento sempre tem direitos de controle total para o suplemento Web, portanto, ela só precisa solicitar permissões aos recursos do SharePoint na Web do host ou em outros locais fora do suplemento web.)

Para obter mais informações sobre permissões de suplemento, confira Permissões de suplemento no SharePoint.

Autorização e delegação seletivas

Nem os usuários que estão iniciando um suplemento nem os proprietários de recursos que estão concedendo uma permissão para acessar um recurso precisam fornecer ao suplemento suas credenciais ou senha. Em vez disso, o SharePoint permite que usuários e proprietários de recursos concedam apenas as permissões específicas solicitadas pelo suplemento. O que torna isso possível é o uso do protocolo de transação OAuth 2.0 feito pelo SharePoint. Para obter mais informações sobre o OAuth no SharePoint, confira Fluxo OAuth do Token de Contexto para Suplementos do SharePoint.

Acesso entre domínios

Um Suplemento do SharePoint que inclui um aplicativo Web remoto que usa JavaScript para sua lógica de acesso a dados pode usar uma biblioteca de domínio cruzado JavaScript para obter acesso autorizado aos dados do SharePoint dentro da locação em que o suplemento está instalado. Para obter mais informações, confira Acessar dados do SharePoint a partir de suplementos usando a biblioteca de domínio cruzado.

Ciclo de vida de suplementos

O ciclo de vida de um suplemento do SharePoint inclui publicação, instalação, atualização e desinstalação. Para obter mais informações sobre esses assuntos, confira Publicar Suplementos do SharePoint, Implantando e instalando Suplementos do SharePoint: métodos e opções e processo de atualização de suplementos do SharePoint.

Observe também que há um mecanismo pelo qual os administradores de locatários podem instalar em lote um Suplemento do SharePoint em vários sites. Para obter mais informações, confira Locações e escopos de implantação para Suplementos do SharePoint.

Armazenamento de dados em Suplementos do SharePoint

Os suplementos do SharePoint podem criar e acessar qualquer tipo de dados, incluindo dados estruturados, documentos e arquivos multimídia. Esses dados podem ser armazenados no SharePoint ou em um local externo.

Opções de armazenamento de dados estruturados

Um Suplemento do SharePoint pode usar quase qualquer tipo de armazenamento de dados estruturado, dentro e fora do SharePoint e em plataformas Microsoft e não Microsoft. A seguir estão alguns locais onde você pode armazenar dados estruturados para um Suplemento do SharePoint:

  • Listas do SharePoint em um site do suplemento
  • SQL Azure
  • Fontes de dados externas conectadas ao SharePoint com o Microsoft BCS (Business Connectivity Services )
  • Um serviço de nuvem que não seja da Microsoft
  • Um banco de dados em seu próprio servidor

Dica

Você provavelmente atualizará o Suplemento do SharePoint em algum momento. Quando um Suplemento do SharePoint inclui componentes do SharePoint em um site de suplemento, o processo de atualização faz uma cópia completa do site de suplemento. Por esse motivo, listas muito grandes do SharePoint no site de suplemento tornam o processo de atualização demorado e processamento intensivo no servidor de banco de dados de conteúdo. Você deve evitar colocar "big data" nas listas do SharePoint no site de suplemento.

Opções de armazenamento de dados não estruturados

Documentos, imagens, vídeos, arquivos de áudio e outros tipos de dados não estruturados produzidos ou usados por um Suplemento do SharePoint podem ser armazenados dentro ou fora do SharePoint. As bibliotecas de documentos são uma boa opção para documentos e são pesquisáveis por meio da pesquisa do SharePoint. Uma biblioteca de ativos do site geralmente é uma boa opção para arquivos multimídia.

Outras opções incluem armazenamento de Blobs na sua conta do Microsoft Azure ou em seus próprios servidores. Você também pode armazenar arquivos em algumas plataformas ou serviços de nuvem que não são da Microsoft.

Configurações de suplementos e outras opções de armazenamento de metadados

Os metadados de um Suplemento do SharePoint, como preferências do usuário, informações de localização e outras configurações, podem ser armazenados em vários locais. Às vezes, uma lista oculta do SharePoint é uma boa opção. Você também pode usar o recipiente de propriedades do site de suplemento. Outra opção, para um suplemento hospedado pelo provedor, é usar o armazenamento de Tabela do Azure.

Opções de acesso seguro a dados

As opções para acesso seguro a dados dependem da sua escolha de armazenamento. O acesso e a pesquisa de dados são discutidos em detalhes em vários outros artigos. Para obter mais informações, confira Proteger acesso a dados e modelos de objeto cliente para Suplementos do SharePoint.

Gerenciar suplementos

Administradores de coleção de sites e administradores de locatários podem monitorar suplementos e alterar os recursos alocados para eles. Além disso, o pessoal da Microsoft para o repositório de suplementos pode sinalizar suplementos e desabilitá-los.

Para obter mais informações sobre como gerenciar suplementos, confira Instalar e gerenciar Suplementos do SharePoint no TechNet.

Monitorar suplementos

O SharePoint fornece monitoramento de integridade de suplementos e disponibiliza essas informações na interface do usuário para proprietários de sites, administradores de locatários e administradores de farm. A maioria da documentação para o sistema de monitoramento está no TechNet; por exemplo, Monitorar Suplementos do SharePoint. Esta seção é apenas uma introdução rápida para explicar como os suplementos que você vende são monitorados.

Alguns tipos de dados são relatados por aplicativo e outros tipos são relatados por instância de aplicativo. Os itens primários que a estrutura de monitoramento relata são os seguintes:

  • Uso do suplemento, como o número de vezes que ele foi instalado (criando uma nova instância).
  • Consumo de recursos de servidor de cada instância de suplemento.
  • Erros de instalação, atualização e tempo de execução de cada instância de suplemento.
  • Um indicador de integridade geral para cada instância do suplemento, em vermelho, amarelo e verde.

Se o suplemento incluir componentes de site do Azure, a estrutura de monitoramento também pesquisará o Azure por hora quanto aos dados de erro e relatará erros críticos e dados de cota de armazenamento na interface do usuário do SharePoint. Os erros do banco de dados SQL do Azure não são relatados.

As informações fornecidas pela estrutura de monitoramento permitem que administradores determinem se seu orçamento de compra de suplementos está sendo gasto de maneira sensata, independentemente de terem que implantar mais recursos para suplementos e terem que desabilitar um suplemento que não está funcionando corretamente.

Registrar dependências de suplemento

Se o suplemento do SharePoint depender de um recurso do SharePoint que não está disponível e não puder ser disponibilizado na Web de suplemento, ele não funcionará corretamente e seus clientes reclamarão. Você pode garantir que o suplemento não esteja instalado onde os serviços e recursos necessários não estão disponíveis registrando as dependências do manifesto de suplemento do suplemento. A infraestrutura de instalação dos Suplementos do SharePoint verificará esses pré-requisitos e bloqueará a instalação do suplemento se algum deles não estiver disponível.

Para serviços, como serviços do Excel, Access ou Visio, a infraestrutura verificará se o serviço está instalado e licenciado.

Para recursos, como uma Lista de tarefas, a infraestrutura verifica se o Recurso foi implantado e:

  • ativado no escopo Farm, WebApplication ou Site (conjunto de sites)

ou

  • ativável, com escopo da Web, em site de suplemento criados quando o suplemento é instalado.

Observação

A infraestrutura de instalação de suplemento ativará automaticamente esses Recursos em site de suplemento quando forem criados.

As seções a seguir fornecem os detalhes necessários para registrar os pré-requisitos.

Registrar implicitamente dependências com solicitações de permissão

Quando o suplemento precisar acessar os componentes do SharePoint fora do site de suplemento, ele deverá solicitar permissão para esses recursos na seção AppPermissionRequests do manifesto de suplemento. Essas solicitações de permissão também servem como registros de pré-requisito, porque o SharePoint deduzirá, a partir das permissões solicitadas pelo suplemento, que o suplemento precisa de certos recursos do SharePoint para estar disponível. Em muitas situações, o SharePoint pode inferir que todos os recursos necessários ao seu suplemento e as demais seções deste tópico não são necessários. No entanto, registros de dependência redundantes não são prejudiciais.

Registrar explicitamente dependências com AppPrerequisites

Quando o suplemento possui uma dependência que não está implícita nas solicitações de permissão, é necessário registrar cada dependência com um elemento AppPrerequisite no manifesto de suplemento. Há três atributos neste elemento: Tipo, ID e (opcionalmente) MinimumVersion.

Há três possíveis valores de pré-requisito para Tipo: Feature, Capablility e AutoProvisioning. Um pré-requisito do Recurso é simplesmente um Recurso do SharePoint que deve ser implantado e ativado no site de suplemento ou em um escopo mais amplo que inclua o site de suplemento. Uma capacidade é um conjunto de Recursos e serviços relacionados que devem estar disponíveis no site de suplemento. (AutoProvisioning é discutido na próxima seção.)

O MinimumVersion opcional especifica a versão mais baixa do Recurso ou capacidade que seu suplemento exige. Os valores dos atributos têm o formato n.n.n.n; por exemplo 15.0.0.0.

A ID especifica qual Recurso ou capacidade é necessário. Se o Tipo for Feature, a ID é o GUID entre colchetes e hifenizado do Recurso; por exemplo {151D22D9-95A8-4904-A0A3-22E4DB85D1E0}. Se o Tipo for Capability, a ID é o GUID da capacidade. As capacidades estão listadas abaixo. Para obter a localização do GUID de um recurso, confira Elemento AppPrerequisite (AppPrerequisiteCollection complexType) (Manifesto de Suplemento do SharePoint).

  • Serviços do Access 2010
  • Serviços do Access
  • Serviço Web de Metadados Gerenciados
  • Serviços do PowerPoint
  • Serviços de Repositório Seguro
  • Serviço de Tradução Automática
  • Serviço de Perfil de Usuário
  • Serviço de Gráfico do Visio
  • Serviço de Gerenciamento do Trabalho
  • Duet
  • Fluxo de trabalho
  • Pesquisa
  • EDU

Veja a seguir um exemplo de marcação bruta AppPrerequisites que registra a capacidade do Fluxo de trabalho. Se você estiver usando o Visual Studio, edite o manifesto de suplemento em uma ferramenta de designer.

<AppPrerequisites>
  <AppPrerequisite Type="Capability" ID="{CDD8F991-B459-4512-8048-03D5A03FF27E}" MinimumVersion="15.0.0.0" />
</ AppPrerequisites>

Nesta seção

Confira também