Введение в Office Web Apps Server
Исходная статья опубликована во вторник, 11 сентября 2012 г.
Эта статья написана Ником Симонсом (Nick Simons), старшим руководителем программы Office Web Apps.
Летом 2010 г. мы познакомили вас с Office Web Apps, браузерными версиями Word, PowerPoint, Excel и OneNote. Мы открыли доступ к этим продуктам как к набору приложений SharePoint. Клиенты, разворачивающие Office Web Apps в своих собственных сетях, сделали это путем установки Office Web Apps на серверах SharePoint.
В то время тесная интеграция с SharePoint казалась оптимальным подходом. Очевидно, SharePoint был и остается одним из столпов истории Office Web Apps. К тому же в SharePoint имеется четко определенная модель интеграции таких приложений, как Office Web Apps. Но как только мы начали планировать следующую версию Office Web Apps, стало ясно, что будет трудно достичь некоторых из наших основных целей в архитектуре, настолько тесно связанной с SharePoint.
Мы хотели упростить установку и планирование мощности, а также включить федерацию с несколькими фермами. Кроме того, мы хотели обеспечить запросы на интеграцию от новых партнеров, таких как Lync. наконец, мы слышали от многих клиентов, как Office 365, так и локальных, что они хотели бы получать такие же улучшения, которые регулярно получают наши пользователи SkyDrive.
Для достижения этих целей мы вернулись к началу и переосмыслили интеграцию Office Web Apps с другими продуктами в настоящее время и в будущем. Мы создали новую модель, отделяющую Office Web Apps от каких-либо конкретных партнерских технологий. В конечном счете наша модель добавляет относительно небольшую программную нагрузку на файловые узлы, такие как SharePoint, что позволяет нам запускать Office Web Apps на полностью изолированных серверах.
Этим новым продуктом изолированного сервера является Office Web Apps Server.
Мы знаем. что на первый взгляд кажется, что идея дополнительного типа сервера все усложняет и повышает нагрузку на администратора. Но вы увидите, что благодаря изоляции мы получили...
1. Более простая установка.
2. Обновление и обслуживание полностью отделено от SharePoint.
3. Несколько ферм SharePoint интегрируются с одной фермой Office Web Apps Server.
4. Exchange, Lync и другие сторонние продукты интегрируются с Office Web Apps.
5. Доставка новых функций и усовершенствований нашим веб-клиентам и локальным клиентам происходит практически одновременно.
Когда мы сравниваем предыдущие развертывания Office Web Apps в SharePoint 2010 с новыми развертываниями с использованием Office Web Apps Server, то преимущества действительно становятся очевидными.
В предыдущих версиях Office типичное развертывание Office Web Apps выглядело примерно следующим образом.
Следует отметить, что предыдущую версию Office Web Apps необходимо было устанавливать в каждой ферме и на каждом компьютере в каждой ферме. Кроме того, масштабирование Office Web Apps было привязано к общему масштабированию SharePoint. Для обновления Office Web Apps требовалось обновить код на каждом компьютере во всех ваших фермах SharePoint.
В Office Web Apps Server мы предполагаем, что развертывание будет больше похоже на следующее.
Как можно видеть, одна ферма Office Web Apps Server может обслуживать несколько ферм SharePoint 2013 плюс Lync 2013 и Exchange 2013 (Outlook Web Access). Кроме того, вы можете использовать свою ферму Office Web Apps для просмотра любого файла Word, Excel и PowerPoint, доступного по URL-адресу или по UNC-имени.
Краткий обзор новой модели интеграции
Далее будет описываться интеграция Office Web Apps с файловым узлом, например SharePoint, на общем уровне. Эти сведения помогут вам понять требования к сети и к безопасности, которые будут рассматриваться позднее.
Сначала дадим несколько определений.
- Office Web Apps Server обеспечивает функциональные возможности Office Web Apps в узлах и является темой этой статьи.
- Узел использует службы, предоставляемые Office Web Apps Server для отображения файлов в веб-браузере. Например, узлами являются SharePoint Server 2013, Lync Server 2013 и Exchange Server 2013.
- Клиент — это браузер или другая аналогичная программа.
Главной частью новой модели интеграции является новый общедоступный API, который используется Office Web Apps для взаимодействия с узлами. Этот API называется WOPI (Web application Open Platform Interface — интерфейс открытой платформы веб-приложения). Office Web Apps Server извлекает файлы и управляет ими с помощью API WOPI. Мы часто называем Office Web Apps Server приложением WOPI. Узлы должны понимать запросы WOPI от приложений WOPI.
WOPI — это API с поддержкой REST, который использует протокол HTTP/HTTPS. Помимо прочего это означает, что весь трафик между узлами и Office Web Apps Server проходит через стандартные порты HTTP/HTTPS. Это также означает, что Office Web Apps Server в максимально возможной степени не имеет сведений о состоянии. Это делает его более устойчивым к разным видам отказов, от перебоев сети до полного отказа оборудования.
Чтобы понять принципы работы WOPI, давайте рассмотрим простой сценарий, в котором пользователь Александр просматривает файл с именем test.docx, размещенный в SharePoint. Вот как это делается.
1. Александр переходит в библиотеку документов, в которой хранится файл test.docx.
2. Александр щелкает имя этого файла в библиотеке документов.
3. SharePoint направляет браузер на специальную страницу SharePoint, которая знает, как инициировать запросы в Office Web Apps Server (и в другие приложения WOPI). Мы будем называть эту страницу SharePoint WOPIFrame.aspx.
4. WOPIFrame.aspx содержит кадр iFrame (https://dev.w3.org/html5/spec/the-iframe-element.html), который направляет на страницу в Office Web Apps Server. Назовем эту страницу WordViewer.aspx. HTTP-запрос на страницу WordViewer.aspx включает следующие важные сведения.
-
- URL-адрес, который будет использоваться Office Web Apps Server для получения файла test.docx. Мы называем его конечной точкой WOPI (WOPI Endpoint).
- Имя файла. Фактически мы объединяем конечную точку WOPI и имя файла в один параметр, который называем источником WOPI (WOPI Source).
- Строка, представляющая учетные данные Александра, которую Office Web Apps может передать в конечную точку WOPI. Мы называем эту строку маркером доступа (Access Token).
В целях безопасности маркер доступа предоставляет Александру доступ к одному конкретному файлу. Если злоумышленнику удастся украсть этот маркер доступа, то сможет выдать себя за Александра в контексте только одного файла. Конечно, это тоже нехорошо, поэтому так важно защищать маркер доступа с помощью протокола SSL.
5. Office Web Apps Server использует источник WOPI и маркер доступа для получения test.docx в SharePoint.
6. Страница WordViewer.aspx отображает файл test.docx в кадре iFrame на странице WOPIFrame.aspx.
Вот рисунок, который показывает поток данных между браузером, SharePoint и Office Web Apps Server.
Установка фермы Office Web Apps Server
В данном случае фермой серверов может быть все что угодно, от одной виртуальной машины, работающей на общедоступном сервере, до фермы из множества серверов уровня центра обработки данных. Во всех случаях базовая установка и обслуживание одинаковы. Конечно, точное описание предварительных требований и действий по созданию фермы поставляется продуктом. Мне не хотелось бы воспроизводить здесь эту документацию. Я собираюсь лишь описать основные моменты с разумным уровнем подробностей.
Оборудование
Для начала вам потребуется несколько компьютеров. Давайте предположим, что вы устанавливаете ферму для обслуживания потребностей 80 000 пользователей нескольких ферм SharePoint. Мы считаем, что вам скорее всего потребуется 4 сервера со следующими характеристиками:
- ОС Windows Server 2008 R2 или Windows Server 2012 со всеми обязательными требованиями;
- 8 ядер;
- 8 ГБ оперативной памяти;
- достаточного размера жесткий диск (не менее 60 ГБ).
Также потребуется подсистема балансировки нагрузки. У нас есть созданная в Майкрософт ферма из 10 компьютеров, которая совместно использует аппаратную подсистему балансировки нагрузки F5 BIG-IP со множеством других серверных продуктов. Такая схема работает очень хорошо, но любое достойное решение по балансировке нагрузки достигнет своей цели. Единственная наша настоятельная рекомендация состоит в том, чтобы ваше решение по балансировке нагрузки поддерживало сходство. Для повышения производительности очень полезно, когда один сервер обрабатывает все запросы для конкретного сеанса.
Сеть
Я исхожу из предположения, что вы хотите, чтобы ваши пользователи имели доступ к Office Web Apps как из внутренней сети, так и из Интернета. Если это так, то вам придется настроить для фермы и внутреннюю, и внешнюю DNS. Вы также можете предпочесть настроить только внутреннюю DNS и использовать правила внутренней DNS для поддержки внутренних запросов в вашей частной сети. Это то, что я хотел бы сделать.
Это ваша сеть, так что настраивайте ее так, как считаете нужным. Наши же требования состоят в следующем.
- Клиенты (обычно веб-браузеры) должны иметь возможность отправлять запросы в ферму. Это обычные запросы HTTP/HTTPS через порты 80 и 443 соответственно.
- Компьютеры в ферме Office Web Apps инициируют запросы в службу в файловом узле (например, в SharePoint). Это тоже запросы HTTP/HTTPS через порты 80 и 443. Таким образом компьютеры Office Web Apps работают с файлами, которые они отображают или изменяют.
- Файловым узлам иногда необходимо запрашивать сведения непосредственно в ферме Office Web Apps Server через подсистему балансировки нагрузки. Такие запросы также являются запросами HTTP/HTTPS через порты 80 и 443.
- Всем компьютерам в ферме Office Web Apps Server необходимо взаимодействовать друг с другом через порт 809. В идеале все эти компьютеры должны находиться в частной подсети, чтобы никакие другие компьютеры не могли присоединяться к ферме или прослушивать трафик. Если это не так, то в Office Web Apps Server имеются встроенные функции, которые помогают обеспечить безопасность фермы в более открытой сети. Я не планирую рассматривать здесь эти функции. Дополнительные сведения см. в разделе Планирование системы безопасности для Office Web Apps Server Preview статьи "Планирование Office Web Apps Server Preview".
Очень важно проверить правильность настройки этих сетевых маршрутов. Устройство Office Web Apps довольно простое, но при этом работа возможна только при открытых каналах взаимодействия.
Безопасность
Как я отмечал в предыдущем разделе, начальный запрос на отображение или изменение файла включает учетные данные пользователя в форме маркера доступа. В свою очередь этот маркер доступа включается во все запросы из Office Web Apps в узлы. Весь этот трафик должен быть защищен с помощью протокола SSL, если вы не находитесь в частной сети и не доверяете всем, кто имеет доступ в эту сеть. Но и тогда вы должны использовать SSL. Это действительно так.
Для настройки SSL необходимо создать сертификаты и разместить их на каждом компьютере Office Web Apps Server или в подсистеме балансировки нагрузки. Если вы предпочитаете отменить SSL в подсистеме балансировки нагрузки, то в Office Web Apps Server имеются специальные параметры, которые можно использовать. Я сейчас расскажу об этом.
Конфигурация Office Web Apps Server
Когда все оборудование и сетевая инфраструктура будет на месте, настает время для фактического создания фермы Office Web Apps Server. Сначала установите на всех компьютерах Office Web Apps Server и его языковые пакеты. Не пытайтесь устанавливать на эти компьютеры какое-либо другое программное обеспечение. Ни SharePoint. Ни Exchange. Ни что-либо еще. Если вам нужно использовать оборудование для чего-либо еще, применяйте виртуальные машины.
После того как это будет сделано, запустите следующий командлет Windows PowerShell на первом компьютере в ферме (назовем его сервером 1). Этот командлет Windows PowerShell предполагает следующее.
- Вы настраиваете внешнюю DNS только в URL-адресе https://officewebapps.contoso.com. Это может быть любой URL-адрес, который вы решите настроить.
- Вы устанавливаете ферму Office Web Apps Server для поддержки как изменения, так и просмотра.
Делайте это только в том случае, если ваша организация имеет соответствующие лицензии для изменения. Я не собираюсь здесь углубляться в детали лицензирования и хочу только сказать, что просмотр Office Web Apps бесплатный, а изменение функциональности платное. Дополнительные сведения см. в разделе Лицензирование Office Web Apps Preview для редактирования файлов Office статьи "Планирование Office Web Apps (используется вместе с продуктами SharePoint 2013)". - Вы отключили SSL в подсистеме балансировки нагрузки.
Вот этот командлет Windows PowerShell:
New-OfficeWebAppsFarm -ExternalURL "https://officewebapps.contoso.com" -EditingEnabled -SSLOffloaded
Теперь у вас есть ферма Office Web Apps Server с одним компьютером.
Закончив с сервером 1, перейдите к серверу 2, от него к следующему и так далее.
New-OfficeWebAppsMachine -MachineToJoin "имя_сервера_1"
Теперь у вас ферма из двух компьютеров. Повторите предыдущее действие для серверов 3 и 4.
Подключение к SharePoint
В этот момент ваша ферма Office Web Apps готова. Но она еще не подключена ни к одному узлу. Чтобы подключить ферму SharePoint к это ферме Office Web Apps Server, откройте командную строку Windows PowerShell на любом компьютере в ферме SharePoint и выполните следующую команду.
New-SPWopiBinding -ServerName "officewebapps.contoso.com"
Чтобы сообщить ферме SharePoint, чтобы хотите использовать внешний URL-адрес фермы Office Web Apps Server, и что этот адрес использует HTTPS, необходимо также выполнить следующую команду.
Set-SPWopiZone -Zone "external-https"
Вот теперь действительно все готово. Переходите в библиотеку документов в ферме SharePoint и создавайте, просматривайте и изменяйте файлы Office, какие вашей душе угодно. Больше никакая настройка не требуется.
Наконец, если вы хотите отключить ферму Office Web Apps Server от SharePoint, выполните следующую команду.
Remove-SPWopiBinding -All
Если теперь вы перейдете в библиотеку документов в ферме SharePoint, там не будет никаких следов Office Web Apps.
К одной ферме Office Web Apps можно подключить сколько угодно ферм SharePoint. То же относится и к подключению к ферме Office Web Apps Exchange и Lync. Дополнительные сведения см. в статьях Exchange Server 2013. Интеграция Office Web Apps Server и Развертывание Office Web Apps Server и Lync Server 2013.
Получение обновлений Office Web Apps Server
С самого начала мы были настроены на частое обновление Office Web Apps. Однако локальным клиентам мы поставляли наши обновления посредством пакетов обновления. После выпуска Office Web Apps Server 2013 мы планируем делать обновления доступными гораздо чаще. Мы считаем, что это вполне может управляться администраторами, поскольку выполнять обновление Office Web Apps Server очень просто.
Для обновления компьютеров в ферме Office Web Apps Server потребуется удалить их из подсистемы балансировки нагрузки и из фермы. Однако этот процесс может быть управляемым, так что практически не окажет никакого воздействия на пользователей.
В сущности, если у вас есть ферма из 4 компьютеров, вы можете взять два компьютера и обновить их. Затем создать новую ферму из этих двух компьютеров и переключить на них подсистему балансировки нагрузки с 2 компьютеров из исходной фермы. После чего можно обновить оставшиеся два компьютера и присоединить их к новой ферме и также включить их в подсистему балансировки нагрузки.
При изъятии компьютеров из фермы некоторые пользователи могут столкнуться с небольшими перебоями, но Office Web Apps все восстановит. Это работает во всех случаях, кроме фермы из одного компьютера (по очевидным причинам).
Дополнительные сведения об Office Web Apps Server
Дополнительные ресурсы для Office Web Apps Server можно найти по следующим адресам:
• Библиотека Office Web Apps Preview на веб-сайте TechNet
• Exchange Server 2013. Интеграция Office Web Apps Server
• Развертывание Office Web Apps Server и Lync Server 2013
• Форум по установке и развертыванию Office Web Apps
Ник Симонс (Nick Simons)
Старший руководитель программы, Office Web Apps
Это локализованная запись блога. Исходная статья находится по адресу Introducing Office Web Apps Server