В книге
Microsoft SharePoint 2010 для профессионалов. Малик описаны все возможности платформы для разработки сайтов и корпоративных порталов SHAREPOINT 2010 компании Microsoft. Основной акцент сделан на новых функциях и возможностях. Создаваемые на платформе SHAREPOINT 2010 сайты могут быть использованы в качестве хранилища информации и документов, и применяться для разработки веб-приложений, таких как вики и блоги. Книга предназначена для разработчиков, системных архитекторов и технических специалистов.
Оглавление книги
Microsoft SharePoint 2010 для профессионалов. Малик
Глава 1. Наипервейшая глава. Пожалуйста, прочтите ее! . . . . . . . . . . . . . . . 11
Как читать эту книгу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Среды SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Среда разработки SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Среда интеграции в SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Среда тестирования в SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Продуктовая среда SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Компьютер разработчика SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Глава 2. Основы SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Что происходит с моим компьютером при установке SharePoint? . . . . . . . . . . . . . 27
Центр администрирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Глобальная иерархия SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Создание и использование списков SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Глава 3. Решения и компоненты в SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . 45
Создание консольного приложения в SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . 46
Что такое веб-части? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Создание простой веб-части . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Создание компонента и решения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Добавление функциональности в проект . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Развертывание и отладка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Поддержка версий и обновлений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Приемники компонента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Написание изолированных решений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Основы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Написание решения фермы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Ограничения изолированных решений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Служба изолированного кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Контроль, управление и развертывание изолированных решений . . . . . . . . . 77
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Глава 4. Веб-части и страницы SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Что такое веб-части? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Что такое страницы SharePoint? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Использование SharePoint Designer для работы с веб-частями . . . . . . . . . . . . . . 91
Написание визуальных веб-частей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Страницы SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Развертывание страниц: короткий пример . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Создание веб-части . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Создание веб-части RSSFeedWebPart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Настройка веб-части в процессе развертывания . . . . . . . . . . . . . . . . . . . . . 114
Создание веб-части OPMLWebPart и редактор веб-частей . . . . . . . . . . . . . . 115
Взаимодействие веб-частей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Несколько заключительных ремарок по поводу веб-частей . . . . . . . . . . . . . . . . 122
Глава 5. Клиентская объектная модель, службы ADO.NET
и пользовательские службы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Клиентская объектная модель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Службы данных ADO.NET и API-интерфейс REST-служб . . . . . . . . . . . . . . . . . . . 124
Пользовательские службы WCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Клиентская объектная модель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Структура клиентской объектной модели . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Инфраструктурные объекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Идентичность объекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Обновление данных с помощью клиентской объектной модели . . . . . . . . . . 131
Создание веб-части Silverlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Создание веб-части JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Соединение веб-частей без перезагрузки страницы . . . . . . . . . . . . . . . . . . . 141
Службы данных ADO.NET и REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Основы Служб данных ADO.NET и REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Использование служб данных ADO.NET в приложениях .NET . . . . . . . . . . . . 153
Использование служб данных ADO.NET в Silverlight . . . . . . . . . . . . . . . . . . . 156
Использование служб данных ADO.NET в JavaScript . . . . . . . . . . . . . . . . . . . 161
Несколько архитектурных замечаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Создание пользовательских служб WCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Использование службы в приложении .NET . . . . . . . . . . . . . . . . . . . . . . . . . 172
Использование службы в приложении Silverlight . . . . . . . . . . . . . . . . . . . . . 175
Использование службы в приложениях ASP.NET с поддержкой Ajax . . . . . . . 177
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180Глава 6. Управление данными в SharePoint: Часть 1 . . . . . . . . . . . . . . . . . . . 182
Типы контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Пользовательский тип поля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Создание столбцов сайта и типов контента с помощью кода . . . . . . . . . . . . . . . 198
Создание определения списка и экземпляра списка . . . . . . . . . . . . . . . . . . . . . 202
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Глава 7. Управление данными в SharePoint: Часть 2 . . . . . . . . . . . . . . . . . . . 209
События SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Улучшения в модели событий SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . 213
Масштабируемость списков в SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Масштабируемость и производительность . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Оставшиеся 20 % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Индексирование столбцов списка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Регулирование списков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Хранилище RBS в SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Запросы к данным в SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Запросы с использованием языка CAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Запросы с использованием языка LINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Глава 8. Управление корпоративными информационными ресурсами . . . 241
Что такое ECM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Что такое управление записями? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
ID документа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Наборы документов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Управляемые метаданные, ключевые слова и теги . . . . . . . . . . . . . . . . . . . . . . 249
Организатор контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Типы корпоративного контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Управление записями «по месту» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Иерархические планы файлов и хранение на основе папок . . . . . . . . . . . . . . . 279
Центр записей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Глава 9. Службы подключения к бизнес-данным . . . . . . . . . . . . . . . . . . . . . 283
Внешние типы контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Службы подключения к бизнес-данным и SharePoint Designer
(без программирования) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Использование BSC в Visual Studio 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Объектная модель BCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Глава 10. Рабочие процессы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Предустановленные рабочие процессы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Настройка стандартных рабочих процессов . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Написание рабочих процессов с помощью SharePoint Designer . . . . . . . . . . . . . 315
Создание рабочих процессов в Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Глава 11. Бизнес-аналитика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Службы Visio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Службы Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Доступ к Службам Excel через REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Доступ к Службам Excel через SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Службы PerformancePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Настройки PerformancePoint в Центре администрирования . . . . . . . . . . . . . . 343
Настройки PerformancePoint для семейства сайтов . . . . . . . . . . . . . . . . . . . . 346
Использование PerformancePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Глава 12. Безопасность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Проверка подлинности на основе утверждений . . . . . . . . . . . . . . . . . . . . . . . . 354
Идентификация на основе утверждений в SharePoint . . . . . . . . . . . . . . . . . . . . 356
Служба Secure Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Использование Secure Store с BCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Объектная модель безопасности SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Повышение прав безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380