Разработка решений SharePoint Online
SharePoint Online — это гибкая и мощная платформа разработки пользовательских решений, предоставляющая набор основных функций для локальной разработки решений SharePoint.
Дата последнего изменения: 17 октября 2011 г.
Применимо к: SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Server 2010
В этой статье
Разработка решений SharePoint Online
Разработка для SharePoint Online с использованием изолированных решений
Доступ к данным SharePoint Online с помощью клиентских объектных моделей
Доступно на сайте SharePoint Online
Поскольку администраторы SharePoint Online не имеют прав на владение всей фермой и прав на ее администрирование, а лишь аналогичные права для семейства веб-сайтов в SharePoint Online, разработка для SharePoint Online происходит в области семейства веб-сайтов.
Разработка решений SharePoint Online
Поскольку разработка в SharePoint Online происходит на уровне семейства веб-сайтов, для создания пользовательских решений SharePoint Online используются две возможности разработчика:
Изолированные решения. Изолированные решения предоставляют разработчикам платформу для создания решений настраиваемого кода для SharePoint Online, а администраторам SharePoint Online — для отправки и активации таких решений. Изолированные решения запускаются в среде, которая имеет доступ к основному подмножеству объектов серверной объектной модели. Платформа решений для песочницы предоставляет разработчикам доступ к основным объектам на уровне семейства веб-сайтов и ниже.
Клиентская объектная модель. Клиентские объектные модели предоставляют три соответствующих и сопоставимых представления основных объектов серверной объектной модели SharePoint: управляемая модель Microsoft .NET Framework, модель Microsoft Silverlight и модель ECMAScript (JavaScript, JScript). Эти клиентские объектные модели предоставляют удаленный доступ к данным и функциональным возможностям SharePoint.
Кроме того, клиентский код можно использовать для доступа к веб-службам, предоставляемым SharePoint Online, и внешним источникам данных. Таким образом, клиентский код целесообразно использовать в случае, когда необходимо получить доступ либо к объектам, которые отсутствуют в решениях для песочницы, но доступны посредством веб-службы SharePoint Online, либо к внешним данным.
На рисунке 1 показаны возможности разработки:
Использование серверной объектной модели в изолированных решениях.
Использование клиентской объектной модели и клиентского кода для доступа к дополнительным данным, предоставляемым веб-службами SharePoint или внешними источниками данных.
Обратите внимание, что фактически веб-часть SharePoint запускается в SharePoint Online. Однако клиентский код, на который она ссылается, загружается и выполняется на клиенте, а клиентская объектная модель SharePoint используется при передаче данных для обратного подключения к SharePoint Online.
Рисунок 1. Возможности разработки SharePoint Online
Разработка для SharePoint Online с использованием изолированных решений
При разработке решений SharePoint Online для упаковки и развертывания пользовательских решений, предназначенных для локальной установки SharePoint, используется одна и та же платформа: платформа решений. Разработчик решений SharePoint Online создает специальный тип решения, которое называется решение для песочницы. Решение для песочницы позволяет администраторам SharePoint Online отправлять собственные решения настраиваемого кода.
Решение для песочницы работает аналогично решению фермы (полное доверие). Например, решения для песочницы позволяют объединять все компоненты, которые могут использоваться для расширения SharePoint Online, в один новый файл, называемый файлом решения. Решение для песочницы является развертываемым пакетом с возможностью многократного использования, который содержит набор функций, определений сайтов и сборок, применяемых к сайтам, которые можно включать или отключать по отдельности. Файл решения для песочницы можно использовать для развертывания содержимого пакета веб-части, включая сборки, ресурсы класса, файлы описания веб-части (DWP-файлы) и другие компоненты пакета.
Основное отличие между изолированными решениями и решениями фермы заключается в способе развертывания и в уровне доступа к серверной объектной модели. Изолированные решения запускаются в отдельном процессе, который имеет доступ к основному подмножеству серверной объектной модели. Решения для песочницы хранятся в коллекции решений. Кроме того, к решениям для песочницы применяется настраиваемая политика разграничения доступа кода (CAS).
Дополнительные сведения о возможностях и элементах, доступных для использования в решениях для песочницы, политике разграничения доступа кода решений для песочницы и мониторинге ресурсов решений для песочницы см. в статье Архитектура изолированных решений.
Список типов и членов, доступных в серверной объектной модели решений для песочницы, см. в статье Программные интерфейсы Microsoft.SharePoint.dll, доступные из изолированных решений.
Процесс разработки решения SharePoint Online
Ниже приведены основные шаги создания, развертывания и активации изолированного решения в SharePoint Online.
Разработка и тестирование решения.
Сначала необходимо разработать решение SharePoint Online на локальном компьютере с установленным SharePoint Server 2010 или SharePoint Foundation 2010. На этом шаге также выполняется отладка, поскольку невозможно выполнить отладку решения непосредственно из SharePoint Online.
После настройки среды разработки можно приступить к созданию собственного решения для песочницы с помощью Visual Studio 2010. Visual Studio 2010 является средством для быстрой разработки решений SharePoint и предоставляет такие средства, как расширенная отладка, IntelliSense, завершение операторов и шаблоны проектов. Visual Studio 2010 предоставляет множество специализированных шаблонов для создания элементов SharePoint и последующего добавления их в решения для песочницы. Кроме того, Visual Studio 2010 поддерживает открытие и редактирование файлов пакета решения (WSP), созданных в SharePoint Designer 2010, обеспечивая тесное взаимодействие между разработчиками и дизайнерами при работе над решениями посредством стандартной платформы.
Дополнительные сведения о настройке среды разработки, включая рекомендации по оборудованию, операционной системе и параметрам Hyper-V, а также сведения об обязательных компонентах см. в статье Настройка среды разработки для SharePoint 2010 в Windows Vista, Windows 7 и Windows Server 2008.
Дополнительные сведения об использовании и настройке Visual Studio 2010 для повышения эффективности см. в статье Использование Visual Studio для разработки SharePoint.
Развертывание и активация решения.
После создания и отладки решения для песочницы на локальном компьютере разработчик должен передать решение администратору SharePoint Online (при отсутствии прав администратора SharePoint Online). Администратор SharePoint Online передает файл пакета решения (WSP) в коллекцию решений для активации.
Дополнительные сведения см. в статье Deploying a Sandboxed Solution.
Для того чтобы пользователи могли работать с решением, необходимо активировать его. Если пакет решения для песочницы содержит компонент, областью действия которого является семейство веб-сайтов, он активируется автоматически. Любые компоненты, действующие на уровне сайта, должны активироваться на странице "Управление возможностями сайта" по адресу https://servername/site/subsite/_layouts/managefeatures.aspx.
Мониторинг активированного решения.
Ресурсы, потребляемые активированными решениями, подлежат мониторингу. Для мониторинга производительности решения можно использовать несколько типов показателей, включая время выполнения на ЦП, потребление памяти и время обработки запроса базы данных.
На рисунке 2 показаны основные шаги процесса разработки решения для песочницы для SharePoint Online.
Рисунок 2. Разработка изолированных решений в SharePoint Online
Дополнительные сведения об эталонной реализации решения для песочницы см. в разделе Эталонная реализация. Модель выполнения изолированного решения (Возможно, на английском языке).
Обучающие ресурсы по решениям для песочницы см. в статье, посвященной изолированным решениям (Возможно, на английском языке), на веб-сайте "Канал 9".
Дополнительные ограничения решений в SharePoint Online
Поскольку среда поддерживает архитектуру обслуживания одним экземпляром приложения нескольких развертываний, при отправке решения для песочницы в коллекцию решений SharePoint Online выполняет дополнительные проверки (помимо проверок, выполняемых при локальных установках SharePoint). Решение для песочницы не может быть активировано, если решение содержит код, вызывающий любое из следующих пространств имен:
Microsoft.SqlServer
-
Однако в коде решения для песочницы можно использовать следующие члены из этого пространства имен:
System.Runtime.InteropServices
Однако в коде решения для песочницы можно использовать перечисление LayoutKind.
-
Однако в коде решения для песочницы можно использовать следующие члены из этого пространства имен:
Кроме того, из кода решения для песочницы в SharePoint Online нельзя вызывать следующие типы и члены:
Доступ к данным SharePoint Online с помощью клиентских объектных моделей
SharePoint Online содержит три клиентские объектные модели, каждая из которых предоставляет приблизительно одно и то же подмножество серверной объектной модели, которая определена в библиотеке Microsoft.SharePoint.dll. Клиентские объектные модели JavaScript, управляемая платформа .NET Framework и Silverlight содержат объекты, которые соответствуют основным объектам на уровне семейства сайтов или ниже в иерархии SharePoint. Объектные модели предоставляют целостную, простую в использовании объектно-ориентированную систему для работы с данными SharePoint из удаленного клиента или сервера.
Поскольку код, написанный для клиентских объектных моделей, запускается удаленно на клиенте, его ограничения отличаются от ограничений решений для песочницы. Например, этот код может получать доступ к внешним источникам данных.
Для повышения безопасности и производительности клиентские объектные модели сосредотачиваются на наиболее важных интерфейсах API для разработки на стороне клиента и содержат не все типы и члены, представленные в серверной объектной модели. Ограничение размера клиентских библиотек уменьшает время, необходимое для загрузки библиотек в контексты Silverlight и JavaScript. Также новые интерфейсы API разработаны для минимизации числа обходных путей, которые должны быть реализованы для типичных задач.
Клиентские объектные модели предоставляются через JS-файлы прокси-сервера и управляемые DLL-файлы, которые могут использоваться в пользовательских приложениях в качестве других объектных моделей. Объектные модели реализованы в виде службы Windows Communication Foundation (WCF), но используют веб-привязки для эффективной пакетной обработки запросов. Все операции выполняются асинхронно, поэтому команды сериализуются в XML и отправляются серверу в виде одного HTTP-запроса. Для каждой команды выполняется вызов соответствующей серверной объектной модели. Сервер возвращает ответ клиенту в компактном формате нотации объектов JSON (JavaScript Object Notation), который обрабатывается прокси-сервером и связывается с соответствующими объектами.
На рисунке 3 показана обработка вызова и ответа для клиентских объектных моделей.
Рисунок 3. Архитектура клиентских объектных моделей SharePoint
С помощью программ, выполняемых на клиентских компьютерах и использующих одну из клиентских объектных моделей, можно добавлять и удалять списки, добавлять, обновлять и удалять элементы списков, изменять документы в библиотеках документов, создавать сайты, управлять разрешениями элементов, а также добавлять и удалять веб-части на страницах.
Некоторые поддерживаемые области разработки:
Семейства веб-сайтов и сайты
Списки, элементы списков, представления и схемы списков
Файлы и папки
Контейнеры свойств списка, элемента списка и веб-сайта
Веб-части
Безопасность
Типы контента
Операции шаблонов сайта и семейства сайтов
![]() |
---|
В настоящее время получать доступ к контенту SharePoint Online можно только программно с помощью учетных данных ИД Office. Получить программный доступ к контенту SharePoint Online с помощью учетных данных пользователей из локального домена (например, импортированных с помощью средства DirSync) нельзя. |
Использование клиентской объектной модели Silverlight в SharePoint Online
Для создания полнофункциональных приложений в SharePoint Online можно использовать Silverlight и клиентскую объектную модель Silverlight. Созданное приложение Silverlight (XAP-файл) можно разместить на собственной ASPX-странице или веб-части. SharePoint Online содержит веб-часть Silverlight по умолчанию. Кроме того, можно создать настраиваемую веб-часть при разработке решения для песочницы.
Чтобы использовать объектную модель SharePoint Silverlight в веб-части Silverlight, можно создать приложение Silverlight в Visual Studio 2010 и добавить код в класс Page файла проекта Page.xaml.cs по умолчанию. После построения проекта отправьте файл пакета приложения проекта (XAP-файл) в выбранную библиотеку документов. Добавьте веб-часть Silverlight на страницу веб-частей, а затем выберите исходный URL-адрес этой веб-части в XAP-файле библиотеки документов. Веб-часть может содержать настраиваемые свойства, которые передаются Silverlight с помощью свойства InitParameters.
Для проверки подлинности пользователей SharePoint Online используйте проверку подлинности на основе форм (FBA).
Кроме того, с помощью Visual Studio 2010 можно создать единый файл решения (WSP-файл), который выполняет следующие действия при развертывании и активации:
развертывает веб-часть на основе веб-части Silverlight по умолчанию, чтобы разместить приложение Silverlight;
развертывает файл пакета приложения Silverlight (XAP-файл), упакованный в виде модуля, в указанном расположении библиотеки документов;
создает страницы, содержащие веб-часть, в коллекции страниц сайта.
После активации решения пользователь может перейти к созданным страницам и работать с веб-частью, содержащей приложение Silverlight. Приложение может использовать объектную модель SharePoint Silverlight для удаленного доступа к данным SharePoint Online даже в том случае, если с точки зрения пользователя данные размещены в SharePoint Online.
Использование объектной модели ECMAScript в SharePoint Online
Объектная модель JavaScript в SharePoint Online используется аналогичным образом. Пользовательский код, использующий объектную модель JavaScript, можно добавить в блок скрипта на ASPX-странице. Кроме того, можно создать отдельный JS-файл с кодом и ссылаться на него с ASPX-страницы. Дополнительные сведения см. в статье Настройка страницы приложения для ECMAScript.
Дополнительные сведения о клиентских объектных моделях SharePoint
Более подробные сведения о клиентских объектных моделях см. в статье Использование управляемой клиентской объектной модели SharePoint Foundation 2010. Подробные технические сведения и инструкции по реализации см. в следующих разделах пакета SDK SharePoint 2010:
Управляемая клиентская объектная модель
Сведения о создании клиентских приложений Silverlight см. в статье Использование объектной модели Silverlight и в практическом руководстве. Использование проекта SharePoint для развертывания приложения Silverlight (Возможно, на английском языке).
Пример эталонной реализации клиентских объектных моделей SharePoint см. в статье, посвященной эталонной реализации (клиент) (Возможно, на английском языке).
Сведения об API см. в статьях Библиотека классов для клиента и Библиотека классов ECMAScript.
Обучающие ресурсы по клиентским объектным моделям см. в статье, посвященной клиентской объектной модели (Возможно, на английском языке), на веб-сайте "Канал 9".
См. также
Концепции
Настройка SharePoint Online с помощью SharePoint Designer 2010
Разработка решений SharePoint Online
Веб-службы в SharePoint Online
Сведения о доступности функций разработчика в SharePoint Online
Быстрые ссылки SharePoint Online
Другие ресурсы
Общий справочник по SharePoint Online
Архитектура изолированных решений
Программные интерфейсы Microsoft.SharePoint.dll, доступные из изолированных решений
Использование управляемой клиентской объектной модели SharePoint Foundation 2010
Использование объектной модели Silverlight
Настройка страницы приложения для ECMAScript
Управляемая клиентская объектная модель
Инструкции по использованию клиентской объектной модели
Библиотека классов для клиента
Библиотека классов ECMAScript
Центр ресурсов для разработчика SharePoint Online (Возможно, на английском языке)