Proteger acesso a dados e modelos de objeto cliente para Suplementos do SharePoint

Ao avaliar suas opções de acesso a dados para os Suplementos do SharePoint, você deve avaliar seu ambiente de suplemento e considerar vários fatores, como a comunicação entre o cliente e o servidor e o nível de permissão necessário para que o suplemento execute o tarefas necessárias. Você também deve avaliar as APIs disponíveis no modelo para Suplementos do SharePoint.

Visão geral resumida dos dados em Suplementos do SharePoint

É difícil imaginar um Suplemento do SharePoint (ou qualquer suplemento) que não precise consultar, armazenar ou manipular dados. No seu suplemento, você frequentemente precisará recuperar e manipular dados do Microsoft Office SharePoint Online, como itens em bibliotecas e listas de documentos, metadados ou perfis de usuário. Da mesma forma, você pode ter cenários em que precisa acessar dados externos no seu suplemento. O modelo para Suplementos do SharePoint fornece várias opções de conectividade e um rico conjunto de APIs para acessar os dados e serviços que residem no Microsoft Office SharePoint Online e em sistemas externos.

À medida que você projeta seu suplemento e planeja o acesso aos dados, é necessário tomar duas decisões importantes:

  1. Que opção de conectividade devo usar?
  2. Que APIs devo usar para acessar os dados necessários?

As figuras a seguir resumem as diferentes opções fornecidas pelo modelo para Suplementos do SharePoint. Nas próximas seções, você examinará cada opção detalhadamente e aprenderá a usá-las.

A Figura 1 ilustra as suas opções para acessar dados do Microsoft Office SharePoint Online em seu suplemento. Ao lidar com esses cenários, você precisa decidir se deseja autenticar e se comunicar com o Microsoft Office SharePoint Online usando (1) OAuth ou (2) a biblioteca de domínio cruzado. Para a API de acesso a dados, você deve decidir entre (3) o modelo de objeto cliente (modelos de objeto cliente JavaScript/.NET) ou (4) Representational State Transfer (REST).

Lembre-se de que você também pode acessar determinados dados usando (5) receptores de eventos remotos; no entanto, o cenário principal para receptores de eventos remotos é a execução remota de código.

Figura 1. Opções de uso de dados do Microsoft Office SharePoint Online no seu suplemento

Opções de uso de dados do Microsoft Office SharePoint Online no seu suplemento

A Figura 2 mostra as suas opções para acessar dados externos no seu suplemento. Ao trabalhar com esses cenários, você deve decidir se deseja usar (1) o proxy da Web, (2) tipos de conteúdo externo ou (3) a biblioteca de domínio cruzado com uma página de proxy personalizada para se autenticar e se comunicar com serviços ou sistemas externos. Você também pode usar (4) o modelo de objeto cliente (modelos de objeto cliente JavaScript/.NET) ou (5) Representational State Transfer (REST).

Figura 2. Opções de uso de dados externos no seu suplemento

Opções de uso de dados externos no seu suplemento

Opções de conectividade de dados para Suplementos do SharePoint

Você deve considerar vários aspectos ao trabalhar com dados no seu suplemento. Por exemplo, qual caminho os dados estão usando? Os dados são provenientes do servidor ou estão passando por este? Os dados estão passando pelo cliente? É possível fazer a autenticação como o usuário conectado? O suplemento precisa de privilégios elevados? As seções a seguir podem ajudar você com essas e outras perguntas que você possa ter.

Conectividade de dados do Microsoft Office SharePoint Online

