SlideShare a Scribd company logo
УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ
АРХИТЕКТУРЫ
в мире SharePoint
Автор
 SharePoint Engineer
 Belarus SharePoint User Group Lead.
архитектура
Сдвиг фокуса
«Лучше день потерять, а
потом за пять минут долететь»
© Гриф
План
 Разработка архитектуры
 Коммуникация
 Внедрение
 Контроль
 Повторное использование
Да будет свет!
Разработка архитектуры
Разработка архитектуры
 Общие принципы
 Separation of concerns
 Single Responsibility principle
 Principle of Least Knowledge
 Don’t repeat yourself (DRY)
 Minimize upfront design
Разработка архитектуры
 Положительные особенности SharePoint
 Authentication
 Authorization
 Communication
 Deployment
 Performance
 Data AccessAPI
Разработка архитектуры
Разработка архитектуры
 Разделение на слои
 Минимум 1 слой (SharePoint Layer)
 Максимум N слоев
 В среднем – 5
Architecture Lifecycle Management In The Share Point World
1 SharePoint Layer
 Web Parts
 Features
 Receivers
 Timer Jobs
 Elements Definitions
 Workflows*
1 SharePoint Layer
 “Presentation Layer”
 User Controls
 Application Pages
 Альтернатива – самостоятельный слой
1 SharePoint Layer
 Он есть всегда
 Может состоять из нескольких
независимых проектов
 Создается c помощьюVS templates
 Содержит единицы развертывания WSP
2 Domain Logic Layer
 Бизнес-требования, переведенные в код
2 Domain Logic Layer
 Создается по мере необходимости
 Обычная .NET сборка
 Главный субъект модульного тестирования
3 Data Access Layer
 Repository
 Row Data Gateway
 Table Data Gateway
 Active Record
 Service Locator
3 Data Access Layer
 Создается по мере необходимости
 Обычная .NET сборка
 Особенно полезна при работе с
разнородными источниками данных
 Может включать логику ListThrottling
4 Domain Entities
 SPMetal как основа
 Создается сразу
 Определения и свойства
 Нет методов
 Расширена за счет Partial Class
4 Domain Entities
 Вынесена отдельно
 Автогенерация
 Нет логики
Но
 Может стать ядром Domain Logic Layer
 Расширить Partial Class методами
5 Common Services Layer
 2 типа общих сервисов
 Хелперы
 Shared ServicesApplications
5 Common Services Layer
 2 типа общих сервисов
 Хелперы
 Shared ServicesApplications (DAL)
5 Common Services Layer
 Constants
 GUIDs
 Custom Exceptions
 Extension Methods
Архитектуру – в массы
Коммуникация
Коммуникация
 Заказчик (business people)
 Руководитель проекта (ПМ)
 Аналитик
 Команда разработчиков
Коммуникация
 Заказчик (business people)
 «продажа» архитектурных решений
 Совместно с BusinessAnalyst
 Обычно с высоты >10 км над уровнем моря
 Диаграммы компонентов + слоев достаточно
 Слайды
Коммуникация
 Аналитик (business analyst)
 Объяснение узких мест (риски)
 Четкая постановка альтернатив (или/или)
 Диаграмма компонентов
 Диаграмма вариантов использования
 Диаграмма активностей
Коммуникация
 Команда разработчиков (+ ПМ)
 Объяснение основных принципов
 Reference Implementation
 Architecture Guidance
Коммуникация
 Команда разработчиков (+ ПМ)
 Убедиться, что идеи поняты правильно
 Убедиться, что идеи приняты и будут
исполняться
 Учесть обратную связь в Architecture Guidance
Коммуникация
 Команда разработчиков (+ ПМ)
 Убедиться, что идеи поняты правильно
 Убедиться, что идеи приняты и будут
исполняться
 Учесть обратную связь в Architecture Guidance
Оживление франкенштейна.
Внедрение
Внедрение
 ArchitectureGuidance Document
 Допущения
 Ограничения
 Особенности платформы
 Основные паттерны
Внедрение
 Deployment Guidance Document
 Обычно – глава в Architecture Guidance
 Развертывание
 Резервное копирование
 Восстановление
 Upgrade
Внедрение
 Общие рекомендации
 Review + update
 Reference Implementations
+
Кто не все – того накажем.
Контроль
Контроль
 Peer Code Review
 Architecture Review
Контроль
 Сделать Reviews частью процесса
 Проводить их XP-style
 Используйте инструменты (MSVS2010U)
 Обновляйте проектную документацию
 Заводите «технические истории»
 Проводите разбор с командой
Берегите природу.
Повторное использование
Повторное использование
 Общий код
 Общий компонент
 Managed Metadata Service Application
 Workflow Activities
