Презентация архитектуры Часть 2 Разработка корпоративных приложений для Microsoft ® Windows ® Server 2003.

Содержание

Слайд 2

Презентация архитектуры Часть 2 Разработка корпоративных приложений для Microsoft® Windows® Server 2003

Презентация архитектуры Часть 2 Разработка корпоративных приложений для Microsoft® Windows® Server 2003

Слайд 3

Аудитория

Проектировщики приложений, разработчики и специалисты по инфраструктуре
Те, кто отвечает за проектировку, разработку

Аудитория Проектировщики приложений, разработчики и специалисты по инфраструктуре Те, кто отвечает за
и управление корпоративными системами
Разработчики приложений, использующие преимущества Windows Server 2003
Те, кто заинтересован в технических подходах корпорации Майкрософт к архитектуре приложений
Те, кто заинтересован в построении приложений для архитектуры, ориентированной на службы (SOA)

Слайд 4

Реальные ожидания

Архитектура – это сложная тема, которая имеет много аспектов и которую

Реальные ожидания Архитектура – это сложная тема, которая имеет много аспектов и
можно рассматривать с разных точек зрения
Данная презентация касается лишь небольшой части вопросов
Ее никак нельзя считать всеобъемлющей
По тем проблемам, которые не будут рассматриваться сегодня, имеются следующие ресурсы
Подробная документация, прилагаемая к данной презентации
DVD-диск с записью событий
Веб-узел MSDN® .NET Architecture Center
Веб-узел Microsoft patterns & practices

Слайд 5

Основные задачи

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

Основные задачи Исследование проблем безопасности с точки зрения их влияния на архитектуру
влияния расширенных возможностей кэширования в Microsoft® .NET
Обсуждение вопросов надежности и масштабируемости
Обзор методологий доступа к данным
Обсуждение планирования управления транзакциями

Слайд 6

Содержание занятия

Службы
Безопасность
Управление состоянием сети и транзакциями
Доступность и масштабируемость

Содержание занятия Службы Безопасность Управление состоянием сети и транзакциями Доступность и масштабируемость

Слайд 7

Создание служб: Вопросы проектирования

Распределение данных и установка границ
Доверие / безопасность
Транзакции и состояние сети
Доступность

Создание служб: Вопросы проектирования Распределение данных и установка границ Доверие / безопасность
и масштабируемость

Авторизация кредита

Заказы

Поставщик

Слайд 8

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

Установка и подключение границ доверий
Ключевые области
Проверка подлинности
Авторизация
Безопасная связь

Безопасность Установка и подключение границ доверий Ключевые области Проверка подлинности Авторизация Безопасная связь

Слайд 9

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

Надежная модель

Проверка подлинности
Специальная или платформенная?
Авторизация
Общая инфраструктура и управление
Объединение операций
Безопасная связь
Внутри приложения
Между службами
Аудит
Сохранение

Безопасность Надежная модель Проверка подлинности Специальная или платформенная? Авторизация Общая инфраструктура и
идентификационных данных
Управление профилями
Объединение, масштабируемость

Kerberos

Kerberos

Сертификаты
SSL
WS-Security

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

Бизнес

Данные

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

Аудит

Безопасная связь

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

Авторизация

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

Управление операциями

Связь

Другие

Слайд 10

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

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

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

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

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

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

Пользова- тели

Коммерческие организации

Агенты

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

Интерфейсы служб

Сервер данных:

Службы

Границы доверия, установленные с помощью проверки подлинности

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

Границы доверия, установленные с помощью проверки подлинности

Безопасная связь между службами и внутри приложения

Авторизация действий при детализации прав

Слайд 11

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

Где должна производиться проверка подлинности?
Microsoft Internet Information Server (IIS) для приложений

Безопасность Проверка подлинности Где должна производиться проверка подлинности? Microsoft Internet Information Server
интрасетей
Проверка подлинности на основе форм в Microsoft® ASP.NET
Проверка подлинности в Microsoft® .NET Passport

ASP.NET

IIS

Проверка подлинности форм

