Artigo original publicado na terça-feira, dia 11 de setembro de 2012

Esta publicação foi escrita por Nick Simons, um Gerente de Programa Sênior para o Office Web Apps.

No verão de 2010, introduzimos o Office Web Apps: versões baseadas em navegador do Word, PowerPoint, Excel e OneNote. Disponibilizamos estes produtos como um conjunto de aplicativos do SharePoint. Clientes implantando o Office Web Apps em suas redes fazem isso instalando o Office Web Apps nos servidores do SharePoint.

No momento, a integração do SharePoint parecia a melhor abordagem. Obviamente, o SharePoint era, e permanece, um pilar da história do Office Web Apps. E o SharePoint possui um modelo bem definido para integrar aplicativos como o Office Web Apps. Mas, conforme começamos a planejar a próxima versão do Office Web Apps, tornou-se claro que seria difícil atingir algumas de nossas principais metas com uma arquitetura tão acoplada com o SharePoint.

Desejamos simplificar o planejamento de capacidade e a instalação e permitir a federação entre vários farms. Também desejamos acomodar solicitações para integração de novos parceiros, como o Lync. Por fim, ouvimos muitos de nossos clientes, do Office 365 e local, que desejavam ter as mesmas melhorias que nossos usuários do SkyDrive aproveitam regularmente.

Para atingir estas metas, voltamos para o início e pensamos novamente sobre como o Office Web Apps se integraria com outros produtos agora e no futuro. Criamos um novo modelo que separou o Office Web Apps de qualquer tecnologia de parceiros específica. Por fim, nosso modelo inseriu uma codificação relativamente leve nos hosts de arquivos como o SharePoint, permitindo executar o Office Web Apps em servidores totalmente separados.

Este novo produto de servidor autônomo é o Office Web Apps Server.

Sabemos que no início a ideia de um tipo adicional de servidor parece adicionar complexidade e dificuldade para o administrador. Mas, você verá que com a autonomia obtemos...

1.  Instalação mais simples

2.  Atualização e manutenção totalmente separada do SharePoint

3.  Vários farms do SharePoint se integrando com um único farm do Office Web Apps Server

4.  Outros produtos como o Exchange, Lync e de terceiros integrando-se com o Office Web Apps

5.  Fornecimento de novos recursos e melhorias para nossos clientes locais ou baseados na Web praticamente ao mesmo tempo

Quando comparamos as implantações anteriores do Office Web Apps no SharePoint 2010 com as novas  implantações usando o Office Web Apps Server  as vantagens realmente começam a aparecer.

Com a versão anterior do Office, obtemos uma implantação do Office Web Apps comum parecida com a seguinte...

 

Versão anterior de implantações do Office Web Apps

Observe que a versão anterior do Office Web Apps precisou ser instalada em cada farm e em cada máquina no farm. Além disso, o escalonamento do Office Web Apps estava ligado ao escalonamento geral do SharePoint. E atualizar o Office Web Apps exigia a atualização do código em cada máquina de todos os seus farms do SharePoint.

Cm o Office Web Apps Server, esperamos uma implantação parecida com a seguinte...

 

Implantações do Office Web Apps com o Office Web Apps Server

Como você pode ver, um único farm do Office Web Apps Server pode servir a vários farms do SharePoint 2013 além do Lync 2013 e Exchange 2013 (Outlook Web Access). Além disso, é possível usar seu farm do Office Web Apps para exibir qualquer URL ou UNC acessível por um arquivo do Word, Excel e PowerPoint.

Uma breve visão geral do novo modelo de integração

O seguinte descreve como o Office Web Apps se integra com um host de arquivos como o SharePoint em alto nível. Esta informação ajudará a compreender os requisitos de rede e segurança descritos posteriormente.

Primeiro, algumas definições:

  • Office Web Apps Server – Oferece a funcionalidade do Office Web Apps para hosts e é o assunto de todo este artigo.
  • Host – Usa os serviços oferecidos pelo Office Web Apps Server para exibir arquivos em um navegador.  Por exemplo, SharePoint Server 2013, Lync Server 2013 e Exchange Server 2013 são hosts. 
  • Cliente – É um navegador ou software semelhante.

