В мире SharePoint. Автор SharePoint Engineer Belarus SharePoint User Group Lead.

Презентация:



Advertisements
Похожие презентации
Design model. М одель реализации системы. Создается на основе Analysis model. Фиксирует язык реализации классов. Сопровождается до конца разработки. Элементы.
Advertisements

Организация программного кода при создании информационных систем Подготовил: Студент группы МЭК-21 Акименко В. И. Руководитель: Доц. Яровенко А. Н.
Особенности обучения разработчиков BitrixFramework Максим Богомолов Генеральный директор «2Б-Дизайн»
Page Наталья Железных Руководитель отдела по работе с Правительственными учреждениями Sun Microsystems, регион СНГ Инфраструктура предоставления государственных.
Цель: гарантировать понимание процессов всеми членами команды Автор: Михаил Смирнов
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
SharePoint 2010 Докладчик: Илья Бойко, MCTS Разработчик SharePoint, Компания UMSoft
Нижегородская SharePoint User Group NSUG.
8/13/2012dotSITE - XP and MSF development in.NET1 Проектирование и создание приложений на базе Visual Studio.NET Andrew Filev Team leader dotSITE Ltd.Co.
Создание Workflow с помощью Visual Studio 2010 Сергей Бельский Украинская Лизинговая Компания MVP SharePoint Server.
Архитектура типового Enterprise приложения. История: от магического сервлета до наших дней Магический сервлет (все в одном) Не-UI логика Доступ к данным.
Веб-решение или Толстый клиент? Сравнение, тенденции, архитектура Иван Бодягин MAS Elektronik AG.
Интеграция приложений с использованием BPEL. Содержание Что такое BPEL? Как работает BPEL? Как использовать BPEL для интеграции приложений?
Fuse8.DomainFramework – библиотека для работы с данными Арсен Фазылзянов fuse8 3-я конференция.NET разработчиков 25 сентября 2011.
Разработка Open Source проекта на примере OpenVZ Web Panel Алексей Южаков.
App Engine Cloud Computing платформа от Google Петр Чардин, Михаил Дайчик Апрель 2009.
Как не наступить на любимые грабли. Короткий путь к успеху при разработке интернет-магазина Виталий Денисенков Студия Борового, директор
Трехслойная архитектура приложений, основанных на использовании баз данных.
Назначение и функциональные возможности решения «SharePoint HelpDesk»
Microsoft TechDays Илья Бойко Разработчик SharePoint UMSOFT.
Транксрипт:

в мире SharePoint

Автор SharePoint Engineer Belarus SharePoint User Group Lead.

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

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

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

Да будет свет! Разработка архитектуры

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

Разработка архитектуры Положительные особенности SharePoint Authentication Authorization Communication Deployment Performance Data Access API

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

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

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 сборка Особенно полезна при работе с разнородными источниками данных Может включать логику List Throttling

4 Domain Entities SPMetal как основа Создается сразу Определения и свойства Нет методов Расширена за счет Partial Class

4 Domain Entities Вынесена отдельно Автогенерация Нет логики Но Может стать ядром Domain Logic Layer Расширить Partial Class методами

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

5 Common Services Layer 2 типа общих сервисов Хелперы Shared Services Applications (DAL)

5 Common Services Layer Constants GUIDs Custom Exceptions Extension Methods

Архитектуру – в массы Коммуникация

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

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

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

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

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

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

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

Architecture Guidance 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: web: profile: