SharePoint 2013. Введение в SharePoint App. Часть 2
В продолжении темы SharePoint App в этом посте я расскажу про среду исполнения новых приложений и варианты хостинга новых приложений в SharePoint 2013.
Уровни изоляции SharePoint App
В SharePoint 2013 приложения делятся на три типа по уровню изоляции - SharePoint-hosted, Provider-hosted и Autohosted. При создании нового приложения в Visual Studio 2012 первое, что необходимо сделать - это выбрать один из этих типов:
Теперь подробнее про каждый из этих типов изоляции (или хостинга).
SharePoint-hosted
Самые простой тип изоляции подразумевает полное отсутствие кастомного кода, исполняемого на серверной стороне. Можно создавать веб-части, страницы, использовать клиентский код (JavaScript, Silverlight, Flash, VBScript).
SharePoint-hosted приложение всегда имеет стартовую страницу, которая хостится в SharePoint. Даже в случае с веб-частью: в её свойствах всегда указана ссылка на страницу, которую она отображает. Как ни крути - страница всему голова.
При таком типе хостинга никто не мешает создавать и использовать стандартные артефакты в SharePoint: списки, колонки, типы содержимого, веб-части и прочее. Данный тип хостинга вполне пригоден для создания простых решений.
При развертывании приложения для него будет создан отдельный сайт, который и будет отдан целиком для хостинга приложения: там будет располагаться всё кастомное содержимое и артефакты.
Provider-hosted SharePoint App
Этот тип хостинга приложения предполагает наличие приложения за пределами фермы SharePoint. На стороне SharePoint остается только интерфейс. Provider-hosted App - это как раз тот случай, когда можно сказать, что имеющееся приложение, написанное на PHP, ASP или прочем, можно не портировать на платформу .NET, а использовать его как есть.
Взаимодействие с внешними службами обеспечивает JavaScript-компонент App Launcher, который пробрасывает пользователя со страницы SharePoint на удаленное приложение.
Autohosted
Третий тип хостинга по сути своей является разновидностью Provider-hosted. Его отличие заключается в том, что для каждого клиента (SharePoint App) будет создан экземпляр удаленного приложения.
Использовать этот подход можно для решения двух проблем:
- Распределение нагрузки на приложение;
- Изолирование данных разных клиентов друг от друга;
Гибрид
Можно также совмещать описанные выше типы хостинга для построения гибридного решения. Например, использовать SharePoint-hosted App для хранения некоторых данных в списках SharePoint и Provider-hosted App для работы с внешним приложением.
Среда исполнения SharePoint App
Напоследок про службы, обеспечивающие работу новых приложений в SharePoint 2013:
- Служба управления приложениями (App Management Service). Эта служба предназначена исключительно для хранения в своей базе данных всей необходимой информации о приложениях SharePoint (Метаданные, параметры безопасности, разрешения приложений, лицензирование);
- Приложение-служба управления подпиской (Site Subscription Settings Service). Эта скрытая служба предназначена для управления арендой приложений (tenancy), в рамках которой и работает любое приложение SharePoint.
Примерно так.