Uma parte principal do novo modelo de integração é um novo API público que o Office Web Apps utiliza para se comunicar com Hosts. Este API é chamado de WOPI (Web application Open Platform Interface). O Office Web Apps Server busca e manipula arquivos usando o API WOPI. Frequentemente chamamos o Office Web Apps Server como Aplicativo WOPI. Os Hosts devem compreender as solicitações do WOPI de aplicativos WOPI.

WOPI é um API RESTful que usa HTTP/HTTPS. Isto significa que, entre outras coisas, todo o tráfego entre os Hosts e o Office Web Apps Server passa pelas portas HTTP/HTTPS padrões. Também significa que, tanto quanto possível, o Office Web Apps Server não tem estado. Isto o torna mais resiliente uma classificação de falhas, desde interrupções de rede a falha completa de hardware.

Para compreender como o WOPI funciona, vamos olhar um simples cenário onde um usuário, Sally, vê um arquivo chamado test.docx hospedado no SharePoint. Aqui está como isto funciona...

1.  Sally navega para uma biblioteca de documentos onde test.docx está armazenado.

2.  Sally clica no nome de arquivo na biblioteca de documentos.

3.  O SharePoint navega pelo navegador para uma página especial do SharePoint que sabe como iniciar solicitações para o Office Web Apps Server (e outros Aplicativos WOPI). Iremos chamar esta página do SharePoint de WOPIFrame.aspx.

4.  O WOPIFrame.aspx contém um iframe (http://dev.w3.org/html5/spec/the-iframe-element.html) que navega para uma página no Office Web Apps Server. Chamamos esta página de WordViewer.aspx. A solicitação HTTP para o WordViewer.aspx inclui algumas informações importantes:

    • A URL que o Office Web Apps Server usará para obter o test.docx. Chamamos isto de Ponto de extremidade WOPI.
    • O nome do arquivo. Realmente combinamos o Ponto de extremidade WOPI e o nome do arquivo em um único parâmetro chamado Fonte WOPI.
    • Uma sequência que o Office Web Apps pode passar para o Ponto de extremidade WOPI que representa as credenciais de Sally. Chamamos isto de Token de Acesso.
      Para fins de segurança o Token de Acesso oferece acesso à Sally apenas para um arquivo específico. Se uma pessoa má conseguir roubar o Token de Acesso, ela poderia se passar por Sally apenas no contexto deste arquivo. Claro, isto ainda seria ruim, portanto, é importante proteger este Token de Acesso com SSL.

5.  O Office Web Apps Server usa a Fonte WOPI e o Token de Acesso para obter o test.docx do SharePoint.

6.  O WordViewer.aspx exibe test.docx no iframe do WOPIFrame.aspx.

Aqui está uma imagem que mostra o fluxo de dados entre o navegador, o SharePoint e o Office Web Apps Server...

Fluxo de dados entre o navegador, o SharePoint e o Office Web Apps Server

Configurando o farm do Office Web Apps Server

Um farm de servidores neste caso, pode ser qualquer coisa de uma máquina virtual executando em um servidor compartilhado a um farm com dúzias de servidores de classe de centro de dados. A instalação e manutenção básica é a mesma em todos os casos. Os pré-requisitos e as etapas necessárias para criar um farm são, claro, incluídos nos produtos. Não irei reproduzir esta documentação aqui. O que farei é descrever o que está envolvido em um nível de detalhes razoável.

Hardware

Primeiro, você precisa de algumas máquinas. Vamos assumir que você está configurando um farm para servir a necessidade de 80.000 usuários de vários farms do SharePoint. Pensamos que você provavelmente precisaria de 4 servidores com...

  • Windows Server 2008 R2 ou Windows Server 2012 com todos os pré-requisitos
  • 8 núcleos
  • 8 GB de RAM
  • Uma unidade de disco rígido de tamanho adequado (60 GB ou mais)

Você também precisará de um balanceador de carga. Temos um farm de 10 máquinas configurados na Microsoft que compartilha um balanceador de carga de hardware F5 BIG-IP com vários outros produtos do servidor. Esta organização funciona muito bem, mas qualquer solução de balanceamento de carga decente resolverá. A única recomendação que fazemos é que sua solução de balanceamento de carga suporte a afinidade. Para obter desempenho, é muito importante se o mesmo servidor lida com todas as solicitações de uma determinada sessão.

Rede

Irei assumir que você deseja que seus usuários tenham acesso ao Office Web na rede interna e na Internet. Neste caso, você precisará configurar o DNS interno e externo para seu farm. Em alternativa, você pode optar por apenas configurar o DNS externo e usar regras de DNS interno para manter as solicitações internas em sua rede privada. Isto é o que eu faria.
É sua rede, portanto configure-a como achar melhor. Tudo que exigimos é...

  • Os clientes (geralmente navegadores) precisam realizar solicitações ao farm. São solicitações HTTP/HTTPS normais na porta 80 ou 443, respectivamente.
  • As máquinas no farm do Office Web Apps iniciam solicitações para o serviço no host de arquivos (por exemplo, SharePoint). Estas solicitações também são HTTP/HTTPS na porta 80 ou 443. Esta é a forma como as máquinas Office Web Apps operam nos arquivos que estão renderizando ou editando.
  • Hosts de arquivos ocasionalmente precisam solicitar informações diretamente do farm do Office Web Apps Server através do balanceador de carga. Estas solicitações também são solicitações HTTP/HTTPS na porta 80 ou 443.
  • Todas as máquinas no farm do Office Web Apps Server precisam se comunicar umas com as outras através da porta 809. Idealmente, estas máquinas estão em uma subrede privada para que nenhuma outra máquina possa participar do farm ou ser ouvida no tráfego. Caso contrário, existem alguns recursos integrados no Office Web Apps Server que ajudam a proteger um farm em uma rede mais aberta. Não irei discutir estes recursos aqui.  Para obter mais informações, consulte Planejamento de segurança para o Office Web Apps Server Preview.

É fundamental certificar-se de que estas rotas de rede sejam configuradas corretamente. O Office Web Apps é relativamente simples, mas funciona apenas quando os canais de comunicação estão abertos.

Segurança

Como observado na seção anterior, a solicitação inicial de renderizar ou editar um arquivo inclui credenciais do usuário no formato de um Token de Acesso. Por sua vez, este Token de Acesso é incluído em todas as solicitações do Office Web Apps para Hosts. Todo este tráfego deve ser protegido com SSL, a não ser que você esteja em uma rede privada e confie em todos com acesso a esta rede. Você ainda deverá usar o SSL. Realmente.
Configurar o SSL exige a criação de certificados e a colocação deles em cada máquina do Office Web Apps Server ou no balanceador de carga. Se você escolher encerrar o SSL no balanceador de carga, há configurações específicas no Office Web Apps Server que você pode usar. Abordarei isso em um momento.

Configuração do Office Web Apps Server

Agora que você possui toda a infraestrutura de hardware e rede, é hora de realmente criar o farm do Office Web Apps Server. Primeiro, instale o Office Web Apps Server e seus pacotes de idioma em todas as máquinas. Não tente instalar qualquer outro software nas máquinas. Nenhum SharePoint. Nenhum Exchange. Nada. Se você deseja compartilhar hardware, use máquinas virtuais.

Ao terminar, execute o seguinte Windows PowerShell na primeira máquina do seu farm (chamaremos de Server1). Este Windows PowerShell assume que...

  • Você está apenas configurando DNS externo na URL https://officewebapps.contoso.com. Pode ser qualquer URL que você configurou.
  • Você está configurando um farm do Office Web Apps Server para suportar edição e exibição.
    Faça isso apenas se sua organização possui as licenças adequadas para edição. Não abordarei os detalhes de licenciamento aqui, exceto se a exibição do Office Web Apps seja gratuita, mas a funcionalidade de edição não. Para obter mais informações, consulte Planejamento do Office Web Apps Preview (Usado com o SharePoint 2013 Preview Products).
  • Você está encerrando o SSL no balanceador de carga.

Aqui está o Windows PowerShell:

New-OfficeWebAppsFarm -ExternalURL "https://officewebapps.contoso.com" -EditingEnabled -SSLOffloaded

Você agora possui uma única máquina de farm do Office Web Apps Server.

Feito isso, vá para o Server2. Neste servidor, execute o seguinte...

New-OfficeWebAppsMachine -MachineToJoin "Server1"

Agora você possui um farm de duas máquinas. Repita a etapa anterior no Server3 e Server4.

Conectando ao SharePoint

Neste ponto, seu farm do Office Web Apps está pronto. Mas não está conectado a qualquer Host. Para conectar um farm do SharePoint a este farm do Office Web Apps Server, abra um prompt de comando do Windows PowerShell em qualquer servidor no farm do SharePoint e execute o seguinte...

New-SPWopiBinding -ServerName "officewebapps.contoso.com"

Você também precisará executar o seguinte comando para dizer ao farm do SharePoint que você deseja usar a URL externa do farm do Office Web Apps Server e que usa HTTPS.

Set-SPWopiZone -Zone "external-https"

Agora realmente acabou. Navegue para uma biblioteca de documentos no farm do SharePoint e crie, exiba e edite arquivos do Office em seu conteúdo principal. Não é necessária qualquer outra configuração.

Por fim, se você deseja desconectar o farm do Office Web Apps Server do SharePoint, execute o seguinte...

Remove-SPWopiBinding -All

Se você for para uma biblioteca de documentos no farm do SharePoint agora, não haverá rastros do Office Web Apps.

É possível se conectar a quantos farms do SharePoint você desejar em um único farm do Office Web Apps. O mesmo é verdadeiro ao se conectar o Exchange e Lync a um farm do Office Web Apps.  Para obter mais informações, consulte Exchange Server 2013: Integração do Office Web Apps Server e Implantando o Office Web Apps Server e Lync Server 2013.

Obtendo atualizações para o Office Web Apps Server

Desde o início estamos comprometidos com atualizações frequentes do Office Web Apps. No entanto, apenas oferecemos nossas atualizações aos clientes locais através de Service Packs. Após lançarmos o Office Web Apps Server 2013, planejamos tornar as atualizações disponíveis com mais frequência. Acreditamos que isso possa ser gerenciado pelos administradores, porque a atualização do Office Web Apps Server é muito fácil.

Para atualizar máquinas em um farm do Office Web Apps Server, você precisará remover as máquinas do balanceador de carga e do farm. No entanto, este processo pode ser gerenciado para que não haja praticamente nenhum impacto nos usuários.
Essencialmente, se você possui um farm de 4 máquinas, irá retirar duas máquinas e atualizá-las. Você cria um novo farm com estas 2 máquinas e aponta para o balanceador de carga nestas 2 máquinas ao invés das 2 no farm original. Agora atualize as duas máquinas restantes e integre-as ao farm original e aponte o balanceador de carga também nestas máquinas.

Onde as máquinas são retiradas do farm, alguns usuários podem encontrar dificuldades, mas o Office Web Apps irá recuperar. Isto funciona em todos os casos, exceto com uma única máquina (por motivos óbvios).

Saiba mais sobre o Office Web Apps Server

É possível encontrar recursos adicionais para o Office Web Apps Server aqui:
• Biblioteca do Office Web Apps Preview no TechNet
• Exchange Server 2013: Integração do Office Web Apps Server
• Implantando o Office Web Apps Server e Lync Server 2013
• Fórum de instalação e implantação do Office Web Apps

Nick Simons
Gerente de Programa Sênior - Office Web Apps

 

Esta é uma publicação traduzida. Encontre o artigo original em Introducing Office Web Apps Server