SharePoint 2010: Упаковка решения

При разработке решений, которые подразумевается использовать в SharePoint, у вас оказывается несколько способностей упаковки и развертывания этих решений. Для установки пользовательских дополнений в среде SharePoint употребляется каркас решений.

Этот каркас позволяет управляемым методом развертывать, активировать и обновлять пользовательские составляющие. Эта структура призвана обеспечить стабильность фермы серверов SharePoint. Пакет решения может содержать файлы ресурсов для обеспечения единообразности при локализации пользовательских компонент. Каркас решений подменяет собой другие технологии установки, применяемые в среде Windows, такие как файлы установщика Microsoft (MSI) и ClickOnce.

Пакеты решений также позволяют соединить все составляющие, относящиеся к пользовательскому компоненту, в файл с расширением WSP. Эти файлы можно разворачивать в ферме, при этому все составляющие инсталлируются сразу на всех серверах фермы. Это устраняет от необходимости поддерживать файлы веб-страниц, шаблонов и исполняемых файлов раздельно на каждом сервере.

Каркас решений SharePoint 2010 также включает новые способности, которые позволяют обновлять пакеты решений «на месте», без нарушения работы фермы. Это можно делать методом сотворения версий каждой разворачиваемой функции и предоставления пользовательских действий по обновлению с одной версии функции на другую.

Пакеты решений

Файл пакета решения представляет собой один файл с расширением WSP. Но файл может представлять собой архив с несколькими файлами. В реальности формат файла WSP это стандартный CAB-файл Windows. Чтоб убедиться в этом, смените расширение файла хоть какого решения с WSP на CAB. Открыв этот файл вы увидите структуру файлов.

В корневой папке находится файл манифеста пакета и одна либо несколько подпапок с другими компонентами. Многие из этих компонент представляют собой XML-файлы с конфигурационной информацией списков, веб-сайтов, типов контента и т. п.

Более нередко в пакете решения встречаются такие файлы:

Manifest.xml В пакете один файл манифеста. Он содержит описание всего содержимого пакета, впрямую либо с внедрением ссылок на другие файлы.
Feature.xml Эти файлы обрисовывают конфигурацию и составляющие, связанные с определенной функциональностью. В среде SharePoint их можно включать либо отключать.
Elements.xml Эти файлы содержат списки отдельных компонент и их конфигурационную информацию. Составляющие это элементы, такие как экземпляры списков, файлы контента, столбцы веб-сайта, типы контента и получатели событий.
Schema.xml Эти файлы содержат спецификации метаданных объекта, такие как шаблон перечня.

Есть много других типов файлов, которые могут встречаться в пакетах решений, но они не так важны. Они определяют конфигурацию функций и компонент. Но до того как использовать их, необходимо мало знать о среде, в какой они будут разворачиваться.

Обучаемся осознавать среду развертывания

При развертывании пакета решения на ферме серверов SharePoint он располагается на одной из 2-ух сред выполнения. 1-ая среда — сама ферма серверов. Это позволяет компонентам получать доступ к ресурсам через ферму и другие элементы инфраструктуры, но строго в рамках разрешений на доступ к тем либо другим элементам.

2-ая среда — «песочница» — намного более ограничена. При работе пакета решения в песочнице ее способности воздействия на ферму в целом ограничены. Осознание различия меж решениями ферм и песочниц только принципиально для планирования развертывания пользовательских усовершенствований.

Сначала нужно помыслить, где будет разворачиваться решение. Решения для ферм являются глобальными для этих ферм. Решения в песочницах являются локальными для определенной коллекции веб-сайтов. Если решение для песочницы должно употребляться несколькими коллекциями веб-сайтов, их придется развертывать раздельно.

Самое принципиальное различие меж решениями для ферм и песочниц — безопасность. Решения для ферм обычно пользуются огромным доверием. С применением CAS (.NET Code Access Security) можно создавать составляющие решений для ферм с пониженным уровнем доверия. Это неплохой подход исходя из убеждений безопасности, так как позволяет делать код с мало нужным уровнем приемуществ. В ферме необходимо развертывать только отлично тестированный и очень доверенный код.

Решения для песочниц работают в очень отличающемся контексте безопасности. Доступ решения к ресурсам ограничен коллекцией веб-сайтов, в каком он развернут. Есть также ограничения ресурсов и квоты, которые можно использовать для предотвращения отрицательного воздействия компонент решения на производительность системы. Можно просто отключить некорректно ведущие себя решения для песочниц либо по мере надобности стопроцентно запретить их работу.

Управление решениями для ферм

Развертывание пакета решения на ферме серверов SharePoint состоит из 2-ух главных операций: прибавления и развертывания. При добавлении файл решения загружается в конфигурационную базу данных SharePoint, где он становится легкодоступным всем серверам фермы. При развертывании файлы инсталлируются в различные системные файловые сборники на каждом сервере фермы.

Правом добавлять решения в хранилище решений фермы владеют только админы фермы. На веб-сайте Central Administration нет странички для загрузки пакета — это делается при помощи средства командной строчки. Решения можно также добавлять средством API-интерфейса SharePoint.

Чтоб загрузить пакет при помощи средства STSADM, сделайте такую команду:

stsadm -o addsolution -filename MySolution.wsp

А вот команда для выполнения этой же операции средствами Windows PowerShell:

Add-SPSolution -LiteralPath MySolution.wsp

По окончании операции прибавления пакет появится на страничке Solution Management веб-сайта Central Administration. Файл пакета загружен, но его функции пока не готовы к использованию. На этом шаге файлы решения пока не установлены на всех серверах SharePoint.

Сейчас, после прибавления пакета в хранилище решений фермы, можно приступать к развертыванию. Существует два варианта развертывания пакета из хранилища фермы: локальное развертывание либо развертывание по заданию таймера.

При локальном развертывании файлы решения инсталлируются на одном сервере фермы. Этот тип развертывания можно делать только из командной строчки. При всем этом решение доступно лишь на сервере, на котором установлено. Использовать решение можно будет только после развертывания на всех серверах фермы. Потому вам придется повторить процесс развертывания на каждом сервере.

Более пользующимся популярностью является развертывание с внедрением службы SharePoint Timer. При всем этом можно использовать командную строчку либо веб-сайт Central Administration. При запуске развертывания SharePoint делает задание таймера, которое выполнится на каждом сервере фермы. Итог выходит таковой же, как при локальном развертывании на каждом сервере.

Кроме способности развертывания в одну операцию, развертывание с применением задания таймера также позволяет заавтоматизировать перезапуск рабочих процессов IIS. Это необходимо для того, чтоб SharePoint корректно распознал файлы нового решения. При перезапуске рабочих процессов IIS может наблюдаться маленький обычной, но почти всегда продолжается он менее нескольких секунд.

Для развертывания в ферме из командной строчки, можно использовать параметр -deploysolution в средстве STSADM либо командлет Install-SPSolution в Windows PowerShell. (Заметьте, что командлет Windows PowerShell именуется Install-SPSolution, а не Deploy-SPSolution.)

У обоих команд есть флаг -local, который позволяет выполнить локальное развертывание. Для пуска задания таймера в определенное время используйте параметр -time, который доступен в обоих командах. Чтоб запустить задание таймера немедля, используйте параметр -immediate в STSADM либо просто не используйте характеристики -local и -time в команде Windows PowerShell.

При развертывании решения для фермы можно задать ряд других характеристик. Вот список важнейших из их:

Веб-приложение В неких решениях есть ресурсы, которые необходимо развертывать в структуре каталогов веб-приложений IIS. При развертывании решения можно указать веб-приложения, в каких необходимо расположить эти ресурсы.
Глобальные сборки Если в пакете решения есть сборки, которые необходимо разворачивать в GAC (Global Assembly Cache), есть параметр, который не позволяет по неосторожности развернуть код, пользующийся неограниченным доверием.
CAS Политики CAS управляют разрешениями, предоставляемыми отчасти доверенному коду, выполняющемуся в ферме. Если в пакете решения есть новые политики CAS, необходимо это указать особо.

Решение можно также развернуть из веб-сайта Central Administration. В левом меню изберите System Settings. Потом изберите Manage Farm Solutions. Не так давно добавленные пакеты имеют статус Not Deployed (другими словами не развернуты).

Щелкните имя пакета и вы увидите окно с информацией о пакете, в том числе содержит ли он элементы, которые требуют особенной обработки в процессе развертывания, к примеру на сто процентов доверенные сборки либо политики CAS. Щелкните ссылку Deploy Solution, чтоб открыть форму, в какой можно запустить задание таймера развертывания. Веб-интерфейс не поддерживает локальное развертывание.

Развертывание в SharePoint решения для песочницы очень отличается от развертывания решения для фермы. Заместо прибавления и развертывания процесс состоит из шагов развертывания и активации. Но развертывание в песочнице хороший метод протестировать решение перед развертыванием его в ферме.

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.