Веб-части, размещающие внешние приложения, такие как Silverlight
Дата последнего изменения: 15 октября 2010 г.
Применимо к: SharePoint Foundation 2010
В этой статье
Обзор
Различные уровни разработки
Междоменный доступ к данным Silverlight
Поставщик внешних приложений
Создание веб-части внешнего размещения
В этом разделе описывается, как можно размещать приложения не для SharePoint в веб-частях. Также здесь представлены сведения о том, как позволить пользователям применить веб-часть Silverlight, встроенную в Microsoft SharePoint Foundation, для размещения приложения Silverlight. Исполняемый файл приложения Silverlight может находиться в домене, отличном от домена веб-приложения SharePoint Foundation, страницы которого содержат веб-часть Silverlight. Также можно создавать пользовательские веб-части, размещающие приложения, и даже настраивать архитектуру SharePoint Foundation для размещения приложения, создав собственный поставщик внешних приложений (EAP).
Обзор
С некоторыми ограничениями пользователи веб-сайта с правами корреспондента, могут добавлять на свои веб-страницы SharePoint веб-части, которые используются для размещения отличных от SharePoint приложений, например приложений Silverlight. Эти приложения могут даже размещаться на серверах, расположенных за пределами домена веб-приложения SharePoint Foundation, и могут считывать и записывать данные SharePoint, при условии их правильной регистрации в качестве участника приложения. Применение таких веб-частей дает группам разработчиков возможности по быстрой интеграции внешних по отношению к SharePoint приложений с веб-сайтами SharePoint Foundation.
![]() |
---|
Приложение считается внешним по отношению к веб-приложению SharePoint Foundation (находится в другом домене), если код URI исполняемого файла приложения отличается от кода URI веб-приложения по одному из четырех признаков, описанных в статье Взаимодействие и безопасность HTTP в приложении Silverlight. Междоменное взаимодействие. |
Различные уровни разработки
Объем усилий разработчиков по интеграции приложения в SharePoint Foundation может значительно изменяться в зависимости от следующих факторов.
Размещается ли исполняемый файл приложения в веб-приложении SharePoint Foundation или другом внешнем домене.
Требуется ли в приложении чтение и запись данных SharePoint Foundation.
Требуется ли изменение параметров по умолчанию, определяющих порядок отображения веб-части.
Требуются ли данные настраиваемой конфигурации для запуска приложения в веб-части SharePoint Foundation.
Требуется ли применять настраиваемый пользовательский интерфейс в SharePoint Foundation для создания и изменения свойств веб-части, в которой размещается приложение.
В самых простых случаях внешнее по отношению к SharePoint приложение либо размещается в том же домене, что и веб-приложение SharePoint Foundation, либо размещается по внешнему URL-адресу и не требует доступа к данным SharePoint. В обоих случаях не требуется разработка ресурсов SharePoint. После создания исполняемого файла администратор веб-приложения развертывает его на сервере приложений или в библиотеке документов. Пользователи, добавляющие веб-части, которые могут содержать внешние по отношению к SharePoint приложения, при добавлении веб-части вводят URL-адрес исполняемого файла. Для доступа локально развернутых приложений к данным SharePoint Foundation используется Управляемая клиентская объектная модель в контексте текущего пользователя. (Для внешних приложений Silverlight используется специальная версия клиентской объектной модели Silverlight.
Если приложение будет развернуто в домене, отличном от домена веб-приложения, и ему потребуется доступ к данным SharePoint, то для интеграции такого приложения необходимо использовать междоменный доступ к данным Silverlight (Silverlight CDA).
Междоменный доступ к данным Silverlight
Пользователи SharePoint Foundation получают значительные преимущества, связанные с размещением приложений, расположенных в домене, отличном от домена веб-приложения SharePoint Foundation, поскольку это позволяет размещать множество таких приложений на сервере приложений и предоставлять доступ к ним для всех веб-приложений фермы. Междоменный доступ к данным Silverlight позволяет администратору управлять разрешениями внешних серверов, на которых размещаются внешние приложения, не ограничивая при этом возможности пользователей по добавлению веб-частей, в которых размещаются такие приложения, на страницы веб-частей. Приложение выполняет вход в веб-приложение SharePoint Foundation в качестве в качестве особого типа пользователя, называемого "участником приложения". Разрешения приложения формируются посредством пересечения множеств разрешений, предоставленных этому особому пользователю администратором, и разрешений реального пользователя, открывшего веб-страницу с веб-частью, в которой размещается приложение.
![]() |
---|
Обычно, если на внешнем сервере размещается несколько приложений, используемых в SharePoint Foundation, все эти приложения используют одинаковые учетные данные пользователя участника приложения. Можно создавать различных пользователей участников приложений для разных приложений, однако сервер по-прежнему может использовать любого из этих участников для любого приложения. |
Ниже описываются ключевые элементы междоменного доступа к данным Silverlight, которые следует знать разработчикам.
Чтобы разрешить доступ к данным SharePoint Foundation из приложения, расположенного во внешнем домене, администратор фермы должен зарегистрировать поставщик внешних приложений (EAP), что не допускается в пользовательском интерфейсе SharePoint Foundation из соображений безопасности. Это необходимо выполнить программным способом. В этом случае можно включить инструкции по необходимому коду в решение или разработать небольшую служебную программу, которая будет выполняться администраторами. Дополнительные сведения о создании такой служебной программы см. в статье Включение поставщика внешних приложений.
Примечание
Поставщик внешних приложений регистрируется только один раз, даже при использовании нескольких внешних приложений.
Необходимо создать разметку XML-файл внешнего приложения, которая определяет сведения о приложении, используемые SharePoint Foundation. Такая разметка задается пользователями, добавляющими веб-части, в которых размещаются приложения, поэтому она должна быть доступна этим пользователям. Дополнительные сведения о создании такой разметки см. в статье Практическое руководство. Создание разметки XML внешнего приложения.
Администратор фермы создает удостоверение пользователя, под которым внешнее приложение выполняет вход в SharePoint Foundation. Этот пользователь настраивается как участник приложения. В целях обеспечения безопасности такая настройка не может выполняться в пользовательском интерфейсе. Необходимо создать служебную программу, которая задает определенные свойства объекта SPUser, выполняющего вход от имени приложения, которому требуется междоменный доступ к данным SharePoint Foundation. Дополнительные сведения о создании такой служебной программы см. в статье Как: Создать участника приложения. Владельцы веб-сайтов, которым необходимо предоставить участникам возможность добавления веб-частей, содержащих приложения, должны добавить участника приложения на собственные веб-сайты.
Необходимо создать обработчик запросов HTTP, который устанавливается в домене внешнего приложения. Запросы от внешнего приложения к веб-приложению SharePoint Foundation сначала перенаправляются в этот обработчик, который пересылает их вместе с хэшем безопасности и учетными данными пользователя на интерфейсный веб-сервер SharePoint Foundation. Дополнительные сведения о создании такого обработчика см. в статье Создание сервера пересылки запросов HTTP для внешних приложений.
Код в приложении Silverlight, осуществляющий чтение или запись данных в веб-приложении SharePoint Foundation, использует специальную версию Silverlight клиентской объектной модели SharePoint Foundation, которая реализована в собственных клиентских сборках. Дополнительные сведения об этой объектной модели и программировании с ее помощью см. в статье Использование объектной модели Silverlight, а также в разделе Развертывание Silverlight.
![]() |
---|
Несмотря на то что приведенные выше задачи обязательно выполняются только в тех случаях, когда приложение размещается во внешнем домене и требует доступа к данным SharePoint Foundation, их можно выполнять и в тех случаях, когда эти условия не соблюдаются. Например, можно использовать XML-файл внешнего приложения для настройки ширины и высоты веб-части. |
Поставщик внешних приложений
Поставщик внешних приложений представляет собой подсистему настройки и подготовки к работе веб-частей, в которых размещаются внешние по отношению к SharePoint приложения. Поставщик интерпретирует XML-файл внешнего приложения, управляет созданием веб-частей, в которых размещаются приложения, а также управляет изменением свойств веб-частей.
Если не зарегистрирован настраиваемый поставщик внешних приложений, используется заданный по умолчанию поставщик. Для каждого объекта SPWebService в ферме серверов может быть зарегистрирован только один поставщик внешних приложений. Поэтому все внешние приложения, размещаемые в веб-частях во всех веб-приложениях, являются дочерними по отношению к одной веб-службе и управляются одним поставщиком внешних приложений. Дополнительные сведения о SPWebService и веб-службах см. в статьях Иерархия служб SharePoint Foundation и Сущности служб в Microsoft SharePoint Foundation.
Вместо поставщика внешних приложений по умолчанию можно создать и использовать настраиваемый поставщик. Ниже приведены некоторые сценарии, в которых может использоваться настраиваемый поставщик:
В веб-части, в которой размещаются внешние по отношению к SharePoint приложения, требуется использовать настраиваемую инструментальную часть, предназначенную для изменения свойств веб-части и выполнения других задач пользователями, например автоматического создания пользователя участника приложения для внешнего приложения.
Требуется настройка внешнего вида веб-части.
В приложении Silverlight или, точнее, на сервере пересылки запросов требуется использовать хэш клиента для проверки того, что ответы на запросы, полученные от интерфейсного веб-сервера SharePoint Foundation, не были перехвачены и изменены. Дополнительные сведения о серверах пересылки запросов см. в статье Создание сервера пересылки запросов HTTP для внешних приложений.
XML-файл внешнего приложения для веб-части должен содержать настраиваемые свойства конфигурации.
Требуется выполнение настраиваемой логики при создании дочерних элементов управления веб-части.
Дополнительные сведения о создании настраиваемого поставщика внешних приложений см. в статье Создание собственного поставщика внешних приложений.
Создание веб-части внешнего размещения
Веб-часть Silverlight встроена в SharePoint Foundation. Если требуется разместить в веб-части приложения другого типа, можно создать новый тип веб-части, производный от ClientApplicationWebPartBase. Дополнительные сведения о создании веб-части, в которой размещаются внешние по отношению к SharePoint приложения, см. в статье Практическое руководство. Создание веб-части для размещения внешнего приложения.
См. также
Задачи
Включение поставщика внешних приложений
Как: Создать участника приложения
Создание сервера пересылки запросов HTTP для внешних приложений
Создание собственного поставщика внешних приложений
Практическое руководство. Создание веб-части для размещения внешнего приложения
Ссылка
SPExternalApplicationRegistrationInformation
SPExternalApplicationRequestProperties
SPExternalApplicationRequestResult
SPExternalApplicationRegistrationException
Концепции
Жизненный цикл запросов Silverlight в веб-приложение
Практическое руководство. Создание разметки XML внешнего приложения
Другие ресурсы
Overview of Integrating External Applications with Web Parts