Проектирование и разработка корпоративных приложений Дмитрий Никонов Program Manager Microsoft Corporation.

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



Advertisements
Похожие презентации
Using Actional with OpenEdge The Zen of Business Transaction Assurance David Cleary Principal Software Engineer – Progress Software Session 116.
Advertisements

Тестирование программного обеспечения в Visual Studio Alexander Yakovlev
1 Where is the O(penness) in SaaS? Make sure youre ready for the next wave … Jiri De Jagere Senior Solution Engineer, Progress Software Session 123.
© 2006 Cisco Systems, Inc. All rights reserved. CIPT1 v Deployment of Cisco Unified CallManager Release 5.0 Endpoints Configuring Cisco Unified CallManager.
© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement the DiffServ QoS Model Implementing QoS Preclassify.
OpenEdge ® GUI for.NET Modernize your user interface with ABL Shelley Chase OpenEdge Architect Progress Software Corporation Session 113.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
Занятие 2 Инструменты Роман Здебский Тренинг Введение в разработку приложений на Windows Presentation.
© 2006 Cisco Systems, Inc. All rights reserved.CIPT2 v Monitor and Manage IP Telephony Introducing Cisco Unified CallManager Serviceability.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Using CSA Analysis Configuring Application Deployment Investigation.
Introducing Cisco Network Service Architectures © 2004 Cisco Systems, Inc. All rights reserved. Introducing the Cisco AVVID Framework ARCH v
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to.
Designing Network Management Services © 2004 Cisco Systems, Inc. All rights reserved. Designing the Network Management Architecture ARCH v
© 2006 Cisco Systems, Inc. All rights reserved.SNRS v Adaptive Threat Defense Examining Cisco IOS Firewall.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Configuring Groups and Policies Building an Agent Kit.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
© 2009 Avaya Inc. All rights reserved.1 Chapter Four, UMS Web Services Module Three – Exchange 2007.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Optimizing BGP Scalability Implementing BGP Peer Groups.
© 2007 Cisco Systems, Inc. All rights reserved.DESGN v Identifying Voice Networking Considerations Identifying Design Considerations for Voice Services.
Транксрипт:

Проектирование и разработка корпоративных приложений Дмитрий Никонов Program Manager Microsoft Corporation

Содержание Распределенные системы и DSI Распределенные системы и DSI Обзор Visual Studio Team Edition for Software Architects (VSTESA) Обзор Visual Studio Team Edition for Software Architects (VSTESA) Дизайн приложений и пакетов приложений (систем) Дизайн приложений и пакетов приложений (систем) Дизайн вычислительных центров Дизайн вычислительных центров Проверка правильности и готовности к развертыванию (Deployment validation) Проверка правильности и готовности к развертыванию (Deployment validation) Рекомендации по конфигурации систем и среды внедрения Рекомендации по конфигурации систем и среды внедрения Расширяемость VSTESA Расширяемость VSTESA

Как создать программу, которая будет правильно работать? Как установить и внедрить правила operational policies и поддерживать среду операций? Как я передаю информацию о требованиях программы к среде? Откуда я знаю, какие требования среде? Как я передаю информацию о требованиях среды к программе? Как передать информацию о бизнес-процессах в IT?

Dynamic Systems Initiative Передовой опыт и директивы

Приложения Хосты приложений Сетевая топология & OS Hardware System Definition Model (SDM): System Definition Model (SDM): Формальная модель всей системы Формальная модель всей системы Содержит всю информацию для развертывания приложений и отдела ИТ Содержит всю информацию для развертывания приложений и отдела ИТ Машинно-читаемая модель, содержит требования разработчиков и специалистов по ИТ Машинно-читаемая модель, содержит требования разработчиков и специалистов по ИТ Топология системы Топология системы Требования разработчиков к среде Требования разработчиков к среде IT policy IT policy Предписания для установки/развертывания Предписания для установки/развертывания Контроль состояния системы (Health Model) Контроль состояния системы (Health Model) Правила наблюдения за системой (Monitoring rules) Правила наблюдения за системой (Monitoring rules) Service Level Agreements Service Level Agreements Отчеты (Reports) Отчеты (Reports) ? ?

Deployment Report МоделиМодели ASP.NET Web приложения ASP.NET Web приложения System.Web System.Web IIS metabase IIS metabase Базы Данных Базы Данных Windows приложения, … Windows приложения, … ВалидаторыВалидаторы Рекомендации и проверки Рекомендации и проверки Архитектор накладывает систему на модель операционной среды. Результат: отчет о возможных проблемах Distributed System Designers Трансформация Общих Знаний в Полезную Информацию VSTESA Overview SDM приложениe SDM приложениe Архитектор конфигурирует прило- жение (зависимости,.config, и т.д.) Динамическая загрузка моделей в SDM; Транформация общих данных в полезную информацию Дизайнер приложений Дизайнер Систем (Пакетов) Дизайнер внедрения Дизайнер среды SDM Архитектор конфигурирует систему приложений (пакет) для конкретного случая SDM Пакета error error ИТ отдел определяет операционную среду и правила внедрения SDM среды

Цели VSTЕSА Упростить процесс дизайна и разработки распределенных систем Упростить процесс дизайна и разработки распределенных систем Общение между архитекторами и программистами Общение между архитекторами и программистами Синхронизация документации с исходным кодом Синхронизация документации с исходным кодом Сделать внедрение/установку систем предсказуемыми Сделать внедрение/установку систем предсказуемыми Обмен информацией между разработчиками и отделом ИТ Обмен информацией между разработчиками и отделом ИТ Проверка соответствия существующей инфраструктуры развертывания проекта требованиям архитектуры системы. Проверка соответствия существующей инфраструктуры развертывания проекта требованиям архитектуры системы.

Приложение Атомическое Атомическое Типизированное Типизированное Имеет версию Имеет версию Предоставляет и потребляет Предоставляет и потребляет сервисы через endpoints Определяет базовую (default) конфигурацию Определяет базовую (default) конфигурацию Определяет ограничения на среду внедрения/установки Определяет ограничения на среду внедрения/установки Описывается в SDM документе Описывается в SDM документе

Пакет прлиожений / Система Сборный пакет приложений Сборный пакет приложений Имеет версию Имеет версию Определяет конфигурацию приложений и других (вложенных) систем Определяет конфигурацию приложений и других (вложенных) систем Composable Composable Инкапсуляция Defines encapsulation Инкапсуляция Defines encapsulation Позволяет override базовую конфигурацию Позволяет override базовую конфигурацию Описывается в SDM документе Описывается в SDM документе

Логическая среда Описывает среду хостинга Описывает среду хостинга Имеет версию Имеет версию Определяет логическую среду внедрения Определяет логическую среду внедрения Конфигурация, коммунукации Конфигурация, коммунукации Ограничения на приложения Ограничения на приложения Сгруппирован по зонам, описывающим правила соединения и коммуникаций (протоколы, и др.) Сгруппирован по зонам, описывающим правила соединения и коммуникаций (протоколы, и др.) Описан в SDM документе Описан в SDM документе

Развертывание Описывает установку системы в операционную среду Описывает установку системы в операционную среду Определяет соответствие между приложениями и логоческими серверами Определяет соответствие между приложениями и логоческими серверами Позволяет сделать валидацию установки системы в среду развертывания Позволяет сделать валидацию установки системы в среду развертывания

Что такое установка? Элемент конфигурации приложения, системы или хоста Элемент конфигурации приложения, системы или хоста System.web System.web Authentication Mode=Forms Authentication Mode=Forms IIS Meta-base IIS Meta-base AccessFlags=Execute AccessFlags=Execute System.Data System.Data Authentication=mixed Authentication=mixed Установка, определяемая пользователем Установка, определяемая пользователем MySetting=Foo MySetting=Foo Установки группируются в ресурсы Установки группируются в ресурсы Могут ассоциироваться с любым другим элементом Могут ассоциироваться с любым другим элементом

Что такое ограничение? Правило, выраженное в терминах модели Правило, выраженное в терминах модели Архитекторы определяют требования приложения/системы Архитекторы определяют требования приложения/системы Отдел ИТ определяет требования среды Отдел ИТ определяет требования среды Типы ограничений (сonstraints) Типы ограничений (сonstraints) Ограничения хостинга и коммуникаций Ограничения хостинга и коммуникаций Implicit (законы физики) Implicit (законы физики) Преопределенная стандартная конфигурация Преопределенная стандартная конфигурация Определенные пользователем Определенные пользователем Валидаторы проверяют ограничения Валидаторы проверяют ограничения

Примеры Ограничений Для web-service разрешить только протоколы SOAP/https через порт 443 Для web-service разрешить только протоколы SOAP/https через порт 443 Запретить web services на любом хосте в данной зоне Запретить web services на любом хосте в данной зоне Запретить динамический контент на веб-сайте Запретить динамический контент на веб-сайте Требовать использования SQL Session State в приложениях ASP.NET Требовать использования SQL Session State в приложениях ASP.NET Если используется аутентикация «forms», то анонимный доступ к IIS anonymous должен быть разрешен Если используется аутентикация «forms», то анонимный доступ к IIS anonymous должен быть разрешен …

Visual Studio Team Architect Дизайнеры распределенных систем Дизайнер Приложений Хосты Приложения Дизайнер Установки/Внедрения Дизайнер Систем System Definition Model Дизайнер Среды Хостинга

Дизайнер Приложений

Нужная Информация…Нужная Информация… IIS SQL Server Enterprise Services Application Services System Services DCOMDTC Client Network Libraries DTC DCOM

Что такое среда хостинга? Абстракция физической операционной среды Абстракция физической операционной среды Описывает типы серверов application servers Описывает типы серверов application servers не количество не количество Описывает конфигурацию application server Описывает конфигурацию application server не физические характеристики машины не физические характеристики машины Описывает типы протоколов Описывает типы протоколов не схему IP-раутинга не схему IP-раутинга Описывает границы и типы коммуникаций Описывает границы и типы коммуникаций не брандмауеры, vlans, раутеры и switches не брандмауеры, vlans, раутеры и switches Описывает правила аутентикации приложений Описывает правила аутентикации приложений не способ кодирования не способ кодирования Описывает ограничения на конфигурацию приложений Описывает ограничения на конфигурацию приложений w/o having to page the developer or read lots of manuals w/o having to page the developer or read lots of manuals Передает Нужную Информацию

Дизайнер Среды Хостинга Создаем Среду хостинга Указываем и импортируем установки Указываем ограничения на приложения Прототипы Валидация и разрешение проблем Deployment Report

Logical Datacenter Summary Logical Servers represent application server configuration Logical Servers represent application server configuration Settings values can be populated in the editor or imported Settings values can be populated in the editor or imported Constraints are evaluated over SDM meta- data with built-in Validators Constraints are evaluated over SDM meta- data with built-in Validators Application validation can occur before design is committed to code Application validation can occur before design is committed to code Model information can be used to script deployments Model information can be used to script deployments

SDK для расширения SDM Возможность добавлять ресурсы и установки (с ограничениями) к существуюшим типам хостов и приложений Возможность добавлять ресурсы и установки (с ограничениями) к существуюшим типам хостов и приложений Абстрактные типы Хостов и Приложений Абстрактные типы Хостов и Приложений Прототипы Прототипы Возможность создавать новые абстрактные SDM-типы Возможность создавать новые абстрактные SDM-типы Новые Определения Систем System Definitions Новые Определения Систем System Definitions Новые Endpoints Новые Endpoints Новые Отношения (Relationships) Новые Отношения (Relationships) Новые Ограничения (Constraints) Новые Ограничения (Constraints)

Документация Элементы SDK Все модели из Whidbey Для начинающих (Getting Started) Walk Through User Documentation Примеры кода Reference Documentation Инструменты: генератор прототипов, компилятор SDM, генератор SDM

System Definitions EndpointsРесурсы EndpointsРесурсы CommunicationHostingReferenceCommunicationHostingReference Абстрактные Типы Отношения Установки и Ограничения УстановкиОграниченияУстановкиОграничения SDM Compiler Validation

Extending the experience 2) Customer uses SDK: Creates or extends SDM models Dev authors constraints and Validators Creates VSTESA Prototypes Creates install packages SDM SDM SDK Docs 1) Customer wants to: Create or extend SDM models Define new settings Define new constraints Define new Validators Use new types in Visual Studio 3) Customer installs new models Uses new models to extend existing type with new setting resources Creates new prototypes 4) Service is visible and available for modeling: Integrated modeling experience Integrated setting editing experience Integrated Validation experience New types persisted as SDM files Integrated with Deployment Report

