Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original.
Tradução
Original

Aplicativos para SharePoint comparados com soluções do SharePoint

SharePoint 2013

Saiba mais sobre quando desenvolver sua extensão SharePoint 2013 como um aplicativo para SharePoint e desenvolvê-lo como um SharePoint farm solution ou um código não soluçăo em área restrita.

Última alteração: sexta-feira, 10 de janeiro de 2014

Aplica-se a: apps for SharePoint

Este artigo compara os casos de uso de aplicativos para SharePoint, soluções de farme sem código soluçăos em área restrita (NCSSs).

  • Novo aplicativos para SharePoint são extensões independentes que podem incluir a lógica baseada em nuvem e dados, componentes de SharePoint e scripts do lado do cliente, mas não personalizado código gerenciado que é executado em servidores de SharePoint . Eles são instalados a partir de Office Store ou um catálogo do aplicativo de organização e podem ser instalados em farms no local ou Microsoft SharePoint Online. Para obter uma visão geral de aplicativos para SharePoint, consulte SharePoint 2013 app model overview.

  • SharePointsoluções de farm são pacotes de componentes de SharePoint que são carregados em uma galeria de toda a farm de onde eles podem ser instalados. Eles não podem ser distribuídos por meio de Office Store, e não podem ser instalados em SharePoint Online. Eles podem incluir código gerenciado personalizado que é executado nos servidores do farm de SharePoint . Para obter mais informações sobre os conceitos básicos de soluções de farm, consulte Solutions Overview e Farm Solutions in SharePoint 2010.

  • NCSSs também são pacotes de componentes de SharePoint ; mas eles são carregados em uma galeria de conjunto de sites de onde eles podem ser instalados. Eles podem ser instalados para farms tanto no local ou SharePoint Online, mas eles não podem ser distribuídos por meio do Office Store. Eles podem incluir a praticamente os mesmos tipos de componentes descritivos, como aplicativos para SharePoint e, como aplicativos, elas podem ter JavaScript, mas não contêm código gerenciado personalizado que é executado nos servidores SharePoint . Diferenças dos sistemas de implantação de aplicativos e NCSSs fazer NCSSs a melhor opção de desenvolvimento para uma pequena lista de cenários. Para obter informações sobre soluçăos em área restrita, consulte Sandboxed Solutions in SharePoint 2010.

Nota importante Importante

Enquanto o desenvolvimento de soluçăos em área restrita que contêm apenas marcação declarativa e JavaScript – o que chamamos de soluções no modo seguro sem código (NCSS) – é viável ainda, podemos ter substituído o uso de código gerenciado personalizado dentro do soluçăo em área restrita. Apresentamos o novo modelo de aplicativo de SharePoint como um substituto para os cenários que exijam o uso de código gerenciado. O modelo de aplicativo dissocia o produto principal de SharePoint de tempo de execução do aplicativo, e isso permite muito mais flexibilidade e lhe dá a capacidade de executar o código no ambiente de sua escolha. Sabemos que nossos clientes fizeram investimentos em codificado soluçăos em área restrita e nós será eliminá-los progressivamente com responsabilidade. Codificado existente soluçăos em área restrita continuem a funcionar em farms do SharePoint no local para um futuro próximo. Devido à natureza dinâmica dos serviços on-line, podemos determinar necessidades de suporte para codificado soluçăos em área restrita em SharePoint Online com base na demanda do cliente. NCSSs continuar a ser suportadas. Todos os investimentos futuros irão para tornar o novo modelo de aplicativo de SharePoint mais rica e mais poderoso. Portanto, é recomendável que todos os novos desenvolvimentos devem usar o novo modelo de aplicativo sempre que possível. Em situações onde você precisa desenvolver uma farm solution ou soluçăo em área restritade código, é recomendável criá-lo para que possam evoluir facilmente em direção a um modelo de desenvolvimento mais flexível e desacoplada.

As orientações mais importantes, que nós podemos lhe são desenvolver um aplicativo para SharePoint em vez de um farm solution ou NCSS sempre que puder. Aplicativos para SharePoint têm as seguintes vantagens em relação às soluções clássica:

  • Fornece aos usuários o processo de descoberta, compra e instalação mais fácil.

  • Fornecem aos administradores as extensões SharePoint mais seguras.

  • Forneça o mais simples sistema de marketing e venda com base em uma loja de aplicativos on-line do Microsoft.

  • Maximize a flexibilidade no desenvolvimento de futuros upgrades.

  • Maximize sua capacidade de aproveitar o existente não -SharePoint habilidades de programação.

  • Integre recursos baseados em nuvem de forma mais flexível e mais suave.

  • Habilite a extensão tenham permissões são diferentes das permissões do usuário que está executando o aplicativo.

  • Permitem usar padrões de várias plataformas, incluindo HTML, restante, OData, JavaScripte OAuth.

  • Permitem que você se beneficie da biblioteca entre domínios JavaScriptSharePoint para acessar os dados de SharePoint . Como alternativa, você pode usar um fornecido pela Microsoft serviço de símbolo seguro que seja compatível com o OAuth ou usar certificados digitais para obter autorização para dados de SharePoint .

