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.

Примерно так.

Виталий Жуков

Виталий Жуков

Техлид, Архитектор, Разработчик, Microsoft MVP. Более 20 лет опыта в области системной интеграции и разработки программного обеспечения. Специализируюсь на проектировании и внедрении масштабируемых высокопроизводительных программных решений в различных отраслях.

Смотрите также

Развертывание списков и библиотек с помощью SPFx-решений

Развертывание списков и библиотек с помощью SPFx-решений

SharePoint. Drag-and-Drop Загрузчик файлов

SharePoint. Drag-and-Drop Загрузчик файлов

CSOM. Загрузка файлов

CSOM. Загрузка файлов

SharePoint List REST API. Часть 2

SharePoint List REST API. Часть 2

SharePoint Framework. Создание веб-части на Angular

SharePoint Framework. Создание веб-части на Angular

SharePoint List REST API. Часть 1

SharePoint List REST API. Часть 1

Презентация с доклада о SharePoint Framework

Презентация с доклада о SharePoint Framework

SharePoint Framework. Создаем AngularJS 1.x Client WebPart

SharePoint Framework. Создаем AngularJS 1.x Client WebPart

SharePoint. Регистрация CSS и JavaScript с помощью DelegateControl

SharePoint. Регистрация CSS и JavaScript с помощью DelegateControl

SharePoint. Расширяем REST API

SharePoint. Расширяем REST API

SharePoint Excel Services. Создаем кредитный калькулятор

SharePoint Excel Services. Создаем кредитный калькулятор

SharePoint Ribbon API. Использование ToggleButton

SharePoint Ribbon API. Использование ToggleButton

SharePoint 2013. How To: настройка входящей почты для разработчиков

SharePoint 2013. How To: настройка входящей почты для разработчиков

Мифы и правда о Linq to SharePoint

Мифы и правда о Linq to SharePoint

5 особенностей SPSiteDataQuery

5 особенностей SPSiteDataQuery

SharePoint 2013. Введение в SharePoint App. Часть 1

SharePoint 2013. Введение в SharePoint App. Часть 1

Превью для веб-части в SharePoint 2010/2013

Превью для веб-части в SharePoint 2010/2013

SharePoint 2013. Еще немного о новых контролах

SharePoint 2013. Еще немного о новых контролах

SharePoint 2013. Контрол ClientPeoplePicker

SharePoint 2013. Контрол ClientPeoplePicker

SharePoint 2013. Контрол ImageCrop

SharePoint 2013. Контрол ImageCrop

SharePoint 2013. Тип поля Geolocation

SharePoint 2013. Тип поля Geolocation

Создание типа поля в SharePoint

Создание типа поля в SharePoint

SharePoint 2010. Длительные операции с обновляемым статусом

SharePoint 2010. Длительные операции с обновляемым статусом

Linq to SharePoint. Создаем ContentIterator

Linq to SharePoint. Создаем ContentIterator

Linq to SharePoint. Получение данных из другой коллекции сайтов

Linq to SharePoint. Получение данных из другой коллекции сайтов

Linq to SharePoint. Версионность

Linq to SharePoint. Версионность

SharePoint. Получение URL-адреса иконки для документа

SharePoint. Получение URL-адреса иконки для документа

SharePoint 2010. PostBack для Fluent Ribbon API

SharePoint 2010. PostBack для Fluent Ribbon API

Linq to SharePoint. Блокировка документов

Linq to SharePoint. Блокировка документов

Linq to SharePoint. Паттерн Repository

Linq to SharePoint. Паттерн Repository

Linq to SharePoint. Получение мета-данных списка

Linq to SharePoint. Получение мета-данных списка

Linq to SharePoint. Мапинг полей

Linq to SharePoint. Мапинг полей

Linq to SharePoint. Формирование данных для ProcessBatchData

Linq to SharePoint. Формирование данных для ProcessBatchData

Linq to SharePoint. Сравнение производительности с Camlex.NET

Linq to SharePoint. Сравнение производительности с Camlex.NET

Linq to SharePoint. Часть 5. Поля Choice и MultiChoice

Linq to SharePoint. Часть 5. Поля Choice и MultiChoice

Linq to SharePoint. Часть 4. Dynamic LINQ

Linq to SharePoint. Часть 4. Dynamic LINQ

Linq to SharePoint. Особенности. Часть 3

Linq to SharePoint. Особенности. Часть 3

Linq to SharePoint. Особенности. Часть 2

Linq to SharePoint. Особенности. Часть 2

SharePoint 2010. PeopleEditor. Установка значения

SharePoint 2010. PeopleEditor. Установка значения

SharePoint 2010. Настройка входящей почты для кастомного списка

SharePoint 2010. Настройка входящей почты для кастомного списка

Linq to Sharepoint. Особенности

Linq to Sharepoint. Особенности

EntityFramework. Оптимистические блокировки

EntityFramework. Оптимистические блокировки