'

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

Понравилась презентация – покажи это...





Слайд 0


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

Безопасность Надежная модель Проверка подлинности Специальная или платформенная? Авторизация Общая инфраструктура и управление Объединение операций Безопасная связь Внутри приложения Между службами Аудит Сохранение идентификационных данных Управление профилями Объединение, масштабируемость Kerberos Kerberos Сертификаты SSL WS-Security Представление Бизнес Данные Управление профилями Аудит Безопасная связь Проверка подлинности Авторизация Безопасность Управление операциями Связь Другие


Слайд 9

Проектирование системы безопасности Компоненты интерфейса пользователя Компоненты обработки интерфейса пользователя Компоненты доступа к данным Бизнес-процессы Бизнес-компоненты Пользова- тели Коммерческие организации Агенты служб Интерфейсы служб Сервер данных: Службы Границы доверия, установленные с помощью проверки подлинности Использование заимствования прав вызывающего или учетных записей служб на границах для исходящих вызовов Границы доверия, установленные с помощью проверки подлинности Безопасная связь между службами и внутри приложения Авторизация действий при детализации прав


Слайд 10

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


Слайд 11

Безопасность Авторизация ASP.NET на основе ролей Совместимость с формами и цифровым паспортом .NET Доступность обычных объектов и объектов Windows Возможность настройки с помощью IPrincipal и IIdentity ASP.NET IIS Авторизация файла Авторизация URL Роли в .NET (авторизация) Разрешения NTFS (авторизация) Определенная пользователем роль (авторизация)


Слайд 12

Безопасность Авторизация ASP.NET на основе ролей Определяемые пользователем роли баз данных SQL-сервера Роли приложений SQL-сервера Роль 1 Роль 2 Веб-сервер или сервер приложений Сервер базы данных Надежное удостоверение 1 Надежное удостоверение 2 Удостоверение 1 имеет разрешения на чтение Удостоверение 2 имеет разрешения на чтение / запись Сопоставление ролей Граница доверия A B C D E


Слайд 13

Безопасность Двухуровневый сценарий Для защиты глобальной сети использован протокол SSL Для защиты локальной сети использован брандмауэр + IPSec ASP.NET IIS Проверка подлинности форм Анонимная проверка подлинности Проверка подлинности SQL-сервера Авторизация файла Авторизация URL Роли в .NET (авторизация) Разрешения NTFS (авторизация) Определенная пользователем роль (авторизация) SSL (конфиденциальность / целостность) IPSec (конфиденциальность / целостность) ASP.NET (идентификация процесса)


Слайд 14

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


Слайд 15

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


Слайд 16

IIS Безопасность при использовании сервера приложений Развертывание с тремя уровнями ASP.NET Проверка подлинности форм Анонимная проверка подлинности Авторизация URL (авторизация) Разрешения NTFS (авторизация) SSL (конфиденциальность / целостность) IPSec (конфиденциальность / целостность) ASP.NET (идентификация процесса) IIS ASP.NET (фасад веб-служб) Windows (проверка подлинности) Встроенная в Windows (проверка подлинности) требует применение протокола SSL (конфиденциальность / целостность) Веб-сервер Сервер приложений корпоративных служб dllhost.exe Сервер приложений Сервер базы данных IPSec (конфиденциальность / целостность) Идентификация процесса КС Определяемые пользователем роли базы данных (проверка подлинности) Конфиденциальность пакета RPC (проверка подлинности)


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

Компоненты интерфейса пользователя Компоненты обработки интерфейса пользователя Компоненты доступа к данным Бизнес-процессы Бизнес-компоненты Пользова-тели Коммерческие организации Агенты служб Интерфейсы служб Сервер данных: Службы Связь Текущая управляемость Безопасность Состояние и транзакции Кэширование для страниц ASP.NET и веб-служб Кэширование на всех уровнях Управление состоянием сеанса Управление состоянием пользователя Интернета Состояние сеанса связи между службами


Слайд 21

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


Слайд 22

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


Слайд 23

Управление транзакциями Службы как граница области Взаимодействие служб через коммерческие транзакции Коммерческая транзакция <> выделение/откат Только не ACID! Коммерческие транзакции больше подходят для систем на основе сообщений Отмена заказа Заказ подтвержден Заказ отменен – плата за отмену Доставка отмены (сообщения о «компенсации» и бизнес-логика) Выделено Откат Граница ACID-транзакции Граница делового сеанса связи


Слайд 24

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


Слайд 25

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


Слайд 26

Управление атомарными транзакциями Выбор модели атомарной транзакции Требуется транзакция? Требуется работа с разными диспетчерами ресурсов? Требуется использовать сохраненные процедуры? Требуется двухэтапное выделение? Используйте транзакции ADO.NET Передайте транзакцию в базу данных Используйте корпоративные службы Не применяйте транзакции Нет Да Да Да Да Нет Нет Нет


Слайд 27

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


Слайд 28

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


Слайд 29

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


Слайд 30

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


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36

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


Слайд 37

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


Слайд 38

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


Слайд 39

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


Слайд 40

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


Слайд 41

Важные веб-ресурсы Советы и примеры корпорации Microsoft http://msdn.microsoft.com/practices/ Веб-узел MSDN .NET Architecture Center http://msdn.microsoft.com/architecture/ Visual Studio .NET 2003 http://msdn.microsoft.com/vstudio/ Windows Server 2003 http://www.microsoft.com/windows


Слайд 42

© Корпорация Майкрософт (Microsoft Corporation), 2003. Все права защищены. Microsoft, Visual Studio, эмблема Visual Studio, Windows, эмблема Windows, BizTalk, Active Directory, SQL Server и MSDN являются охраняемыми товарными знаками корпорации Майкрософт в США и других странах. Другие названия компаний и продуктов, упомянутые в данном документе, могут являться товарными знаками соответствующих владельцев. Эта презентация предназначена только для ознакомления. В этом документе корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых.


×

HTML:





Ссылка: