Sandboxed solutions в SharePoint 2010

Post on 06-Feb-2016

74 views 0 download

description

Sandboxed solutions в SharePoint 2010. Илья Бойко Разработчик SharePoint UMSOFT. Разработка для SharePoint 2007. Для развертывания нужны права администратора фермы Сборки размещаются в GAC или bin Любое установленное решение может нарушить работу всей фермы - PowerPoint PPT Presentation

Transcript of Sandboxed solutions в SharePoint 2010

Microsoft TechDayshttp://www.techdays.ru

Sandboxed solutions в SharePoint 2010

Илья БойкоРазработчик SharePointUMSOFT

Microsoft TechDayshttp://www.techdays.ru

Разработка для SharePoint 2007

Для развертывания нужны права администратора фермыСборки размещаются в GAC или binЛюбое установленное решение может нарушить работу всей фермыКод исполняется в рамках w3wp, owstimerВозможность разделения с помощью CASНе удобство для хостинг провайдеров

Microsoft TechDayshttp://www.techdays.ru

Sandboxed в SharePoint 2010

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

Microsoft TechDayshttp://www.techdays.ru

Архитектура

Веб-сервер Сервер приложений

Хост сервис(SPUCHostService.exe)

Менеджер исполнения

Исполняемый процесс(SPUCWorkerProcess.exe)

Недоверенный код

Ограниченная объектная модель

Полная объектная модель

IIS(w3wp.exe)

Microsoft TechDayshttp://www.techdays.ru

Где использовать?

При разработке тестовых решенийПри работе с внешними поставщикамиПри разработке решений для хостинг-провайдеровПри разработке решений для Office 365

Microsoft TechDayshttp://www.techdays.ru

Особенности разработки

Необходимо явно указать тип в свойствах проекта

Microsoft TechDayshttp://www.techdays.ru

Что разрешено в Sandboxed?

Sandboxed решения предлагают ограниченный доступ к SharePoint APIВозможности сайтов и семейств сайтовДоступны XML определения

JavaScript и Silverlight для доступа к внешним данным

Non-Visual Web Parts Event Receivers

Feature Activation Events

Custom Workflow Actions

InfoPath Forms Services List Definitions

Custom Actions Site Pages

Site Columns Content Types

Microsoft TechDayshttp://www.techdays.ru

Что запрещено в Sandboxed?

Подключения к внешним данным: http, web services, и другиеADO.netРабота с Enterprise возможностями (Search, BCS)Работа с потокамиP-InvokeРабота с файловой системойОбращение к другим сайтам

Microsoft TechDayshttp://www.techdays.ru

CAS в Sandboxed решениях

Sandbox

AspNetHostingPermission, Level=MinimalSharePointPermission, ObjectModel=trueSecurityPermission, Flags=Execution

Полное доверие

wss_usercode.config

Пользовательский код

Код платформы

My.dll

Other.dllSystem

DLL

SharePoint DLL

Объектная модель SharePoint

Microsoft TechDayshttp://www.techdays.ru

Полезное разработчику

Visual Studio 2010 SharePoint Power Tools

Visual Web PartsВалидаторы Sandboxed решений

http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9/

CKSDEV Trusted proxyРасширенные возможности развертывания

http://cksdev.codeplex.com/

Microsoft TechDayshttp://www.techdays.ru

Разработка решения

Демонстрация

Microsoft TechDayshttp://www.techdays.ru

Галерея решений

Microsoft TechDayshttp://www.techdays.ru

Жизненный цикл решенияУстановка• Загрузка в галерею решений

Активация• Авто-активация возможностей

Отключение• Действия определенные разработчиком• Веб-части перестают быть доступны

Удаление

Microsoft TechDayshttp://www.techdays.ru

Квоты и блокировки

Глобальные квоты (память, процессорное время)Квоты на сайтыБлокировать отдельных решений администратором фермы

Microsoft TechDayshttp://www.techdays.ru

Мониторинг ресурсовMetric Name Description Units

Resources Per Point

Hard Limit

AbnormalProcessTerminationCount

Некорректное завершение процесса

Count 1 1

CPUExecutionTimeДлительное использование процессора

Seconds 200 60

CriticalExceptionCountВозникло критическое исключение

Number 10 3

InvocationCountКоличество вызовов решения

Count N/A N/A

PercentProcessorTimeПроцент использования процессора, без учета ядер

Percentage Units of Overall Processor Consumed

85 100

ProcessCPUCycles CPU Cycles 1E+111E+11

ProcessHandleCount Windows Handles 10,000 5,000

ProcessIOBytesКоличество байт при записи

Bytes 1E+07 1E+08

ProcessThreadCountКоличество потоков в общем процессе

Threads 10,000 200

ProcessVirtualBytesИспользуемый объем памяти

Bytes 1E+094E+09

SharePointDatabaseQueryCount

Количество запросов к DB SharePoint

Number 400 100

SharePointDatabaseQueryTimeВремя ожидания выполнения запросов к SharePoint DB

Seconds 20 60

UnhandledExceptionCountНеобработанные исключения

50 3

UnresponsiveprocessCountОтключение зависших процессов

Number 2 1

Мониторинг ресурсов

[System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c") $s=[Microsoft.SharePoint.Administration.SPUserCodeService]::Local

$s.ResourceMeasures | Select-Object Name, ResourcesPerPoint

Microsoft TechDayshttp://www.techdays.ru

Администрирование решения

Демонстрация