44
УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ АРХИТЕКТУРЫ в мире SharePoint

Architecture Lifecycle Management In The Share Point World

Embed Size (px)

DESCRIPTION

доклад с конференции cee-secr.org

Citation preview

Page 1: Architecture Lifecycle Management In The Share Point World

УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ АРХИТЕКТУРЫ

в мире SharePoint

Page 2: Architecture Lifecycle Management In The Share Point World

Автор

SharePoint Engineer Belarus SharePoint User Group Lead.

Page 3: Architecture Lifecycle Management In The Share Point World

?архитектура

Page 4: Architecture Lifecycle Management In The Share Point World

Сдвиг фокуса

«Лучше день потерять, а потом за пять минут долететь» © Гриф

Page 5: Architecture Lifecycle Management In The Share Point World

План

Разработка архитектуры Коммуникация Внедрение Контроль Повторное использование

Page 6: Architecture Lifecycle Management In The Share Point World

Да будет свет!

Разработка архитектуры

Page 7: Architecture Lifecycle Management In The Share Point World

Разработка архитектуры

Общие принципы Separation of concerns Single Responsibility principle Principle of Least Knowledge Don’t repeat yourself (DRY) Minimize upfront design

Page 8: Architecture Lifecycle Management In The Share Point World

Разработка архитектуры

Положительные особенности SharePoint Authentication Authorization Communication Deployment Performance Data Access API

Page 9: Architecture Lifecycle Management In The Share Point World

Разработка архитектуры

Page 10: Architecture Lifecycle Management In The Share Point World

Разработка архитектуры

Разделение на слои Минимум 1 слой (SharePoint Layer) Максимум N слоев В среднем – 5

Page 11: Architecture Lifecycle Management In The Share Point World
Page 12: Architecture Lifecycle Management In The Share Point World

1 SharePoint Layer

Web Parts Features Receivers Timer Jobs Elements Definitions Workflows*

Page 13: Architecture Lifecycle Management In The Share Point World

1 SharePoint Layer

“Presentation Layer” User Controls Application Pages

Альтернатива – самостоятельный слой

Page 14: Architecture Lifecycle Management In The Share Point World

1 SharePoint Layer

Он есть всегда Может состоять из нескольких

независимых проектов Создается c помощью VS templates Содержит единицы развертывания

WSP

Page 15: Architecture Lifecycle Management In The Share Point World

2 Domain Logic Layer

Бизнес-требования, переведенные в код

Page 16: Architecture Lifecycle Management In The Share Point World

2 Domain Logic Layer

Создается по мере необходимости Обычная .NET сборка Главный субъект модульного

тестирования

Page 17: Architecture Lifecycle Management In The Share Point World

3 Data Access Layer

Repository Row Data Gateway Table Data Gateway Active Record Service Locator

Page 18: Architecture Lifecycle Management In The Share Point World

3 Data Access Layer

Создается по мере необходимости Обычная .NET сборка Особенно полезна при работе с

разнородными источниками данных

Может включать логику List Throttling

Page 19: Architecture Lifecycle Management In The Share Point World

4 Domain Entities

SPMetal как основа Создается сразу Определения и свойства Нет методов

Расширена за счет Partial Class

Page 20: Architecture Lifecycle Management In The Share Point World

4 Domain Entities

Вынесена отдельно Автогенерация Нет логики

Но Может стать ядром Domain Logic

Layer Расширить Partial Class методами

Page 21: Architecture Lifecycle Management In The Share Point World

5 Common Services Layer

2 типа общих сервисов Хелперы Shared Services Applications

Page 22: Architecture Lifecycle Management In The Share Point World

5 Common Services Layer

2 типа общих сервисов Хелперы

Shared Services Applications (DAL)

Page 23: Architecture Lifecycle Management In The Share Point World

5 Common Services Layer

Constants GUIDs Custom Exceptions Extension Methods

Page 24: Architecture Lifecycle Management In The Share Point World

Архитектуру – в массы

Коммуникация

Page 25: Architecture Lifecycle Management In The Share Point World

Коммуникация

Заказчик (business people) Руководитель проекта (ПМ) Аналитик Команда разработчиков

Page 26: Architecture Lifecycle Management In The Share Point World

Коммуникация

Заказчик (business people) «продажа» архитектурных решений Совместно с Business Analyst Обычно с высоты >10 км над уровнем

моря Диаграммы компонентов + слоев

достаточно Слайды

Page 27: Architecture Lifecycle Management In The Share Point World

Коммуникация

Аналитик (business analyst) Объяснение узких мест (риски) Четкая постановка альтернатив

(или/или) Диаграмма компонентов Диаграмма вариантов использования Диаграмма активностей

Page 28: Architecture Lifecycle Management In The Share Point World

Коммуникация

Команда разработчиков (+ ПМ) Объяснение основных принципов Reference Implementation Architecture Guidance

Page 29: Architecture Lifecycle Management In The Share Point World

Коммуникация

Команда разработчиков (+ ПМ) Убедиться, что идеи поняты

правильно Убедиться, что идеи приняты и будут

исполняться Учесть обратную связь в Architecture

Guidance

Page 30: Architecture Lifecycle Management In The Share Point World

Коммуникация

Команда разработчиков (+ ПМ) Убедиться, что идеи поняты

правильно Убедиться, что идеи приняты и будут

исполняться Учесть обратную связь в Architecture

Guidance

Page 31: Architecture Lifecycle Management In The Share Point World

Оживление франкенштейна.

Внедрение

Page 32: Architecture Lifecycle Management In The Share Point World

Внедрение

Architecture Guidance Document Допущения Ограничения Особенности платформы Основные паттерны

Page 33: Architecture Lifecycle Management In The Share Point World

Внедрение

Deployment Guidance Document Обычно – глава в Architecture Guidance Развертывание Резервное копирование Восстановление Upgrade

Page 34: Architecture Lifecycle Management In The Share Point World

Внедрение

Общие рекомендации Review + update Reference Implementations

+

Page 35: Architecture Lifecycle Management In The Share Point World

Кто не все – того накажем.

Контроль

Page 36: Architecture Lifecycle Management In The Share Point World

Контроль

Peer Code Review Architecture Review

Page 37: Architecture Lifecycle Management In The Share Point World

Контроль

Сделать Reviews частью процесса Проводить их XP-style Используйте инструменты

(MSVS2010U) Обновляйте проектную

документацию Заводите «технические истории» Проводите разбор с командой

Page 38: Architecture Lifecycle Management In The Share Point World

Берегите природу.

Повторное использование

Page 39: Architecture Lifecycle Management In The Share Point World

Повторное использование

Общий код Общий компонент

Managed Metadata Service Application

Workflow Activities

Page 40: Architecture Lifecycle Management In The Share Point World

Повторное использование

Reference Implementation Guidance Documents Patterns

Page 41: Architecture Lifecycle Management In The Share Point World

А что у вас есть против оборотней?

Заключение

Page 42: Architecture Lifecycle Management In The Share Point World

Заключение

Не бывает одинаковых проектов, но бывают очень похожие

Page 43: Architecture Lifecycle Management In The Share Point World

Заключение

Архитектура – это здорово. Но лучше успешный проект с плохой архитектурой, чем проваленный проект с хорошей.

Page 44: Architecture Lifecycle Management In The Share Point World

СПАСИБО!

blog: http://vspug.com/sharepointbytwitter: @sharepointbyweb: http://sharepoint.byprofile: http://linkedin.com/in/ivanpadabed