Архитектура распределённых приложений

Содержание

Слайд 2

Многоуровневое приложение

Многоуровневое приложение

Слайд 3

Категории компонент

Уровень бизнес логики

Уровень представления

Уровень данных

Вызывающие
сервисы

Пользователи и Устройства

Источники данных

Внешние
сервисы

Компоненты UI

Компоненты UI

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

Интерфейсы сервисов

Бизнес компоненты

Бизнес сущности

Бизнес
сценарии

Агенты сервисов

Компоненты логики доступа

Слайд 4

Содержание

Категории компонент на уровнях
Представления
Бизнес логики
Обращения к данным
Политики
Безопасности
Управления и мониторинга
Взаимодействия

Содержание Категории компонент на уровнях Представления Бизнес логики Обращения к данным Политики

Слайд 5

Компоненты пользовательского интерфейса

Компоненты пользовательского интерфейса:
Отображают данные
Принимают введенные данные от пользователя
Проверяют введенные

Компоненты пользовательского интерфейса Компоненты пользовательского интерфейса: Отображают данные Принимают введенные данные от
данные
Не инициализируют, не участвуют и не голосуют в транзакциях
Могут содержать ссылку на компоненту UI процесса
Могут содержать и функциональность отображения и функциональность управления

Слайд 6

Пользовательский интерфейс Windows

Развитый интерфейс настольного приложения, построенный с Windows Forms
Внедренный HTML
Дополнительные модули

Пользовательский интерфейс Windows Развитый интерфейс настольного приложения, построенный с Windows Forms Внедренный
к приложениям

Слайд 7

Пользовательский интерфейс Windows

Используйте связывание для синхронизации данных между одновременно открытыми формами
Избегайте использования

Пользовательский интерфейс Windows Используйте связывание для синхронизации данных между одновременно открытыми формами
в коде жестких связей между формами
Реализуйте обработчики ошибок в формах
В пользовательских контролах делайте публичными только необходимые методы
Не реализуйте функции управления внутри обработчиков событий

Слайд 8

Web пользовательский интерфейс

ASP.NET предоставляет мощный framework
Единая интегрированная среда для разработчика
Событийная модель

Web пользовательский интерфейс ASP.NET предоставляет мощный framework Единая интегрированная среда для разработчика
программирования
Связывание данных на уровне пользовательского интерфейса
Доступ к интегрированной модели безопасности в .NET Framework
Богатые возможности кеширования и управления
Доступность, производительность и масштабируемость Web обработки

Слайд 9

Web пользовательский интерфейс

Реализуйте пользовательскую страницу обработки ошибки и глобальный обработчик ошибок в

Web пользовательский интерфейс Реализуйте пользовательскую страницу обработки ошибки и глобальный обработчик ошибок
Global.asax
Используйте инфрастуктуру проверки ASP.NET для оптимизации задачи проверки вводимых данных
Используйте Web User Controls
Осуществляйте переходы между страницами из компонент UI процесса
Получите контекст и вызовите Redirect
Функции управления реализуйте как отдельный функции на ASP.NET странице или в отдельных .NET классах
Используйте ASP.NET view state для хранения состояния страницы

Слайд 10

Web пользовательский интерфейс

Расширяемый framework для объединения Web приложений
Microsoft Content Management Server
Microsoft SharePoint

Web пользовательский интерфейс Расширяемый framework для объединения Web приложений Microsoft Content Management
Portal™ Server 2002
IBuySpy Portal
http://msdn.microsoft.com/library/en-us/dnbda/html/bdasampibsport.asp

Слайд 11

Интерфейс для мобильных устройств Web интерфейс

Mobile Internet Toolkit
В модели ASP.NET
Элементы управления Web-форм
Один

Интерфейс для мобильных устройств Web интерфейс Mobile Internet Toolkit В модели ASP.NET
исходный код – множество целевых устройств (HTML, WML, cHTML)
Поддержка множества мобильных устройств
Определение возможностей устройства
Шаблоны для более чем 180 устройств
Обобщенные шаблоны
Расширяемая модель под новые типы устройств
Add on к Visual Studio .NET - Mobile Internet Designer

Слайд 12

Интерфейс для мобильных устройств интерфейс для интеллектуального мобильного устройства

Smart Device Extensions
.NET

Интерфейс для мобильных устройств интерфейс для интеллектуального мобильного устройства Smart Device Extensions
Compact Framework
Интеграция с Visual Studio.NET
Оптимально для online и offline решений
Использует все возможности Pocket PC
Отличная интеграция с SQL Server™ CE
Мощная локальная обработка, включая графику, мультимедиа

Слайд 13

Реализация интерфейса на основе документов

Работа с документом извне
Ввод: заполнение документа, отправка в

Реализация интерфейса на основе документов Работа с документом извне Ввод: заполнение документа,
приложение, разбор документа
Представление: генерация документа
Работа с документом изнутри
Ввод: формы и макросы внутри документа, передача данных компонентам бизнес логики
Представление: расширение документа, Smart Tags

Слайд 14

Может применяться в определенных сценариях
Семантика пользовательского интерфейса тесно связана со схемами и

Может применяться в определенных сценариях Семантика пользовательского интерфейса тесно связана со схемами
методами доступа данных
Физически компоненты UI и компоненты доступа к данным расположены вместе
Для доступа к данным не требуется авторизации или дополнительной обработки на уровне бизнес логики

Уровень представления Обращение к компонентам доступа данным из уровня представления

Слайд 15

Разработка компонент процесса UI

Поддержка состояния длинных UI взаимодействий с пользователем
Использование несколькими

Разработка компонент процесса UI Поддержка состояния длинных UI взаимодействий с пользователем Использование
интерфейсами одного UI процесса

Слайд 16

Разработка компонент процесса UI
Обработка конкурентных пользовательских активностей
Использование нескольких панелей отображения для одной

Разработка компонент процесса UI Обработка конкурентных пользовательских активностей Использование нескольких панелей отображения
активности
Изолирование длинных пользовательских интерфейсных активностей от состояния бизнес компонент

Слайд 17

Отделение UI процесса от UI интерфейса

Идентифицируйте бизнес процессы, в которых участвует

Отделение UI процесса от UI интерфейса Идентифицируйте бизнес процессы, в которых участвует
пользовательский интерфейс
Идентифицируйте данные, необходимые для бизнес процессов
Идентифицируйте дополнительное состояние, необходимое для поддержания пользовательской активности
Разработайте визуальное представление пользовательского процесса

Слайд 18

Проектирование компонент процесса интерфейса

Control

UI Components

Biz Components

User Process Component

действия

состояния

события

Бизнес сущность

UI

бизнес компоненты

DALC

Компоненты доступа

UIC

UI

Void Buttin1_Click(O,

Проектирование компонент процесса интерфейса Control UI Components Biz Components User Process Component
x)
{
// код обработки
}

упарвление

Слайд 19

Общие рекомендации для компонент процесса интерфейса

Выделение UI компонент процесса при
Насыщенном UI
Высокой вероятности

Общие рекомендации для компонент процесса интерфейса Выделение UI компонент процесса при Насыщенном
изменения UI
Выбор хранилища состояний для компонент UI
Проектируйте компоненты сериализуемыми
Включайте обработку исключений и распространяйте исключения на уровень UI компонент

Слайд 20

Содержание

Категории компонент на уровнях
Представления
Бизнес логики
Обращения к данным
Политики
Безопасности
Управления и мониторинга
Взаимодействия

Содержание Категории компонент на уровнях Представления Бизнес логики Обращения к данным Политики

Слайд 21

Бизнес компоненты и сценарии

Используйте бизнес сценарии когда :
Нужно управлять процессом, состоящем из

