Поделиться через


Веб-части, размещающие внешние приложения, такие как 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

SPExternalApplicationSettings

SPExternalApplicationProvider

ClientApplicationWebPartBase

SilverlightWebPart

Концепции

Жизненный цикл запросов Silverlight в веб-приложение

Практическое руководство. Создание разметки XML внешнего приложения

XML-файл внешнего приложения

Другие ресурсы

Overview of Integrating External Applications with Web Parts