Проверка правильности и рекомендуемые конфигурации Установки (settings) пользователя Установки (settings) пользователя Например: безопасность, быстродействие, и т.д. Например: безопасность, быстродействие, и т.д. Привязаны к любому типу Привязаны к любому типу На которые могут накладываться ограничения На которые могут накладываться ограничения Новые Applications и Logical Servers Новые Applications и Logical Servers Опивысают ваши системы Опивысают ваши системы Новые отношения с существующими моделями Новые отношения с существующими моделями Новые коммуникационные отношения Новые коммуникационные отношения Новые Validators Новые Validators Рекомендации по безопасности системы Рекомендации по безопасности системы Service Level Agreement Service Level Agreement Состояние Системы Состояние Системы

Codify Best Practices and Guidance Security Best Practices can be found in Patterns & Practices documents but … Security Best Practices can be found in Patterns & Practices documents but … Massive amount of documentation to wade through Massive amount of documentation to wade through Sometimes not very clear what is expected Sometimes not very clear what is expected Not flexible enough for different architectures Not flexible enough for different architectures Can be out of date Can be out of date Codify best practices with Validators that… Codify best practices with Validators that… provide design time feedback for any best practice violation executable contract provide design time feedback for any best practice violation executable contract can be versioned and standardized can be versioned and standardized can be grouped in relevant resources can be grouped in relevant resources

AVIcode Health Modeling и Мониторинг Интеграция AVIcode Intercept Studio с Visual Studio Team System Александр Федотьев AVIcode

AVIcode Intercept Studio Simplifies support of enterprise software applications Provides root cause information for application failures and performance degradation Provides root cause information for application failures and performance degradation Non-intrusive monitoring of enterprise applications Non-intrusive monitoring of enterprise applications Instant feedback to network monitoring, defect tracking and test management systems Instant feedback to network monitoring, defect tracking and test management systems

VSTE for Software Architects Integration Allows developers to provide operations personnel with application health monitoring capabilities Application and Logical Datacenter SDM models to customize & prioritize application health information Application and Logical Datacenter SDM models to customize & prioritize application health information Automatic creation of MOM 2005 management packs with custom Validators utilizing data captured customized models Automatic creation of MOM 2005 management packs with custom Validators utilizing data captured customized models

VS Team Foundation Integration Streamlines application support and provides a foundation for effective incident management processes Automatic creation of new work items for issues detected in production environment Automatic creation of new work items for issues detected in production environment Correlation of root cause diagnostic information with related application code and SDM models Correlation of root cause diagnostic information with related application code and SDM models

Health Modeling & Monitoring 1. Design Architect defines in AD diagram severity for operational conditions related to performance, connectivity, security and application failures. 2. Development Developer defines in AD diagram what operational information has to be collected 3. Release management Infrastructure engineer defines in LDD diagram.NET monitoring environment & generates deployment report together with health monitoring management pack from DD diagram 4. Service Monitoring NOC operator monitors the health of applications within the MOM State view 5. Problem management System administrators & application support personnel analyze operational configuration and related issues using Team Foundation Server & SDM models MOF MSF

AVIcode Intercept Studio & Visual Studio Team System

Visual Studio Team Edition for Software Architects Model structure of complex systems Model structure of complex systems Visualization and validation Visualization and validation Knowledge transfer and collaboration Knowledge transfer and collaboration Between architects and developers Between architects and developers Between development and operations Between development and operations Improve value of design Improve value of design Design, code and configuration are synchronized Design, code and configuration are synchronized Improve predictability of deployment Improve predictability of deployment Design validation, unified deployment manifest Design validation, unified deployment manifest Integrate best practices and guidance Integrate best practices and guidance

Looking Forward… VS Integration with Deployment & Management VS Integration with Deployment & Management Test deployments Test deployments More on Analysis Design for… More on Analysis Design for… Performance, Management, Security, Operations, SLA Performance, Management, Security, Operations, SLA Rich support for distributed system design Rich support for distributed system design Indigo Indigo Deep Extensibility Support Deep Extensibility Support

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.