Бизнес компоненты и сценарии Используйте бизнес сценарии когда : Нужно управлять процессом,
множества шагов и длинных транзакций
Нужно раскрывать интерфейс, позволяющий Вашему приложению участвовать во взаимодействии с другими приложениями или сервисами
Есть возможность использования для доступа к приложениям адаптеров из широкого списка поддерживаемых серверами интеграции
Реализуйте бизнес процессы только через бизнес компоненты, когда:
Бизнес функциональность может быть реализована в виде атомарной транзакции
Нужно инкапсулировать функциональность и логику, которая может использована во внешних бизнес процессах
Бизнес логика требует интенсивных вычислений или тонкого контроля над структурами данных API

Слайд 22

Рекомендации для компонент бизнес логики

Максимально используйте ориентированные на передачу сообщений взаимодействия
Обеспечьте устойчивость

Рекомендации для компонент бизнес логики Максимально используйте ориентированные на передачу сообщений взаимодействия
интерфейсов к непоследовательным воздействиям
Тщательно выбирайте границы транзакций
Обеспечьте возможность вызова из сервиса (без передачи контекста пользователя)
Последовательно используйте форматы данных для входных и выходных параметров

Слайд 23

Использование шаблона конвейерной обработки

Используйте шаблон конвейерной обработки, когда:
Возможно специфицировать последовательность заранее известных

Использование шаблона конвейерной обработки Используйте шаблон конвейерной обработки, когда: Возможно специфицировать последовательность
шагов
Нет необходимости ожидания асинхронного ответа на каждом шаге
Все нижележащие по уровню компоненты могут преобразовывать данные от вышележащих компонент
Преимущества конвейерной обработки :
Простота понимания и реализации
Усиливает последовательную обработку
Легко оборачивать в атомарные транзакции
Недостатки конвейерной обработки :
Слишком упрощает ситуацию, особенно для сложных сценариев взаимодействия компонент
Не предоставляет возможности обработки условных конструкций, циклов и других элементов управления потоком выполнения
Добавление нового шага может воздействовать на производительность всей цепочки

Слайд 24

Использование шаблона событийной обработки

Используйте шаблон событийной обработки:
необходимо управлять независимыми и изолированными реализациями

Использование шаблона событийной обработки Используйте шаблон событийной обработки: необходимо управлять независимыми и
специфической функциональности
Ответ от одной реализации не воздействует на работу другой
Все реализации только сохраняют результаты или вызывают метод без ожидания результата
Результат бизнес процесса не определяется ни одном шагом либо определяется только на одном специфическом шаге
Преимущества событийной обработки:
Позволяет поддерживать несвязанные бизнес процессы независмо
Позволяет параллельную обработку, что может значительно повышать производительность
Легко оборачивать в атомарную транзакцию
Нейтральна по отношению к синхронным и асинхронным реализациям – не ожидает ответ
Недостатки событийной обработки:
Не позволяет строить комплексные ответы для бизнес функций
Компонент не может использовать данные или статус другой компоненты

Слайд 25

Реализация бизнес процесса

компоненты логики доступа к данным

Интерфейс сервиса

Сервисный агент

Интерфейс сервиса

Сервисный агент

Интерфейс

Реализация бизнес процесса компоненты логики доступа к данным Интерфейс сервиса Сервисный агент
сервиса

Бизнес процесс

Уровни представления

Бизнес компоненты

сервисы

Слайд 26

Реализация бизнес процесса через BizTalk Orchestration

Реализация бизнес процесса через BizTalk Orchestration

Слайд 27

Разработка интерфейса сервиса

Интерфейс сервиса является точкой входа в приложение
Реализация интерфейс сервиса должны

Разработка интерфейса сервиса Интерфейс сервиса является точкой входа в приложение Реализация интерфейс
быть абстрагирована от реализации бизнес логики
Для компоненты бизнес логики может быть разработано и опубликовано несколько интерфейсов, предназначенных для разных типов вызывающих приложений
Различные сервисные интерфейсы могут реализовываться для разных
протоколов взаимодействия
форматов сообщений
схем аутентификации
Service Level Agreement (SLA)
Возможности поддержки транзакций

Слайд 28

