Sandboxed solutions в SharePoint 2010

20

description

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

Transcript of Sandboxed solutions в SharePoint 2010

Page 1: Sandboxed solutions в SharePoint  2010
Page 2: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

Sandboxed solutions в SharePoint 2010

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

Page 3: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

Page 4: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

Sandboxed в SharePoint 2010

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

Page 5: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

Архитектура

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

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

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

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

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

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

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

IIS(w3wp.exe)

Page 6: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

Page 7: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

Page 8: Sandboxed solutions в SharePoint  2010

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

Page 9: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

Page 10: Sandboxed solutions в SharePoint  2010

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

Page 11: Sandboxed solutions в SharePoint  2010

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/

Page 12: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

Page 13: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

Page 14: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

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

Удаление

Page 15: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

Page 16: Sandboxed solutions в SharePoint  2010

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

Page 17: Sandboxed solutions в SharePoint  2010

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

[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

Page 18: Sandboxed solutions в SharePoint  2010

Microsoft TechDayshttp://www.techdays.ru

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

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

Page 20: Sandboxed solutions в SharePoint  2010