As seguintes opções de conectividade estão disponíveis ao acessar dados do Microsoft Office SharePoint Online (veja a Figura 1):

  • OAuth: Um protocolo aberto que permite autorização segura de uma maneira simples e padrão. O Outh permite que os usuários aprovem um aplicativo para agir em seu nome sem compartilhar o nome de usuário e senha. Você pode usar o OAuth com código do lado do servidor. É uma boa opção se você precisar executar um processo não interativo, ou se precisar elevar privilégios a outros que não sejam os do usuário conectado. Para obter informações sobre o OAuth, confira Autorização e autenticação de Suplementos do SharePoint.

  • Biblioteca de domínio cruzado: Uma alternativa do lado do cliente na forma de um arquivo JavaScript (SP.RequestExecutor.js) hospedado no site do Microsoft Office SharePoint Online que você pode referenciar no seu suplemento remoto. A biblioteca de domínio cruzado permite que você interaja com mais de um domínio na sua página de suplemento remoto por meio de um proxy. Essa é uma boa opção se você preferir que seu código de suplemento seja executado no cliente, e não no servidor, ou se houver barreiras de conectividade, como firewalls, entre o Microsoft Office SharePoint Online e sua infraestrutura remota. Para saber mais, confira Acessar dados do Microsoft Office SharePoint Online a partir de suplementos usando a biblioteca de domínio cruzado.

  • Receptores de eventos remotos: Você pode usar receptores de eventos remotos para manipular eventos que ocorrem em um item do suplemento, como uma lista, um item de lista ou uma Web. Esses eventos se assemelham aos de uma solução tradicional do SharePoint, exceto pelo fato de que eles podem trabalhar com os componentes remotos do Suplemento do SharePoint. Observe que algumas propriedades do item estão disponíveis para o receptor de eventos remoto. Para obter mais informações, confira Criar um receptor de eventos remotos nos Suplementos do SharePoint. De maneira semelhante, você pode usar receptores de eventos de suplemento para personalizar como o suplemento é instalado, atualizado e desinstalado. Para obter mais informações, confira Criar um receptor de eventos de suplemento nos Suplementos do SharePoint.

Opções de conectividade de dados do Microsoft Office SharePoint Online: qual devo usar?

A tabela a seguir lista os requisitos e os cenários comuns que você pode encontrar ao criar suplementos. Um x na coluna indica a opção que você pode usar em cada caso.

Tabela 1. Opções de conectividade de dados do SharePoint

Requisito/cenário OAuth Biblioteca entre domínios
Uso tecnologias no lado do cliente (HTML + JavaScript). x
Quero usar interfaces REST. x x
Existe um firewall entre o Microsoft Office SharePoint Online e meu suplemento remoto
e preciso emitir as chamadas pelo navegador.
x
Meu suplemento precisa acessar recursos como o usuário conectado. x x
Meu suplemento precisa elevar privilégios a outros que não
os do usuário conectado atual.
x
Meu suplemento precisa agir em nome de um usuário que não aquele que está conectado. x
Meu suplemento precisa executar operações apenas enquanto o usuário estiver conectado. x x
Meu suplemento precisa executar operações mesmo quando o usuário não estiver conectado. x
Meu suplemento precisa executar código remoto em resposta a um evento no Microsoft Office SharePoint Online.

Como os Receptores de Eventos Remotos são criados com base no OAuth, uma comparação nesta tabela não é a melhor maneira de decidir se você deve usá-los ou não. Use os Receptores de Eventos Remotos quando, além da troca de dados, você precisar executar código remoto.

Conectividade de dados externos

As seguintes opções de conectividade estão disponíveis ao acessar dados externos (veja a Figura 2):

  • Proxy da Web: Como desenvolvedor, você pode usar o proxy da Web exposto nas APIs de cliente, como o JSOM. Quando você usa o proxy da Web, você emite a solicitação inicial para o Microsoft Office SharePoint Online. Por sua vez, o Microsoft Office SharePoint Online solicita os dados para o ponto de extremidade especificado e encaminha a resposta de volta à sua página. Use o proxy da Web quando desejar que a comunicação ocorra no nível do servidor. O proxy da Web foi projetado para acessar dados não estruturados que não requerem autenticação. Para obter mais informações, confira Consultar um serviço remoto usando o proxy da Web no Microsoft Office SharePoint Online.

  • Tipos de conteúdo externo: você pode criar suplementos que acessam dados externos do SAP e da Netflix e tipos de dados proprietários e outros sem envolver o administrador do locatário. Acesso aos aplicativos externos é mantido por meio de Business Connectivity Services (BCS), que fornece uma interface consistente e uniforme que pode ser usada por outros aplicativos do SharePoint. ECTs com escopo de aplicativo são uma boa opção quando você está usando um modelo BCS e o acesso aos dados requer autenticação. Para obter mais informações, confira Tipos de conteúdo externo com escopo de suplemento no Microsoft Office SharePoint Online.

  • Página de proxy personalizada para a biblioteca de domínio cruzado: Você pode usar a biblioteca de domínio cruzado para acessar dados no seu suplemento remoto, se você fornecer uma página de proxy personalizada hospedada na infraestrutura do suplemento remoto. Como desenvolvedor, você é responsável pela implementação da página de proxy personalizado, e deve fornecer lógica personalizada, como o mecanismo de autenticação para o suplemento remoto. Use a biblioteca de domínio cruzado com uma página de proxy personalizada, se desejar que a comunicação ocorra no nível do cliente. Para obter mais informações, confira Criar uma página de proxy personalizada para a biblioteca de domínio cruzado no Microsoft Office SharePoint Online.