Анонимная проверка подлинности

Проверка подлинности в Microsoft® SQL Server™

Слайд 12

Безопасность Авторизация

ASP.NET на основе ролей
Совместимость с формами и цифровым паспортом .NET
Доступность обычных объектов

Безопасность Авторизация ASP.NET на основе ролей Совместимость с формами и цифровым паспортом
и объектов Windows
Возможность настройки с помощью IPrincipal и IIdentity

ASP.NET

IIS

Авторизация файла Авторизация URL Роли в .NET (авторизация)

Разрешения NTFS (авторизация)

Определенная пользователем роль (авторизация)

Слайд 13

Безопасность Авторизация

ASP.NET на основе ролей
Определяемые пользователем роли баз данных SQL-сервера
Роли приложений SQL-сервера

Роль 1

Роль

Безопасность Авторизация ASP.NET на основе ролей Определяемые пользователем роли баз данных SQL-сервера
2

Веб-сервер или сервер приложений

Сервер базы данных

Надежное удостоверение 1

Надежное удостоверение 2

Удостоверение 1 имеет разрешения на чтение Удостоверение 2 имеет разрешения на чтение / запись

Сопоставление ролей

Граница доверия

A B C D E

Слайд 14

Безопасность Двухуровневый сценарий

Для защиты глобальной сети использован протокол SSL
Для защиты локальной сети использован

Безопасность Двухуровневый сценарий Для защиты глобальной сети использован протокол SSL Для защиты
брандмауэр + IPSec

ASP.NET

IIS

Проверка подлинности форм

Анонимная проверка подлинности

Проверка подлинности SQL-сервера

Авторизация файла Авторизация URL Роли в .NET (авторизация)

Разрешения NTFS (авторизация)

Определенная пользователем роль (авторизация)

SSL (конфиденциальность / целостность)

IPSec (конфиденциальность / целостность)

ASP.NET (идентификация процесса)

Слайд 15

Безопасность Решения по безопасности работы в Интернете

Обычная архитектура Интернета
Проверка подлинности .NET на основе

Безопасность Решения по безопасности работы в Интернете Обычная архитектура Интернета Проверка подлинности
форм
Проверка подлинности IPrincipal на основе ролей
Протокол SSL и стандарт безопасности протокола IP (IPSec).
Двухуровневая модель имеет ограниченное количество параметров проверки подлинности базы данных

Слайд 16

Безопасность Безопасность сервера приложений

Большая надежность, адаптируемость, масштабируемость
Уровни свободно связаны между собой с помощью

Безопасность Безопасность сервера приложений Большая надежность, адаптируемость, масштабируемость Уровни свободно связаны между
протокола SOAP и других интернет-протоколов
Доступна дополнительная защита: проверка подлинности и роли на основе службы каталогов Microsoft® Active Directory®, а также AuthzMan
Дополнительная масштабируемость на физическом уровне

Слайд 17

IIS

Безопасность при использовании сервера приложений Развертывание с тремя уровнями

ASP.NET

Проверка подлинности форм

Анонимная проверка подлинности

Авторизация

IIS Безопасность при использовании сервера приложений Развертывание с тремя уровнями ASP.NET Проверка
URL (авторизация)

Разрешения NTFS (авторизация)

SSL (конфиденциальность / целостность)

IPSec (конфиденциальность / целостность)

ASP.NET (идентификация процесса)

IIS

ASP.NET

(фасад веб-служб)

Windows (проверка подлинности)

Встроенная в Windows (проверка подлинности) требует применение протокола SSL (конфиденциальность / целостность)

Веб-сервер

Сервер приложений корпоративных служб dllhost.exe

Сервер приложений

Сервер базы данных

IPSec (конфиденциальность / целостность)

Идентификация процесса КС

Определяемые пользователем роли базы данных (проверка подлинности)

Конфиденциальность пакета RPC (проверка подлинности)

Слайд 18

Краткие рекомендации. Безопасность

Следуйте инструкциям, приведенным в статье «Разработка безопасных приложений ASP.NET»
Используйте учетные