Повторное использование
 Reference Implementation
 Guidance Documents
 Patterns
А что у вас есть против оборотней?
Заключение
Заключение
Не бывает одинаковых проектов, но бывают
очень похожие
Заключение
Архитектура – это здорово. Но лучше
успешный проект с плохой архитектурой,
чем проваленный проект с хорошей.
СПАСИБО!
blog: http://vspug.com/sharepointby
twitter: @sharepointby
web: http://sharepoint.by
profile: http://linkedin.com/in/ivanpadabed

More Related Content

PPTX
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
PPTX
APM рынок вчера и сегодня. Изменения и тренды
PPTX
ПартФорум DIRECTUM 2013 - разработка прикладных решений
PDF
Проектирование Программных Систем. Лекция 01
PPTX
Domain Driven Design | Артём Антоненко | CODEID |
PPTX
Роль бизнес аналитика в разработке собственной Business Rule Engine с нуля ка...
PDF
Роль аналитика в негибких методологиях разработки
PDF
Проектирование программных систем. Занятие 1
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
APM рынок вчера и сегодня. Изменения и тренды
ПартФорум DIRECTUM 2013 - разработка прикладных решений
Проектирование Программных Систем. Лекция 01
Domain Driven Design | Артём Антоненко | CODEID |
Роль бизнес аналитика в разработке собственной Business Rule Engine с нуля ка...
Роль аналитика в негибких методологиях разработки
Проектирование программных систем. Занятие 1

What's hot (7)

PPT
Как внедрить ALM/ Упр. командами разработки по (agile (scrum))
PDF
UX Refactoring
PPT
Проектирование админок для #uidesignersmeetup
PPTX
Системная архитектура вместо требований
PPT
Разработка автоматизированной системы компоновки проектной документации и обу...
PDF
Объектно-ориентированное программирование. Лекции 11 и 12
PPT
Xp программирование (41)
Как внедрить ALM/ Упр. командами разработки по (agile (scrum))
UX Refactoring
Проектирование админок для #uidesignersmeetup
Системная архитектура вместо требований
Разработка автоматизированной системы компоновки проектной документации и обу...
Объектно-ориентированное программирование. Лекции 11 и 12
Xp программирование (41)
Ad

Similar to Architecture Lifecycle Management In The Share Point World (20)

PPT
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
PPT
Архитектура в Agile проекте
PPT
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
PPT
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
PPTX
Архимейт по-русски
PDF
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
PPTX
Req Labs'2011. Коммуникация нефункциональных требований
PPTX
Обзор и архитектура MS Team System
PPT
Quality assurance
PDF
PPT
Sef2009
PDF
Agile days `16 summary
PPT
Training Labs (www.cmcons.com)
PPTX
Системная инженерия в России и мире
PPTX
Аналитик и Тестировщик в одном лице – путь к качеству
PPTX
MSDevCon 2016 DevOps Impact on Architecture
PPTX
Roles happy dev-2013-tsepkov
PPTX
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
PDF
Проектирование больших ИС в Agile (статья)
PDF
DDD Workshop
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
Архитектура в Agile проекте
«Шустрый дизайн: подходы к декомпозиции задач проектирования UI в Agile-коман...
«Шустрый» дизайн: подходы к декомпозиции проектирования взаимодействия в Agil...
Архимейт по-русски
INFOSYSTEMS. How to Measure Software Architecture [1.01, RUS]
Req Labs'2011. Коммуникация нефункциональных требований
Обзор и архитектура MS Team System
Quality assurance
Sef2009
Agile days `16 summary
Training Labs (www.cmcons.com)
Системная инженерия в России и мире
Аналитик и Тестировщик в одном лице – путь к качеству
MSDevCon 2016 DevOps Impact on Architecture
Roles happy dev-2013-tsepkov
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Проектирование больших ИС в Agile (статья)
DDD Workshop
Ad

More from Ivan Padabed (8)

PDF
Enterprise Architecture workshop on Strategy Execution
PPTX
System Thinking basics
PPTX
S2s Development For Developer
PPTX
Sp Devcamp By
PPTX
Sp Conf Ru Managed Metadata
PPTX
Sharepoint issues (SEF.BY 2010)
PPTX
SP2010 for ASP.NET dev Ru
PPTX
введение в SharePoint
Enterprise Architecture workshop on Strategy Execution
System Thinking basics
S2s Development For Developer
Sp Devcamp By
Sp Conf Ru Managed Metadata
Sharepoint issues (SEF.BY 2010)
SP2010 for ASP.NET dev Ru
введение в SharePoint

Architecture Lifecycle Management In The Share Point World