Opções de conectividade de dados externos: qual devo usar?

A tabela a seguir lista os requisitos e os cenários comuns que você pode encontrar ao criar suplementos. Um x na coluna indica a opção que você pode usar em cada caso.

Tabela 2. Opções de conectividade de dados externos

Requisito/cenário Proxy Web Tipos de conteúdo externo Biblioteca entre domínios com página de proxy personalizada
Uso tecnologias no lado do cliente (HTML + JavaScript). x x x
Não posso adicionar páginas ou componentes ao serviço ou suplemento remoto. x x
Quero usar interfaces REST. x x x
Quero usar o CSOM JavaScript. x x x
Quero usar o CSOM .NET. x x
Não há conectividade direta entre a infraestrutura do Microsoft Office SharePoint Online e o meu suplemento. Preciso emitir chamadas pelo navegador. x x
Meu suplemento precisa acessar recursos como o usuário conectado. x x x

APIs de acesso a dados disponíveis para Suplementos do SharePoint

As seguintes opções de API estão disponíveis para você acessar dados do Microsoft Office SharePoint Online no seu suplemento:

  • Representational State Transfer (REST) Para cenários em que você precisa acessar entidades do Microsoft Office SharePoint Online a partir de tecnologias clientes que não usam JavaScript e não são construídas na plataforma .NET Framework, o Microsoft Office SharePoint Online fornece uma implementação de um serviço Web REST que usa o protocolo Open Data (OData) para executar operações CRUDQ (criar, ler, atualizar, excluir e consultar) nos dados do Microsoft Office SharePoint Online. Além disso, quase todas as APIs nos modelos de objeto cliente possuem um ponto de extremidade REST correspondente. Isso permite que seu código interaja diretamente com o Microsoft Office SharePoint Online usando qualquer tecnologia que ofereça suporte aos recursos REST padrão. Para usar os recursos REST incorporados ao Microsoft Office SharePoint Online, seu código constrói uma solicitação HTTP RESTful para um ponto de extremidade que corresponde ao objeto do Microsoft Office SharePoint Online desejado. O serviço REST manipula a solicitação HTTP e serve uma resposta no formato Atom ou JavaScript Object Notation (JSON). Para saber mais sobre o REST no Microsoft Office SharePoint Online, confira Usar operações de consulta OData nas solicitações REST do Microsoft Office SharePoint Online.

  • Modelo de objeto cliente .NET Framework (.NET client OM): Quase todas as classes no site principal e modelo de objeto de servidor de lista têm uma classe correspondente no modelo de objeto cliente .NET Framework. Além disso, o modelo de objeto cliente .NET Framework também expõe um conjunto completo de APIs para estender outros recursos, incluindo alguns recursos no nível do Microsoft Office SharePoint Online, como ECM, taxonomia, perfis de usuário, pesquisa avançada, análises, BCS e outros. Para saber mais sobre os modelos de objeto do lado do cliente, confira Escolher o conjunto de APIs correto no Microsoft Office SharePoint Online.

  • Modelo de Objeto Cliente JavaScript (JSOM): O Microsoft Office SharePoint Online fornece um modelo de objeto JavaScript para uso em scripts embutidos ou em arquivos .js separados. Inclui todas as mesmas funcionalidades que o modelo de objeto cliente .NET Framework. O JSOM é uma maneira útil de incluir código personalizado do Microsoft Office SharePoint Online em um suplemento, especialmente em um suplemento hospedado no Microsoft Office SharePoint Online, onde o código personalizado do lado do servidor não é permitido. Ele também permite que os desenvolvedores da Web usem suas habilidades em JavaScript existentes para criar Suplementos do SharePoint, com uma curva de aprendizado mínima. Para saber mais sobre os modelos de objeto do lado do cliente, confira Escolher o conjunto de APIs correto no Microsoft Office SharePoint Online.

Pode haver APIs adicionais que você pode usar no seu Suplemento do SharePoint ao acessar dados externos. Depende de quais interfaces os serviços e sistemas externos têm a oferecer. Você também deve considerar essas interfaces em seu design.

Confira também