Краткие рекомендации. Безопасность Следуйте инструкциям, приведенным в статье «Разработка безопасных приложений ASP.NET»
записи служб, когда не требуется идентификация пользователя для доступа к базе данных
Используйте повышенную безопасность и службу каталогов Active Directory на бизнес-уровне
Используйте диспетчер авторизации для применения дополнительных средств авторизации
Советы и рекомендации
Руководство «Разработка безопасных приложений ASP.NET»
http:// msdn.microsoft.com/library/en-us/dnnetsec/html/secnetlpMSDN.asp

Слайд 19

Содержание занятия

Службы
Безопасность
Управление состоянием сети и транзакциями
Доступность и масштабируемость

Содержание занятия Службы Безопасность Управление состоянием сети и транзакциями Доступность и масштабируемость

Слайд 20

Основные задачи архитектуры, ориентированной на службы (SOA)

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

Основные задачи архитектуры, ориентированной на службы (SOA) Инкапсуляция службами всех функций управления
с помощью сообщений, передаваемых через ненадежные протоколы
Основные проблемы
Поддержание состояния сеанса связи
Управление транзакциями
Управление одновременным доступом к данным
Кэширование данных для повышения быстродействия, масштабируемости и доступности

Слайд 21

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

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

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

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

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

Пользова-тели

Коммерческие организации

Агенты служб

Интерфейсы служб

Сервер

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

Службы

Связь

Текущая управляемость

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

Состояние и транзакции

Кэширование для страниц ASP.NET и веб-служб

Кэширование на всех уровнях

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

Управление состоянием пользователя Интернета

Состояние сеанса связи между службами

Слайд 22

Связь на основе сообщений

Сообщения – это деловые документы, обмен которыми необходим для

Связь на основе сообщений Сообщения – это деловые документы, обмен которыми необходим
осуществления бизнес-процесса
Службы могут требовать от других служб сохранения данных
Пример: код покупателя
Сеанс связи на основе сообщений требует сохранения состояния и его восстановления в случае необходимости для осуществления деловых операций
Этот процесс напоминает разговор между людьми

Слайд 23

Состояние разговора

Выделение управления состоянием разговора в бизнес-процессах
Вне используемой для ведения бизнеса базы

Состояние разговора Выделение управления состоянием разговора в бизнес-процессах Вне используемой для ведения
данных или интерфейса служб
Использование расписаний сервера Microsoft® BizTalk®
Сохранение однородности бизнес-компонентов
Более благоприятные условия для деловой активности
Сообщения могут быть потеряны или доставлены дважды
Если не используется транзактный протокол S & F
Или протокол SOAP в MSMQ 3.0 через HTTP
Надежность веб-служб в качестве долгосрочной политики

Слайд 24

Управление транзакциями

Службы как граница области
Взаимодействие служб через коммерческие транзакции
Коммерческая транзакция <> выделение/откат
Только

Управление транзакциями Службы как граница области Взаимодействие служб через коммерческие транзакции Коммерческая
не ACID!
Коммерческие транзакции больше подходят для систем на основе сообщений

Отмена заказа

Заказ подтвержден

Заказ отменен – плата за отмену

Доставка отмены
(сообщения о «компенсации» и бизнес-логика)

Выделено

Откат

Граница ACID-транзакции

Граница делового сеанса связи

Слайд 25

Модель транзакции

Бизнес-оборот обеспечивает осуществление бизнес-процессов.

Более обособленные бизнес-компоненты инициируют атомарные транзакции и управляют

Модель транзакции Бизнес-оборот обеспечивает осуществление бизнес-процессов. Более обособленные бизнес-компоненты инициируют атомарные транзакции
ими.

Диспетчеры транзактных ресурсов принимают участие в атомарных транзакциях.

Атомарная транзакция

При условии, что другие службы не являются частью ACID-транзакции (если они не используют MSMQ).
Откаты производятся с компенсациями.

Процесс

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

DAL

Агент службы

DTC

Слайд 26

Управление транзакциями Использование ACID-транзакций

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