Aplicativos para SharePoint e NCSSs usar um dos modelos de objeto do SharePoint cliente ou pontos de extremidade restante para acessar componentes e SharePoint . Esses clientes APIs permitem que extensões de SharePoint que são destinadas a usuários finais. ("Usuários finais", neste contexto são administradores de conjunto de sites, proprietários de sites e membros do site.) O modelo de objeto de servidor tem APIs adicionais que permitem programação extensões de segurança, configuração e gerenciamento de SharePoint . Eles incluem as extensões de Administração Central, comandos personalizados Windows PowerShell , trabalhos de timer e backups personalizados. Para obter mais informações sobre os tipos de extensões administrativas que você pode desenvolver, consulte SharePoint Foundation Administration. Essas extensões administrativas são implantados em SharePoint recursos com escopo de conjunto de sites, aplicativos web ou farm. SharePointsoluções de farm também são instalados por administradores de farm, embora aplicativos e NCSSs podem ser instalados pelos administradores de coleção de Inquilino e site.

O modelo de objeto de servidor também tem APIs para criar, ler, atualizar e excluir (CRUD) operações em listas, bibliotecas e sites da Web e para as operações em outros componentes de SharePoint . Isso significa que o modelo de objeto de servidor pode ser usado para as extensões que são destinadas aos usuários finais, mas por motivos fornecidos na seção anterior, soluções de farm não são normalmente a melhor escolha para essas extensões. Portanto, não é surpresa que soluções de farm não pode ser instalado em Microsoft SharePoint Online. Como a Microsoft lida com o gerenciamento dos SharePoint Online, não é necessário para extensões administrativas. Para obter mais informações sobre os diferentes conjuntos de APIs em SharePoint e onde elas se sobrepõem, consulte Escolha a API do direita definida no SharePoint 2013.

Os modelos de objeto do cliente e as demais empresas não duplicar as APIs administrativo orientado a do modelo de objeto de servidor. Além disso, como nem um aplicativo para SharePoint de um NCSS pode conter código personalizado que é executado nos servidores SharePoint , eles não podem chamar essas APIs administrativos. Além disso, todos os recursos do aplicativos para SharePoint devem possuir um escopo do site; e recursos no NCSSs têm o conjunto de sites ou site. Assim, uma extensão administrativo orientado a SharePoint não é possível com um aplicativo para SharePoint ou NCSS. Dessa forma, o segundo princípio, mas não uma regra absoluta é que aplicativos e NCSSs são para usuários finais e soluções de farm são para administradores.

Você pode encontrar um pequeno número de cenários de desenvolvimento SharePoint para que o modelo de aplicativo não é adequado, mas que não seja possível implementar com um farm solution , talvez porque a solução precisa ser instalado no SharePoint Online ou precisa ser instalado por um administrador de conjunto de sites. Há duas categorias amplas e sobrepostas, dessas situações.

  • Marca:os usuários SharePoint desejam dar os sites SharePoint , incluindo seus sites de SharePoint Online , uma aparência personalizada com suas próprias cores, estilos, layouts e logotipos. Isso é geralmente mais fácil fazer com NCSSs que com aplicativos para SharePoint. Um aplicativo para SharePoint tem declarativo controle sobre a aparência de apenas seu próprio web app. Para a web do host, ele pode adicionar declarativamente apenas botões da faixa de opções e itens de menu (e partes de aplicativo). Outras alterações de um web host ou sua coleção de site pai, aluguel ou aplicativo de web deSharePoint local deve ser feito com código ou script que usa um dos modelos de objeto do SharePointcliente. Por exemplo, novos ícones ou arquivos CSS precisaria ser implantados por meio de programação. Esse código podia ser executado do próprio aplicativo, depois que ele está instalado ou pode executar no manipulador de eventos de instalação de aplicativo. Mas isso exigiria uma quantidade considerável de trabalho para criar esse código. Além disso, o aplicativo poderia precisar de permissões de escopo do conjunto de site para alterar os sites fora do seu próprio web app e web host e seria necessário no escopo do inquilino permissões para alterar mais do que apenas sua coleção do site pai. Uma marca NCSS, entretanto, pode ser implantado e ativado para qualquer conjunto de sites; e pode consistir em apenas alguns componentes puramente declarativos.

    Observação Observação

    Observe que o SharePointsoluções de farm são potencialmente mais potentes que NCSSs ou aplicativos para SharePoint para a marca, mas não são uma opção em SharePoint Online.

  • "Semelhante ao modelo" extensões: Suponha que você precise criar uma extensão do gerenciamento de crises para SharePoint para a solução de crises de negócios e análise colaborativa. Sua extensão inclui vários tipos de listas personalizados, fluxos de trabalho sem código e outros componentes de SharePoint , todos combinados em um WebTemplate personalizado. Suponha que você empacotar e implantar a extensão como um NCSS. Após a ativação do recurso na solução, os usuários podem criar uma subweb de gerenciamento de crises do seu site SharePoint sempre que ocorre uma crise. Eles podem ser preenchidos no site com dados que são específicos para a crise. Por outro lado, você pode implementar a mesma extensão aplicativo para SharePoint usando o mesmo conjunto de componentes de SharePoint . Quando o aplicativo é instalado no site da equipe, a subweb (conhecida como "web app") é criada imediatamente. Novamente, os usuários preencher o site com dados relevantes.

    Agora, o que acontece quando um segundo occurs? de crise se você implementou a extensão como um NCSS, seus usuários podem simplesmente criar outra subweb de seu WebTemplate personalizado. No entanto, se você implementou a extensão como um aplicativo para SharePoint, os usuários têm um problema. Não é possível instalar uma segunda instância do aplicativo em seu site pai. Apenas uma instância de qualquer aplicativo pode ser instalada em um host na web. O melhor que você pode fazer é criar um subsite do site pai para servir como um local para outra instância do aplicativo a ser instalado. Quando o aplicativo é instalado, uma nova web app, que é uma subweb sub do site pai, é criada para os componentes do aplicativo. Essa comparação mostra um princípio geral, mas não absoluto: extensões de SharePoint com um caractere de "semelhante ao modelo" – ou seja, um conjunto reutilizável de componentes que devem ser configuradas para cada caso de uso específico, mas que naturalmente tem várias instâncias associadas ao mesmo site de SharePoint – se ajustem melhor com o modelo de desenvolvimento NCSS que com o modelo de aplicativo. Neste exemplo, o elemento variável é a crise, mas é fácil imaginar como modelo SharePoint extensões na qual as instâncias variam por região, data ou qualquer número de outras características.

Para obter informações sobre como expandir as possibilidades de aplicativos para SharePoint, consulte Usar manipuladores de eventos do aplicativo conservadoramente e Aplicativos que criam extensões.

Conforme observado anteriormente, o código personalizado que é executado nos servidores de SharePoint não é permitido em aplicativos para SharePoint. Isso é não uma limitação significativa. Isso simplesmente significa que a lógica de negócios personalizada move ou "para baixo" para o dispositivo do cliente ou "para cima" para a nuvem. Em ambos os casos, você pode usar o SharePoint REST/OData service para acessarSharePoint sites, listas e outros dados. Você pode acessar dados de SharePoint também remotamente por meio de SharePoint JavaScript, Silverlight, or .NET Framework client object models. Finalmente, em Windows Phones, você pode acessar a SharePoint por meio do modelo de objeto do SharePointWindows Phone . Para obter mais informações sobre os diversos conjuntos de APIs em SharePoint 2013, consulte Escolha a API do direita definida no SharePoint 2013.

Um ponto semelhante é que os recursos do aplicativos para SharePoint não podem ter escopo de farm, aplicação web ou conjunto de sites. No entanto, você não precisa fornecer quaisquer elementos de interface do usuário ou funcionalidade. Isso significa que a implementação do componente se move doSharePoint para um cliente ou aplicativo da web remoto ou banco de dados remoto e.

A tabela a seguir lista os componentes de SharePoint não podem ser implantados em uma aplicativo para SharePointe descreve o "aplicativo de maneira" de obter a mesma funcionalidade.

Se você desejar a funcionalidade de...

... Tente essas abordagens.

Web Parts personalizadas

Um aplicativo para SharePoint pode ter páginas remotas que contêm personalizado de Web Parts. Outra opção é expor uma página a partir de um aplicativo da web remoto em uma parte de aplicativo em uma página do site SharePoint . A página remota pode ter basicamente os mesmos controles de interface do usuário e funcionalidade como uma Web Part. Para obter mais informações, consulte How to: Create an app part to deploy with your app for SharePoint.

Receptores de evento e receptores de recurso

Um aplicativo para SharePoint pode conter receptores de evento remoto funcionalmente equivalente. Para obter mais informações, consulte Handling events in apps for SharePoint.

Tipos de campo personalizados (coluna)

Um aplicativo pode implantar um novo campo (coluna) que se baseia em um a existing field types. Os tipos de campos Calculated e Computed são especialmente flexíveis. Outra opção é apresentar os dados em uma página da web remoto usando controles personalizados ou grades.

Serviços da web personalizados criados no SharePoint Service Application Framework

Você pode desenvolver seus serviços da web personalizados como serviços remotos.

Páginas de aplicativo

Um aplicativo para SharePoint pode incluir páginas da web remoto que estão disponíveis em cada site no qual o aplicativo está instalado. Um aplicativo também pode usar qualquer um dos SharePoint interno de Web Parts em páginas do site.

Alguns componentes de SharePoint , listadas abaixo, são usados em cenários de usuário final, mas não têm equivalentes no modelo de aplicativo de SharePoint e não podem ser implantados em NCSSs. Nesses casos, você deve usar o soluções de farm.

  • Definições de site personalizadas   Mas WebTemplates personalizados, que são funcionalmente semelhantes às definições de site, estão disponíveis em NCSSs e aplicativos para SharePoint. Para obter mais informações, consulte Site Types: WebTemplates and Site Definitions.

  • Controles de delegado   Para obter mais informações, consulte Delegate Control (Control Templatization).

  • Temas personalizados

  • Grupos de ação personalizada e ocultação de ação personalizada

  • Controles de usuário (arquivos. ascx)   Nenhum cenário realmente necessita desses.

Usar manipuladores de eventos do aplicativo conservadoramente

Você pode superar algumas das limitações de aplicativos para SharePoint Criando manipuladores para o aplicativo instalado, o aplicativo atualizado e eventos de desinstalação do aplicativo. Esses manipuladores são serviços da web que são hospedados em servidores web fora do farm SharePoint , possivelmente na nuvem. Eles podem usar o modelo de objeto do cliente SharePoint ou APIs REST, para executar operações CRUD em SharePoint componentes, inclusive os componentes da web do host. Em teoria, você poderia usar esses manipuladores para superar algumas restrições de implantação nos itens de marca e modelo como extensões , discutidos anteriormente. No entanto, recomendamos que você use esses manipuladores somente como um último recurso, quando não há outra maneira para oferecer aos clientes a funcionalidade que requer o caso de uso. Ao decidir se deve criar um manipulador, considere o seguinte:

  • Implantação através de programação na Web host requer que o aplicativo solicita permissão Controle total para a web do host. Aplicativos que exigem esse nível de permissão não podem ser vendidos por meio de Office Store.

  • Implantação dos componentes da Web do host tende a diminuir as vantagens de colocar os componentes de SharePoint em uma web app com seu próprio domínio de segurança.

  • Código de ampla implantação é muito trabalho para criar e depurar em comparação com a marcação de implantação descritiva que pode ser usada para os componentes do aplicativo da web e em NCSSs.

  • Existem algumas práticas recomendadas essenciais que devem ser seguidas na criação de manipuladores de eventos de aplicativo. Seu código deve incluir a lógica de reversão para desfazer tudo o que ele fez se ele encontrar um erro. Ele também deve alertar a infra-estrutura de SharePoint do erro, para que a infra-estrutura possa reverter tudo o que aconteceu.

  • Manipuladores de eventos de aplicativo não são possíveis com o tipo de aplicativo para SharePoint conhecido como SharePoint-hospedado.

Para obter mais informações sobre manipuladores de evento de aplicativo, consulte os nó do SDK Handling events in apps for SharePoint. Para obter informações sobre a lógica de reversão, consulte http://msdn.microsoft.com/pt-br/library/dn265919.aspx#AddRollbackLogic último tópico foi criado no contexto do evento de aplicativo atualizado, mas os princípios básicos se aplicam a todos os manipuladores de eventos do aplicativo.

Aplicativos que criam extensões

Outra maneira de usar o modelo de objeto do SharePoint cliente - ou suas APIs REST – para resolver problemas de implantação de componente com aplicativos para SharePoint, é ter código CRUD dentro do aplicativo propriamente dito, em vez de em um manipulador de eventos do aplicativo. O aplicativo então se torna uma espécie de fábrica de um tipo de extensão personalizada. Por exemplo, um SharePoint-hosted app pode usar o modelo de objeto deJavaScript de SharePointpara executar outras operações CRUD e a implantação na web host ou em outro lugar no aplicativo da web ou aluguel. Para outro exemplo, consulte a seção de Introdução rápida para o provisionamento remoto de provisionamento de Site técnicas e provisionamento remoto do SharePoint 2013, que descreve como um provedor hospedado aplicativo para SharePoint é usado para fornecer muito para provisão de subwebs como SharePointna caixa subweb de provisionamento. No entanto, há muita roda-reinvention e, portanto, uma grande parte do trabalho na criação de uma fábrica de aplicativo para SharePoint. Além disso, esse tipo de aplicativo não pode ser vendido por meio de Office Store porque o aplicativo requer controle total da web host.

Mostrar:
© 2014 Microsoft