Articolo originale pubblicato martedì 11 settembre 2012

Questo post è a cura di Nick Simons, Senior Program Manager per Office Web Apps.

Nell'estate del 2010 abbiamo presentato le applicazioni di Office Web Apps, ovvero versioni di Word, PowerPoint, Excel e OneNote basate su browser. Abbiamo messo a disposizione questi prodotti come insieme di applicazioni di SharePoint. Per distribuire Office Web Apps nelle proprie reti, i clienti hanno pertanto installato il prodotto nei server SharePoint.

In quel momento, una stretta integrazione con SharePoint rappresentava l'approccio migliore. Chiaramente SharePoint era e continua a essere un pilastro nella storia delle applicazioni di Office Web Apps e include un modello ben definito per l'integrazione di applicazioni come quelle di Office Web Apps. Quando però abbiamo iniziato a pianificare la versione successiva di Office Web Apps, è risultato evidente che sarebbe stato difficile realizzare alcuni dei nostri obiettivi principali con un'architettura così strettamente associata a SharePoint.

Abbiamo voluto semplificare le attività di configurazione e di pianificazione della capacità, abilitando inoltre la federazione su più farm. Abbiamo accolto tra l'altro le richieste di integrazione di nuovi partner, ad esempio Lync. Infine, molti dei nostri clienti, sia di Office 365 che delle versioni in locale, hanno richiesto di usufruire degli stessi miglioramenti offerti agli utenti di SkyDrive con scadenze regolari.

Per raggiungere questi obiettivi, siamo tornati sui nostri passi e abbiamo riconcepito l'integrazione delle applicazioni di Office Web Apps con altri prodotti, non solo per il presente ma anche per il futuro. Abbiamo creato un nuovo modello per separare Office Web Apps da qualsiasi tecnologia partner specifica. Il nostro modello in definitiva impone un carico di attività di codifica relativamente leggero sugli host di file come SharePoint, consentendoci al tempo stesso di eseguire Office Web Apps in server completamente separati.

Questo nuovo prodotto server autonomo è Office Web Apps Server.

Ci rendiamo conto come all'inizio l'idea di un ulteriore tipo di server possa far temere un aumento della complessità e del carico delle attività per gli amministratori. Potrete osservare invece come l'utilizzo di un prodotto autonomo offra i vantaggi seguenti...

1. Configurazione più semplice

2. Attività di aggiornamento e manutenzione completamente separate da SharePoint

3. Integrazione di più farm di SharePoint con una singola farm di Office Web Apps Server

4. Integrazione di altri prodotti, ad esempio Exchange, Lync e prodotti di terze parti con Office Web Apps

5. Distribuzione di nuove funzionalità e di miglioramenti ai clienti basati sul Web e ai clienti che utilizzano installazioni locali praticamente in contemporanea

Dal confronto tra le distribuzioni di Office Web Apps precedenti in SharePoint 2010 e le nuove distribuzioni con Office Web Apps Server, i vantaggi risultano immediatamente evidenti.

Con la versione precedente di Office, una distribuzione di Office Web Apps tipica è simile alla seguente...

 

Versione precedente di distribuzioni di Office Web Apps

Come è possibile osservare, la versione precedente di Office Web Apps deve essere installata in ogni farm e in ogni computer di ogni farm. La scalabilità di Office Web Apps inoltre è strettamente collegata alla scalabilità generale di SharePoint. L'aggiornamento di Office Web Apps richiede infatti l'aggiornamento del codice in ogni computer di ogni farm di SharePoint.

Con Office Web Apps Server, prevediamo invece una distribuzione simile alla seguente...

 

Distribuzioni di Office Web Apps con Office Web Apps Server

Come è possibile osservare, una singola farm di Office Web Apps Server è in grado di servire più farm di SharePoint 2013, oltre a Lync 2013 ed Exchange 2013 (Outlook Web Access). È inoltre possibile utilizzare la farm di Office Web Apps per visualizzare qualsiasi file di Word, Excel e PowerPoint accessibile tramite URL o UNC.

Breve panoramica del nuovo modello di integrazione

Viene descritto di seguito a grandi linee come si integra Office Web Apps con un host di file come SharePoint. Con queste informazioni sarà più semplice capire i requisiti di rete e sicurezza descritti più avanti.

Prima di tutto, qualche definizione:

  • Office Web Apps Server: offre la funzionalità Office Web Apps agli host ed è l'argomento di questo articolo.
  • Host: utilizza i servizi offerti da Office Web Apps Server per visualizzare file in un Web browser. SharePoint Server 2013, Lync Server 2013 ed Exchange Server 2013 ad esempio sono tutti host. 
  • Client: un browser o altro software simile.

Un elemento chiave del nuovo modello di integrazione è rappresentato dalla nuova interfaccia API pubblica utilizzata da Office Web Apps per comunicare con gli host. Questa interfaccia API è denominata WOPI (Web application Open Platform Interface). Office Web Apps Server recupera e modifica i file utilizzando l'API WOPI. Ci riferiamo spesso a Office Web Apps Server con il termine di applicazione WOPI. Gli host devono riconoscere le richieste WOPI delle applicazioni WOPI.

WOPI è un'interfaccia API RESTful che utilizza i protocolli HTTP/HTTPS. Questo significa, tra l'altro, che tutto il traffico tra gli host e Office Web Apps Server passa attraverso porte HTTP/HTTPS standard e che Office Web Apps Server è, per quanto possibile, senza stato. In questo modo garantisce una maggiore resilienza per diversi tipi di errori, dalle interruzioni di rete agli errori hardware.

Per capire il funzionamento dell'interfaccia WOPI, analizziamo un semplice scenario dove un utente, che chiameremo Sandra, visualizza un file denominato test.docx ospitato in SharePoint. Ecco come funziona...

1. Sandra passa a una raccolta documenti in cui è archiviato il file test.docx.

2. Sandra fa clic sul nome del file nella raccolta documenti.

3. SharePoint visualizza nel browser una pagina speciale di SharePoint per l'invio delle richieste a Office Web Apps Server (e altre applicazioni WOPI). Indicheremo tale pagina con il nome di SharePoint WOPIFrame.aspx.

4. WOPIFrame.aspx include un iframe (http://dev.w3.org/html5/spec/the-iframe-element.html) che passa a una pagina in Office Web Apps Server che indicheremo con il nome di WordViewer.aspx. La richiesta HTTP a WordViewer.aspx include alcune informazioni importanti:

    • L'URL utilizzato da Office Web Apps Server per accedere al file test.docx, che indicheremo con il termine di endpoint WOPI.
    • Il nome del file. In realtà l'endpoint WOPI e il nome del file vengono combinati in un singolo parametro, che indicheremo con il termine di origine WOPI.
    • Una stringa che può essere passata da Office Web Apps all'endpoint WOPI contenente le credenziali di Sandra e che indicheremo con il termine di token di accesso.
      Per motivi di sicurezza, il token di accesso consente a Sandra di accedere solo a un file specifico. Se un utente malintenzionato tentasse di impadronirsi del token di accesso, questo gli consentirebbe di rappresentare Sandra solo nel contesto del singolo file. Anche in questo caso sarebbe una violazione grave ed è importante quindi proteggere il token di accesso utilizzando SSL.

5. Office Web Apps Server utilizza l'origine WOPI e il token di accesso per ottenere il file test.docx da SharePoint.

6. WordViewer.aspx visualizza il file test.docx nell'iframe nella pagina WOPIFrame.aspx.

Nella figura riportata di seguito viene mostrato il flusso di dati tra il browser, SharePoint e Office Web Apps Server...

Flusso di dati tra il browser, SharePoint e Office Web Apps Server

Configurazione della farm di Office Web Apps Server

Una server farm può essere costituita ad esempio da una macchina virtuale in esecuzione in un server condiviso così come da una farm con decine di server di data center. Le attività di configurazione e manutenzione di base sono comunque le stesse in entrambi i casi. I prerequisiti esatti e i passaggi necessari per la creazione di una farm sono ovviamente inclusi con il prodotto. In questo articolo non verrà riprodotta la documentazione. Ci limiteremo a descrivere gli elementi necessari con un livello di dettaglio accettabile.

Hardware

È innanzitutto necessario disporre di alcuni computer. Presupponiamo che si stia configurando una farm per gestire le richieste di 80.000 utenti di più farm di SharePoint. Saranno probabilmente necessari quattro server con le caratteristiche seguenti...

  • Windows Server 2008 R2 o Windows Server 2012 con tutti i prerequisiti
  • 8 processori core
  • 8 GB di RAM
  • Un'unità disco rigido di dimensioni accettabili (minimo 60 GB)

È inoltre necessaria una soluzione di bilanciamento del carico. Presso Microsoft disponiamo di una farm di 10 computer che condivide un dispositivo di bilanciamento del carico hardware F5 BIG-IP con molti altri prodotti server. Questa soluzione funziona in modo ottimale, ma è possibile utilizzare qualsiasi altra soluzione accettabile di bilanciamento del carico. L'unico requisito veramente importante è che la soluzione di bilanciamento del carico supporti l'affinità. Per prestazioni ottimali, è estremamente utile che lo stesso server gestisca tutte le richieste per una sessione specifica.

Rete

Presupponiamo che un requisito sia che gli utenti abbiano accesso a Office Web Apps sia dalla rete interna che da Internet. In questo caso, sarà necessario configurare il sistema DNS interno ed esterno per la farm. In alternativa, è possibile scegliere di configurare solo il sistema DNS esterno e utilizzare regole DNS interne per mantenere le richieste interne nella rete privata. Questa è la soluzione che abbiamo scelto di implementare.
Poiché comunque si tratta della vostra rete, sarà opportuno che la configuriate in base alle vostre esigenze. I requisiti sono i seguenti...

  • I client (in genere Web browser) devono poter effettuare richieste alla farm. Si tratta di normali richieste HTTP/HTTPS rispettivamente sulla porta 80 o 443.
  • I computer nella farm di Office Web Apps inviano le richieste a un servizio nell'host di file, ad esempio SharePoint. Anche queste sono richieste HTTP/HTTPS sulla porta 80 o 443. È in questo modo che i computer Office Web Apps agiscono sui file che visualizzano o che modificano.
  • Gli host di file a volte devono richiedere informazioni direttamente alla farm di Office Web Apps Server mediante la soluzione di bilanciamento del carico. Anche queste sono richieste HTTP/HTTPS sulla porta 80 o 443.
  • Tutti i computer della farm di Office Web Apps Server devono comunicare tra loro tramite la porta 809. In teoria, questi computer sono inclusi in una subnet privata, in modo che nessun altro computer possa aggiungersi alla farm o essere in attesa nel traffico. In caso contrario, sono disponibili alcune funzionalità di Office Web Apps Server che consentono di proteggere una farm in una rete più aperta. Queste funzionalità non verranno descritte in questo articolo. Per ulteriori informazioni, vedete Pianificazione della sicurezza per Office Web Apps Server Preview.

È di fondamentale importanza verificare che queste route di rete siano configurate correttamente. Le applicazioni di Office Web Apps sono relativamente semplici, ma funzionano solo quando i canali di comunicazione sono aperti.

Sicurezza

Come specificato nella sezione precedente, la richiesta iniziale per il rendering o la modifica di un file include credenziali utente nel formato di un token di accesso, a sua volta incluso in tutte le richieste inviate da Office Web Apps agli host. Tutto questo traffico deve essere protetto tramite SSL, a meno che non venga utilizzata una rete privata e si consideri attendibile chiunque abbia accesso a tale rete. Anche in questo caso sarebbe necessario utilizzare SSL.
Per configurare SSL, è necessario creare certificati e inserirli in ogni computer Office Web Apps Server o nella soluzione di bilanciamento del carico. Se si sceglie di terminare SSL nella soluzione di bilanciamento del carico, è possibile utilizzare impostazioni specifiche in Office Web Apps Server. Tali impostazioni verranno trattate più avanti.

Configurazione di Office Web Apps Server

Dopo aver definito i componenti hardware e l'infrastruttura di rete, è il momento di creare effettivamente la farm di Office Web Apps Server. Installate innanzitutto Office Web Apps Server e i relativi Language Pack in tutti i computer. Non tentate di installare altro software nei computer, né SharePoint, né Exchange, né altri prodotti. Se desiderate condividere l'hardware, utilizzate le macchine virtuali.

Al termine, eseguite i comandi di Windows PowerShell seguenti nel primo computer della farm, che denomineremo Server1. Windows PowerShell presuppone che...

  • Venga configurato solo il sistema DNS esterno nell'URL https://officewebapps.contoso.com. È possibile utilizzare qualsiasi URL desideriate configurare.
  • Venga configurata una farm di Office Web Apps Server per supportare sia la modifica che la visualizzazione.
    Procedete in questo modo solo se l'organizzazione dispone delle licenze appropriate per la modifica. Non verranno fornite informazioni sulle licenze in questo articolo. Considerate tuttavia che la visualizzazione con Office Web Apps è gratuita, mentre la funzionalità di modifica non lo è. Per ulteriori informazioni, vedete Licenze di Office Web Apps Preview per la modifica dei file di Office (con prodotti SharePoint 2013 Preview).
  • SSL venga terminato nella soluzione di bilanciamento del carico.

Il comando di Windows PowerShell è il seguente:

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

Disponete ora di una farm di Office Web Apps Server con computer singolo.

Al termine, passate a Server2. In questo server eseguite il comando seguente...

New-OfficeWebAppsMachine -MachineToJoin "Server1"

Disponete ora di una farm con due computer. Ripetete il passaggio precedente per Server3 e Server4.

Connessione a SharePoint

A questo punto la farm di Office Web Apps è pronta per l'utilizzo, ma non è connessa ancora ad alcun host. Per connettere una farm di SharePoint a questa farm di Office Web Apps Server, aprite una finestra del prompt dei comandi di Windows PowerShell in un server della farm di SharePoint ed eseguite il comando seguente...

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

Sarà necessario inoltre eseguire il comando seguente per indicare alla farm di SharePoint che desiderate utilizzare l'URL esterno della farm di Office Web Apps Server e che viene utilizzato il protocollo HTTPS.

Set-SPWopiZone -Zone "external-https"

Sono state completate così tutte le operazioni. Passate ora a una raccolta documenti nella farm di SharePoint per creare, visualizzare e modificare file di Office in base alle vostre esigenze. Non sono necessarie ulteriori attività di configurazione.

Se infine desiderate disconnettere la farm di Office Web Apps Server da SharePoint, eseguite il comando seguente...

Remove-SPWopiBinding -All

Se aprite ora una raccolta documenti della farm di SharePoint, non vi sarà traccia delle applicazioni di Office Web Apps.

Potete connettere un numero illimitato di farm di SharePoint a una singola farm di Office Web Apps. Lo stesso vale per la connessione di Exchange e Lync a una farm di Office Web Apps. Per ulteriori informazioni, vedete Exchange Server 2013: integrazione con Office Web Apps Server e Distribuzione di Office Web Apps Server e Lync Server 2013.

Reperimento degli aggiornamenti per Office Web Apps Server

Sin dall'inizio ci siamo impegnati a garantire aggiornamenti frequenti per le applicazioni di Office Web Apps. Abbiamo fornito però gli aggiornamenti solo ai clienti delle versioni in locale tramite i Service Pack. Dopo il rilascio di Office Web Apps Server 2013, prevediamo di rendere disponibili gli aggiornamenti con una maggiore frequenza. Riteniamo che sarà un'attività facilmente gestibile dagli amministratori, perché l'operazione di aggiornamento di Office Web Apps Server è molto semplice.

Per aggiornare i computer di una farm di Office Web Apps Server, è necessario rimuovere i computer dalla soluzione di bilanciamento del carico e dalla farm. È comunque possibile gestire questo processo praticamente senza alcun disagio per gli utenti.
Se ad esempio disponete di una farm con quattro computer, disconnettete due computer e aggiornateli. Create quindi una nuova farm con questi due computer e fate in modo che la soluzione di bilanciamento del carico punti a questi due computer anziché ai due computer della farm originale. Aggiornate ora gli altri due computer e aggiungeteli alla nuova farm, configurando la soluzione di bilanciamento del carico in modo che punti anche a questi due computer.

Quando vengono disconnessi computer dalla farm, è possibile che alcuni utenti riscontrino problemi, ma le applicazioni di Office Web Apps verranno ripristinate. Questo funziona per tutti i casi, ad eccezione dello scenario con un singolo computer (per ovvi motivi).

Informazioni aggiuntive su Office Web Apps Server

Ulteriori informazioni su Office Web Apps Server sono disponibili nelle risorse seguenti:
• Libreria di Office Web Apps Preview su TechNet
• Exchange Server 2013: integrazione con Office Web Apps Server
• Distribuzione di Office Web Apps Server e Lync Server 2013
• Forum sulla configurazione e la distribuzione di Office Web Apps

Nick Simons
Senior Program Manager - Office Web Apps

 

Questo è un post di blog localizzato. L'articolo originale è disponibile in Introducing Office Web Apps Server.