Управление транзакциями Использование ACID-транзакций Использование транзакций только в случае необходимости Далеко не
транзакции
Чтение интерфейсов пользователей не требует транзакций
Обмен данными за пределами границы транзакции отключен и не является актуальным
Требуется рассмотреть тип параллельных подключений
Оптимистический вариант: отключенная среда
Пессимистический вариант: подключенная среда

Слайд 27

Управление атомарными транзакциями Выбор модели атомарной транзакции

Требуется
транзакция?

Требуется
работа с разными
диспетчерами ресурсов?

Требуется использовать
сохраненные процедуры?

Требуется
двухэтапное

Управление атомарными транзакциями Выбор модели атомарной транзакции Требуется транзакция? Требуется работа с
выделение?

Используйте
транзакции ADO.NET

Передайте транзакцию
в базу данных

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

Не применяйте
транзакции

Нет

Да

Да

Да

Да

Нет

Нет

Нет

Слайд 28

Предпочтительный вариант блокировки Использование одновременного отключенного доступа к данным

Целостность плюс одновременность плюс масштабируемость
Эффективно

Предпочтительный вариант блокировки Использование одновременного отключенного доступа к данным Целостность плюс одновременность
для отключенных сред
Полученные данные являются потенциально устаревшими
Время (период ожидания или штампы времени)
Сравнение данных или их отдельных частей
Пример: отправка заказа с ценами из устаревшего каталога
Необходимость разрешения конфликтов
Сравнение для определения изменившихся полей
Автоматически или вручную
Пример: обновление записей заказчиков

Слайд 29

Краткие рекомендации. Управление транзакциями

Руководства по транзакциям
Глава «How to Code ADO.NET Manual Transactions»

Краткие рекомендации. Управление транзакциями Руководства по транзакциям Глава «How to Code ADO.NET
(Инструкции по кодированию транзакций ADO.NET вручную) в руководстве .NET Data Access Architecture (Архитектура доступа к данным .NET)
Статья Designing Data Tier Components and Passing Data Through Tiers (Разработка компонентов уровней данных и передача данных между уровнями) http://msdn.microsoft.com/practices/

Слайд 30

Кэширование Роли кэшей в архитектуре, ориентированной на службы

Для чего нужно кэширование?
Для повышения быстродействия?

Кэширование Роли кэшей в архитектуре, ориентированной на службы Для чего нужно кэширование?
Для масштабируемости? Для доступности?
Где выполнять кэширование?
Кэширование ASP.NET – страница и фрагмент
SQL-сервер – постоянное кэширование
MMF – общий доступ к процессам в памяти
Таблицы статического кэширования – в пределах домена приложения
Какие данные следует кэшировать
Нетранзактные справочные данные
Редко изменяемые данные
Данные, применимые к максимальному числу пользователей

Слайд 31

Кэширование Уровень представления и интерфейсы служб

ASP.NET
Кэширование выходящей страницы
Очень быстрое, но без пользовательской

Кэширование Уровень представления и интерфейсы служб ASP.NET Кэширование выходящей страницы Очень быстрое,
настройки
Можно рассматривать как форматированные бизнес-данные
Кэширование фрагмента страницы
Позволяет производить общую настойку страницы
Не такое быстрое, но оптимальное для данных с большим объемом форматирования
Пакет Windows Forms
Снижение интенсивности обмена данными между веб-службами

Слайд 32

Кэширование Компоненты доступа к данным

Три основных сценария
Кэширование приложений в пределах домена
Кэширование статических переменных

Кэширование Компоненты доступа к данным Три основных сценария Кэширование приложений в пределах
(таких как ASP.NET)
Кэширование в пределах компьютера
Кэширование в файлы, отображенные в памяти
Проблемы взаимодействия
Кэширование в пределах центра обработки данных
SQL-сервер

Слайд 33

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

Средство для управления временным состоянием после запроса, полученного сервером через

Управление состоянием сеанса Средство для управления временным состоянием после запроса, полученного сервером
Интернет
В ASP.NET допускаются три расположения
В памяти: единая емкость
Служба сеанса: в памяти для веб-фермы
SQL-сервер: постоянно используемый веб-фермой