Разработка интерфейса сервиса

Интерфейсы сервисов
Помогают изолировать изменения в бизнес логики
Повышают эксплутационную устойчивость
Могут

Разработка интерфейса сервиса Интерфейсы сервисов Помогают изолировать изменения в бизнес логики Повышают
использовать возможности .NET инфрастуктуры для прозрачного преобразования
Выставление Enterprise Services объектов как Web services в Windows .NET Server
Могут реализовывать
Кеширование
Отображение, простые преобразования форматов и схем
Не должны реализовывать бизнес логику
Могут включать поддержку транзакций
Зависит от протокола
Воздействует на стратегию управления ошибками и транзакциями
Должны разрабатываться с максимальной возможностью организации взаимодействия с другими сервисами ( в том числе и на других платформах)
Опора на стандарты
Реализация платформо независимых схем аутентификации
Могут выполняться под собственным идентити без имперсонации оригинального вызывающего

Слайд 29

Вызовы
Web сервисов

MSMQ сообщения

Бизнес фасад с интерфейсами сервиса

Бизнес компонент

Интерфейс сервиса 2
MyWebService.asmx.cs

Бизнес фасад

Все

Вызовы Web сервисов MSMQ сообщения Бизнес фасад с интерфейсами сервиса Бизнес компонент
интерфейсы используют общий код:
Авторизация
Проверка
...

Интерфейс сервиса 2
MyMSMQWorker.cs

IIS и ASP.NET

Собств. MSMQ

Код специфичен для механизма вызова

Слайд 30

Представление данных и передача их между уровнями

XML
DataReader
DataSet
типизированный DataSet
Пользовательский объект

Представление данных и передача их между уровнями XML DataReader DataSet типизированный DataSet Пользовательский объект

Слайд 31

Компоненты бизнес сущностей

Не являются обязательной части любого приложения
Являются локальным кешем снимка данных
Добавляют

Компоненты бизнес сущностей Не являются обязательной части любого приложения Являются локальным кешем
к данным модели поведения с данными
Предоставляют программный доступ к данным через свойства и методы сущности
Могут содержать данные из разных источников
Должны использовать компоненты логики доступа данных

Слайд 32

Содержание

Категории компонент на уровнях
Представления
Бизнес логики
Обращения к данным
Политики
Безопасности
Управления и мониторинга
Взаимодействия

Содержание Категории компонент на уровнях Представления Бизнес логики Обращения к данным Политики

Слайд 33

Уровень доступа к данным

Вопросы для решения
Используемые хранилища данных
Проектирование компонент доступа
Проектирование вспомогательных компонент
Формат

Уровень доступа к данным Вопросы для решения Используемые хранилища данных Проектирование компонент
передачи данных между компонентами

Слайд 34

Хранилища данных

Реляционные Базы Данных
Базы данных сообщений
Файловая система
Системные Каталоги

Хранилища данных Реляционные Базы Данных Базы данных сообщений Файловая система Системные Каталоги

Слайд 35

Компоненты логики доступа к данным

Компоненты логики доступа к данным

Хранимые процедуры

Таблицы и

Компоненты логики доступа к данным Компоненты логики доступа к данным Хранимые процедуры
представления

Вспомогательные компоненты доступа

Компоненты логики доступа к данным

ADO.NET или API соединения для доступа

Слайд 36

Функциональность компонент логики доступа к данным

Реализация методов доступа для бизнес сущностей
Create, Read,

Функциональность компонент логики доступа к данным Реализация методов доступа для бизнес сущностей
Update и Delete (CRUD)
Могут использовать вспомогательные компоненты доступа к данным для централизованного управления:
API доступа к данным
Пула соединений
Параметров кеширования
Data Access Management Application Block на MSDN

Слайд 37

Содержание

Категории компонент на уровнях
Представления
Бизнес логики
Обращения к данным
Политики
Безопасности
Управления и мониторинга
Взаимодействия

Содержание Категории компонент на уровнях Представления Бизнес логики Обращения к данным Политики

Слайд 38

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

Представление

Бизнес логики

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

Операционное управление

Доступ к данным

Безопасность

Аутентификация

Безопасность каналов

Авторизация

Аудит

Управление профилем

Проектирование политики безопасности Представление Бизнес логики коммуникации Операционное управление Доступ к данным

Слайд 39

Проектирование политики операционного управления

Представление

Бизнес логики

Доступ к данным

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

Безопасность

Проектирование политики операционного управления Представление Бизнес логики Доступ к данным Коммуникации Безопасность

Слайд 40

Управление исключениями

Перехват и генерация исключений
Разработка классов исключений
Бизнес исключения в отличие от системных

Управление исключениями Перехват и генерация исключений Разработка классов исключений Бизнес исключения в
исключений
Передача информации об исключениях через уровни приложения
Публикация информации об исключениях
Exception Management Application Block for .NET на MSDN

Слайд 41

Мониторинг

Корректное исполнение:
Все компоненты работаю?
Нет ли блокировок?
Нет ли аварийных завершений?
Соответствие SLA :
Удовлетворяет ли

Мониторинг Корректное исполнение: Все компоненты работаю? Нет ли блокировок? Нет ли аварийных
система ожидаемым параметрам?
Нет проблем с внешними взаимодействиями?
Удовлетворяет производительность?
Управление масштабированием:
Удовлетворяют ли физические характеристики компьютеров возложенным на них задачам?
Предсказуема ли производительность отдельных ресурсов?
Повышение бизнес производительности

Слайд 42

Конфигурация

Последовательный подход
Шифруйте критически важные настройки
Используйте DPAPI
Типы хранилищ:
XML конфигурационный файлы
SQL Server
Active Directory
Метаданные

Конфигурация Последовательный подход Шифруйте критически важные настройки Используйте DPAPI Типы хранилищ: XML
Enterprise Services
Другие хранилища
Windows Registry
Windows Local Security Authority (LSA) store
Собственные реализации

Слайд 43

Метаданные

Информация о самом приложении
Более гибкая реакция на меняющиеся условия
Могут использоваться
На этапе разработки
Во

Метаданные Информация о самом приложении Более гибкая реакция на меняющиеся условия Могут
время выполнения

Слайд 44

Безопасность

Операционное управление

Проектирование политики коммуникаций

Представление

Бизнес логики

Доступ к данным

Безопасность Операционное управление Проектирование политики коммуникаций Представление Бизнес логики Доступ к данным

Слайд 45

Физическое развертывание и операционные требования

Физическое развертывание компонент
Физическое окружение
Распределение компонент по сборкам
Распространение и

Физическое развертывание и операционные требования Физическое развертывание компонент Физическое окружение Распределение компонент
установка сборок по уровням
Операционные требования
Управляемость
Доступность
Масштабируемость
Производительность

Слайд 46

Заключение

Определите распределение компонент приложения по уровням
Выберите технологии взаимодействия компонент с учетом поддержки

Заключение Определите распределение компонент приложения по уровням Выберите технологии взаимодействия компонент с
транзакций
Спроектируйте политики безопасности и операционного управления
Спланируйте развертывание приложения

Слайд 47

Дополнительные ресурсы

Российский веб-сервер компании Microsoft http://www.microsoft.com/rus
Платформа Microsoft .NET http://www.gotdotnet.ru/
.NET Architecture Center
http://msdn.microsoft.com/architecture
Microsoft TechNet

Дополнительные ресурсы Российский веб-сервер компании Microsoft http://www.microsoft.com/rus Платформа Microsoft .NET http://www.gotdotnet.ru/ .NET
http://www.microsoft.com/rus/technet/
Партнёры Microsoft http://www.microsoft.com/rus/licensing/where/certified_partners/
Обучение и сертификация
http://www.microsoft.com/rus/ctec/

Слайд 48

Вопросы?

Вопросы?
Имя файла: Архитектура-распределённых-приложений.pptx
Количество просмотров: 147
Количество скачиваний: 0