Практика использования MS SharePoint Services 3.0 в рамках предприятия
Sandboxed solutions в SharePoint 2010
description
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
Администрирование решения
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Дополнительные материалыи ссылки
http://www.techdays.ru/videos/2416.htmlhttp://msdn.microsoft.com/ru-ru/library/ee721992.aspxhttp://www.slideshare.net/spsaturdayny/mostafa-elzoghbi-sharepoint-2010-sandbox-solutions-best-practices…