Слайд 34

Содержание занятия

Корпоративные службы
Безопасность
Управление состоянием сети и транзакциями
Доступность и масштабируемость

Содержание занятия Корпоративные службы Безопасность Управление состоянием сети и транзакциями Доступность и масштабируемость

Слайд 35

Высокая доступность Проблемный домен

Высокая доступность Проблемный домен

Слайд 36

Высокая доступность

Критерий: планирование сбоев
Приложение
Управление состоянием
Быстрое и устойчивое восстановление
Инфраструктура
Ни одной точки сбоя
Как на

Высокая доступность Критерий: планирование сбоев Приложение Управление состоянием Быстрое и устойчивое восстановление
серверах, так и на сетевых элементах
Архитектура систем Майкрософт
Данные
Репликация, доставка журнала, распределение данных

Слайд 37

Высокая доступность Распределение нагрузки сети

Для клонированных служб без отслеживания состояния
Таких как ASP.NET, службы

Высокая доступность Распределение нагрузки сети Для клонированных служб без отслеживания состояния Таких
предприятия (COM+)
Расширение фермы сервера приложений
Встроенная поддержка для NLB в .NET Server
Управление распределением нагрузки
Поддержка управления кластером, узлом и портом
Возможность распределения на уровни для представления и бизнес-служб с отдельной балансировкой
Упрощенное управление с помощью Application Center

Слайд 38

Высокая доступность Кластеризация

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

Высокая доступность Кластеризация Предназначено для служб, требующих хранилище данных Автоматическое управление передачей
гибкости и надежности
Масштабируемость: рост системы вверх и распределение данных
Предназначено не только для серверов баз данных, но и
Для всех компонентов, которые поддерживают постоянное состояние
Для серверов Exchange
Для серверов BizTalk
Для MSMQ

Слайд 39

Высокая доступность Программные решения

Доступность и масштабируемость достигаются за счет создания инфраструктуры и приложения
Постановка

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

Слайд 40

Краткие рекомендации. Высокая доступность

Балансировка нагрузки и кластеризация влияют на надежность и масштабируемость
Увеличение

Краткие рекомендации. Высокая доступность Балансировка нагрузки и кластеризация влияют на надежность и
масштабируемости возможно за счет создания программного обеспечения, которое позволяет оптимизировать использование ресурсов
Высокодоступные системы являются результатом гармоничного сочетания: люди – процесс – технология
Люди разрабатывают приложения, для внедрения которых используется определенная технология, а также процесс создания высокодоступной системы
Архитектура систем Майкрософт

Слайд 41

Итоги презентации

Microsoft Windows Server 2003 + Microsoft Visual® Studio® .NET 2003 +

Итоги презентации Microsoft Windows Server 2003 + Microsoft Visual® Studio® .NET 2003
советы и рекомендации = законченная платформа приложения
Безопасность, управление и связь
Быстродействие, доступность и масштабируемость
Мощная платформа для разработки многочисленных сценариев приложений
Ресурсы для разработчиков архитектуры: http://msdn.microsoft.com/architecture/
Инструкции и советы по применению: http://msdn.microsoft.com/practices/

Слайд 42

Важные веб-ресурсы

Советы и примеры корпорации Microsoft http://msdn.microsoft.com/practices/
Веб-узел MSDN .NET Architecture Center http://msdn.microsoft.com/architecture/
Visual Studio .NET

Важные веб-ресурсы Советы и примеры корпорации Microsoft http://msdn.microsoft.com/practices/ Веб-узел MSDN .NET Architecture
2003 http://msdn.microsoft.com/vstudiohttp://msdn.microsoft.com/vstudio/
Windows Server 2003 http://www.microsoft.com/windows
Имя файла: Презентация-архитектуры-Часть-2-Разработка-корпоративных-приложений-для-Microsoft-®-Windows-®-Server-2003..pptx
Количество просмотров: 189
Количество скачиваний: 1