SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Архитектурный обзор прикладной платформы .NET Дмитрий Андреев Эксперт по Ахритектуре ИС Microsoft
Классическая архитектура
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Интерфейс Сквозные  механизмы UI Компоненты Безопасность Процессные Компоненты Бизнес Бизнес процессы Бизнес компоненты Данные Компоненты доступа к данным Утилиты/хелперы Хранилище данных
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Реализация
Приложение Библиотеки  (много) Сервисы операционной системы (Win32) Классическая система
Приложение Система на базе .NET .NET Framework CLR BCL JIT Сервисы операционной системы (Win32)
Что такое .NET Framework Безопасный, гибкий, высокопроизводительный набор компонент позволяющий разработчикам создавать широкий спектр приложений для Windows Предоставляет разработчикам высокий уровень абстракции Повышает продуктивность разработки
Архитектура .NET VB C# C++ Python Jscript Visual Studio Основная языковая спецификация ASP.NET WinForms WPF ADO.NET, XML, Entity Framework, LinQ Базовая библиотека классов Среда выполнения (CLR) Windows COM+
Версия .NET 3.5 Пятый выпуск .NET Framework Полностью поддерживается в Visual Studio 2008 Это инкрементальное дополнение .NET Framework 3.0 и в свою очередь 2.0 Microsoft Visual Studio 2008 .NET Framework 3.5 .NET Framework 3.0 SP1 .NET Framework 2.0 SP1
Среда выполнения (CLR) Управление памятью Управление нитями Управление исключениями Сборка мусора Обеспечение безопасности
Базовая библиотека классов Базовые типы и исключения Структуры данных Ввод/Вывод (файлы) Доступ к информации о типах Проверка безопасности
Простота использования Доступность обучающих курсов Большое сообщество Форумы MSDN Блогиtechnetи msdnна русском языке Доступность исходного кода Простота в изучении Русская локализация
Средства и функциональность Полная интеграция с Visual Studio Поддержка множества сценариев использования Наличие большого количества дополнительных библиотек Позволяет сфокусироваться на решении задач
Компоненты приложения
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Клиент
ASP.NET Веб приложение – простота развертывания Проблема – код и дизайн смешаны Классический ASP или PHP Поддержка различных парадигм создания Веб приложения MVC AJAX Большое количество готовых компонент
Смешанный дизайн и код HTML>  <HEAD>  <TITLE>Database Programming with Visual Basic 6.0</TITLE> </HEAD>  <BODY>  <CENTER> <H1><FONT size=4> Using ADO in a Visual Basic Script Web Page </FONT></H1> <H2>Database Programming with Visual Basic 6.0</H2> <HR> <! Begin server side script here>  <% dim myconnection dim rsTitleList set myConnection = Server.CreateObject("ADODB.Connection") myconnection.open "Provider=Microsoft.Jet.OLEDB.3.51;" _                 & "Data Source=C:egdbiblio.mdb" SQLQuery = "SELECT title FROM titles" set rsTitleList =  myConnection.Execute(SQLQuery) do until rsTitleList.eof  Response.WritersTitleList("Title")  %> <BR> <% rsTitleList.movenext loop rsTitleList.close set rsTitleList = nothing %> <! end server side script> <HR>  </CENTER>  </BODY>  </HTML>
Windows Forms Классическая библиотека создания клиентских приложений Обширный опыт сообщества Большое количество готовых компонент
WPF Новая парадигма в разработке клиентских приложений Декларативное программирование Разделение кода и дизайна Дополнительные средства дизайна
WPF или WinForms? WPF Современная графика (2D,3D, акселерация, эффекты) Лучшая архитектура и средства поддержки Простота расширения, дизайна и настройки внешнего вида Поддержка процессов разработки между дизайнером и программистом Возможности использования наработок в RIA с помощью Silverlight Winforms Поддержка Windows2000 Поддержка слабого оборудования Высокий уровень внедрения (installbase) Простота в программировании Отлаженный набор средств
User Interface Services Document Services XPS Documents Application Services Controls Data Binding Packaging Services Deployment Services Layout Base Services Core Presentation XPS Viewer Windows Presentation Foundation XAML 2D Audio Imaging Text Accessibility 3D Video Effects Input & Eventing Animation Property System Visual Primitives Composition Engine Windows Media Foundation DWM Media Integration Layer Direct3D Windows Vista Display Driver (LDDM) Input / Eventing System Property Engine .NET Framework 2.0
Поддержка типографики
Ключевая концепция
Совместная работа Дизайнера и Разработчика Desktop Web Server                     Vista Media & RIA Designer Look, behavior, brand,and emotional connection Developer Function, deployment, data,security, operational integrity
Silverlight Web и RIA приложения для клиентов Кросс-платформенность ,[object Object]
Быстрая инсталляция – 4MB плагин
Векторная графика,медиа, текст, анимация, оверлеи
Взаимодействие с AJAX сайтамиГибкая модель программирования ,[object Object]
Языки програмимирования – C#, VB.NET, Python, Ruby, JavaScript/AJAX
Интеграция с существующими технологиями – RSS, REST/POX, AJAX/JSON, etc.
Кросс-платформенная разработка и тестирование
Средства для разработчиков и дизайнеровНизкая стоимость высококачественных медиа решений ,[object Object],[object Object]
Введение в WCF Windows Communication Foundation Унифицированный набор средств для построения взаимодействующих сервис-ориентированных систем Границы применимости Процесс (взаимодействие между слоями) Системы (SOA) Интернет (S+S)
Готовность для применения Поддержка индустриальных стандартов Веб-сервисов Взаимодействие с COM, COM+/ES, MSMQ, WSE, ASAX Встроенные транспортные подсистемы http/soap, binary tcp/udp… Подсистемы безопасности Авторизация, аутентификация, аудит Поддержка транзакций (в том числе распределенных)
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Windows Workflow Foundation Windows Workflow Foundation (WF) технология для определения, выполнения и управления рабочими процессами (англ. workflow) Декларативная модель программирования Может быть использован как для бизнес логики так и для интерфейсной
Типы процессов и активности Последовательный процесс (Sequential Workflow) переход от одного шага в другой без возвратов обратно Автомат на состояниях (State-Machine Workflow) — переход из одного состояния в другое, возможны и произвольные возвраты в предыдущие состояния;  Процесс управляемый правилами (Rules-driven Workflow)
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
ADO.NETEntity Framework Реляционная модель данных чужда обьектной Entity Framework – механизм абстракции и трансляции  Базируется на LINQ технологии Позволяет избежать ошибок времени выполнения
LINQ Language Integrated Query Базирующийся на возможностях C# механизм (лямбда выражения) Linq for Objects Linq for XML Linq for SQL
Пример LINQ public void Linq1() {    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };    varlowNums =        from n in numbers        where n < 5        select n;    Console.WriteLine("Numbers < 5:");    foreach (var x in lowNums) {        Console.WriteLine(x);    }}
Oшибки времени выполнения SqlQuery query=new SqlQuery("Select * from Customers where DateOfBitrh>‘30’ and custId="+custId); SqlReaderrdr=query.ExecuteReader();
LINQ LINQdb db = newLINQdb("Data Source=(local);Initial Catalog=LinqDb");    var q = from c in db.Customers where c.DateOfBitrh.AddYears(35) > DateTime.Noworderbyc.DateOfBirth descending select c;  >>Compiler error “DateOfBitrh” variable not declared
Внешние системы Интерфейс Сквозные  механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
Безопасность в .NET Валидация форматов файлов и метаданных Верификация кода Проверка целостности Контроль доступа кода (CAS) Модель безопасности базирующаяся на ролях
Декларативный механизм WindowsPrincipalauthenticatedUser = User as WindowsPrincipal; if (authenticatedUser.IsInRole(@"DomainNameanager") ) { 	//все в порядке } [PrincipalPermissionAttribute(SecurityAction.Demand, Role=@"DOMAINNAMEanagers")] public sealed class OnlyManagersCanCallMe { }

Weitere ähnliche Inhalte

Andere mochten auch

Caraampuhkunjungan
CaraampuhkunjunganCaraampuhkunjungan
Caraampuhkunjunganprakasa
 
Social Media und Communication Controlling
Social Media und Communication Controlling Social Media und Communication Controlling
Social Media und Communication Controlling Michael Rottmann
 
Kluwer Snelbalie Infofit
Kluwer Snelbalie InfofitKluwer Snelbalie Infofit
Kluwer Snelbalie Infofitmvoorveld
 
Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...
Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...
Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...EPOCA
 

Andere mochten auch (8)

Test mz
Test mzTest mz
Test mz
 
สวัสดี
สวัสดีสวัสดี
สวัสดี
 
Caraampuhkunjungan
CaraampuhkunjunganCaraampuhkunjungan
Caraampuhkunjungan
 
Producto6paula
Producto6paulaProducto6paula
Producto6paula
 
Social Media und Communication Controlling
Social Media und Communication Controlling Social Media und Communication Controlling
Social Media und Communication Controlling
 
Kluwer Snelbalie Infofit
Kluwer Snelbalie InfofitKluwer Snelbalie Infofit
Kluwer Snelbalie Infofit
 
Troca de CRM
Troca de CRMTroca de CRM
Troca de CRM
 
Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...
Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...
Prof. Diego Macrì - Open source nella pubblica amministrazione: un nuovo mode...
 

Ähnlich wie архитектура .Net

Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Alexander Novichkov
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Александр Шамрай
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных системKewpaN
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1guestcaef82
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserAndrew Mayorov
 
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...ebuc
 
IT-инфраструктура
IT-инфраструктураIT-инфраструктура
IT-инфраструктураSoftline
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияКварта Технологии
 
Модули платформы B4
Модули платформы B4Модули платформы B4
Модули платформы B4Bars Group
 
Инфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭД
Инфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭДИнфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭД
Инфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭДPavel Eyges (1900+)
 
IBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM IBM
 
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010ebuc
 

Ähnlich wie архитектура .Net (20)

Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем
 
Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
Описание и архитектура TFS 2008
Описание и архитектура TFS 2008Описание и архитектура TFS 2008
Описание и архитектура TFS 2008
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...
Надёжная Kомпьютерная Инициатива - ответ сегодняшним рискам ИT безопасности 2...
 
IT-инфраструктура
IT-инфраструктураIT-инфраструктура
IT-инфраструктура
 
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
 
Модули платформы B4
Модули платформы B4Модули платформы B4
Модули платформы B4
 
Инфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭД
Инфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭДИнфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭД
Инфраструктура ЕСМ 2.0 как основа для создания сервисно – ориентированных СЭД
 
IBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM ECM & Discovery Strategy
IBM ECM & Discovery Strategy
 
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
Построение ИТ инфраструктуры организации на платформе Майкрософт 23.07.2010
 
СУП
СУПСУП
СУП
 

архитектура .Net

  • 1.
  • 2. Архитектурный обзор прикладной платформы .NET Дмитрий Андреев Эксперт по Ахритектуре ИС Microsoft
  • 4. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 5. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 6. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 7. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 8. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 9. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 10. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 11. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 12. Интерфейс Сквозные механизмы UI Компоненты Безопасность Процессные Компоненты Бизнес Бизнес процессы Бизнес компоненты Данные Компоненты доступа к данным Утилиты/хелперы Хранилище данных
  • 13.
  • 14. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 15.
  • 17. Приложение Библиотеки (много) Сервисы операционной системы (Win32) Классическая система
  • 18. Приложение Система на базе .NET .NET Framework CLR BCL JIT Сервисы операционной системы (Win32)
  • 19. Что такое .NET Framework Безопасный, гибкий, высокопроизводительный набор компонент позволяющий разработчикам создавать широкий спектр приложений для Windows Предоставляет разработчикам высокий уровень абстракции Повышает продуктивность разработки
  • 20. Архитектура .NET VB C# C++ Python Jscript Visual Studio Основная языковая спецификация ASP.NET WinForms WPF ADO.NET, XML, Entity Framework, LinQ Базовая библиотека классов Среда выполнения (CLR) Windows COM+
  • 21. Версия .NET 3.5 Пятый выпуск .NET Framework Полностью поддерживается в Visual Studio 2008 Это инкрементальное дополнение .NET Framework 3.0 и в свою очередь 2.0 Microsoft Visual Studio 2008 .NET Framework 3.5 .NET Framework 3.0 SP1 .NET Framework 2.0 SP1
  • 22. Среда выполнения (CLR) Управление памятью Управление нитями Управление исключениями Сборка мусора Обеспечение безопасности
  • 23. Базовая библиотека классов Базовые типы и исключения Структуры данных Ввод/Вывод (файлы) Доступ к информации о типах Проверка безопасности
  • 24. Простота использования Доступность обучающих курсов Большое сообщество Форумы MSDN Блогиtechnetи msdnна русском языке Доступность исходного кода Простота в изучении Русская локализация
  • 25.
  • 26.
  • 27. Средства и функциональность Полная интеграция с Visual Studio Поддержка множества сценариев использования Наличие большого количества дополнительных библиотек Позволяет сфокусироваться на решении задач
  • 29. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 31. ASP.NET Веб приложение – простота развертывания Проблема – код и дизайн смешаны Классический ASP или PHP Поддержка различных парадигм создания Веб приложения MVC AJAX Большое количество готовых компонент
  • 32. Смешанный дизайн и код HTML> <HEAD> <TITLE>Database Programming with Visual Basic 6.0</TITLE> </HEAD> <BODY> <CENTER> <H1><FONT size=4> Using ADO in a Visual Basic Script Web Page </FONT></H1> <H2>Database Programming with Visual Basic 6.0</H2> <HR> <! Begin server side script here> <% dim myconnection dim rsTitleList set myConnection = Server.CreateObject("ADODB.Connection") myconnection.open "Provider=Microsoft.Jet.OLEDB.3.51;" _                 & "Data Source=C:egdbiblio.mdb" SQLQuery = "SELECT title FROM titles" set rsTitleList =  myConnection.Execute(SQLQuery) do until rsTitleList.eof Response.WritersTitleList("Title")  %> <BR> <% rsTitleList.movenext loop rsTitleList.close set rsTitleList = nothing %> <! end server side script> <HR> </CENTER> </BODY> </HTML>
  • 33. Windows Forms Классическая библиотека создания клиентских приложений Обширный опыт сообщества Большое количество готовых компонент
  • 34.
  • 35. WPF Новая парадигма в разработке клиентских приложений Декларативное программирование Разделение кода и дизайна Дополнительные средства дизайна
  • 36. WPF или WinForms? WPF Современная графика (2D,3D, акселерация, эффекты) Лучшая архитектура и средства поддержки Простота расширения, дизайна и настройки внешнего вида Поддержка процессов разработки между дизайнером и программистом Возможности использования наработок в RIA с помощью Silverlight Winforms Поддержка Windows2000 Поддержка слабого оборудования Высокий уровень внедрения (installbase) Простота в программировании Отлаженный набор средств
  • 37. User Interface Services Document Services XPS Documents Application Services Controls Data Binding Packaging Services Deployment Services Layout Base Services Core Presentation XPS Viewer Windows Presentation Foundation XAML 2D Audio Imaging Text Accessibility 3D Video Effects Input & Eventing Animation Property System Visual Primitives Composition Engine Windows Media Foundation DWM Media Integration Layer Direct3D Windows Vista Display Driver (LDDM) Input / Eventing System Property Engine .NET Framework 2.0
  • 40. Совместная работа Дизайнера и Разработчика Desktop Web Server Vista Media & RIA Designer Look, behavior, brand,and emotional connection Developer Function, deployment, data,security, operational integrity
  • 41.
  • 44.
  • 45. Языки програмимирования – C#, VB.NET, Python, Ruby, JavaScript/AJAX
  • 46. Интеграция с существующими технологиями – RSS, REST/POX, AJAX/JSON, etc.
  • 48.
  • 49. Введение в WCF Windows Communication Foundation Унифицированный набор средств для построения взаимодействующих сервис-ориентированных систем Границы применимости Процесс (взаимодействие между слоями) Системы (SOA) Интернет (S+S)
  • 50. Готовность для применения Поддержка индустриальных стандартов Веб-сервисов Взаимодействие с COM, COM+/ES, MSMQ, WSE, ASAX Встроенные транспортные подсистемы http/soap, binary tcp/udp… Подсистемы безопасности Авторизация, аутентификация, аудит Поддержка транзакций (в том числе распределенных)
  • 51. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 52. Windows Workflow Foundation Windows Workflow Foundation (WF) технология для определения, выполнения и управления рабочими процессами (англ. workflow) Декларативная модель программирования Может быть использован как для бизнес логики так и для интерфейсной
  • 53. Типы процессов и активности Последовательный процесс (Sequential Workflow) переход от одного шага в другой без возвратов обратно Автомат на состояниях (State-Machine Workflow) — переход из одного состояния в другое, возможны и произвольные возвраты в предыдущие состояния; Процесс управляемый правилами (Rules-driven Workflow)
  • 54. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 55. ADO.NETEntity Framework Реляционная модель данных чужда обьектной Entity Framework – механизм абстракции и трансляции Базируется на LINQ технологии Позволяет избежать ошибок времени выполнения
  • 56. LINQ Language Integrated Query Базирующийся на возможностях C# механизм (лямбда выражения) Linq for Objects Linq for XML Linq for SQL
  • 57. Пример LINQ public void Linq1() {    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };    varlowNums =        from n in numbers        where n < 5        select n;    Console.WriteLine("Numbers < 5:");    foreach (var x in lowNums) {        Console.WriteLine(x);    }}
  • 58. Oшибки времени выполнения SqlQuery query=new SqlQuery("Select * from Customers where DateOfBitrh>‘30’ and custId="+custId); SqlReaderrdr=query.ExecuteReader();
  • 59. LINQ LINQdb db = newLINQdb("Data Source=(local);Initial Catalog=LinqDb");   var q = from c in db.Customers where c.DateOfBitrh.AddYears(35) > DateTime.Noworderbyc.DateOfBirth descending select c; >>Compiler error “DateOfBitrh” variable not declared
  • 60. Внешние системы Интерфейс Сквозные механизмы UI Компоненты Безопасность Операционный менеджмент Коммуникации Потребители Сервисов Процессные Компоненты Сервисы Интерфейс сервисов Типы сообщений Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Хранилище данных Внешние Сервисы
  • 61. Безопасность в .NET Валидация форматов файлов и метаданных Верификация кода Проверка целостности Контроль доступа кода (CAS) Модель безопасности базирующаяся на ролях
  • 62. Декларативный механизм WindowsPrincipalauthenticatedUser = User as WindowsPrincipal; if (authenticatedUser.IsInRole(@"DomainNameanager") ) { //все в порядке } [PrincipalPermissionAttribute(SecurityAction.Demand, Role=@"DOMAINNAMEanagers")] public sealed class OnlyManagersCanCallMe { }
  • 63. Операционный менеджмент Конфигурационные механизмы (System.Configuration) Механизмы диагностики (System.Diagnostics) Средства оценки производительности (Performance Counters) Средства оперативного развертывания (ClickOnce)
  • 64. Внешние системы Интерфейс Сквозные механизмы UI Компоненты ASP.NET Windows Forms WPF Безопасность Операционный менеджмент Коммуникации System.* System.* WCF Потребители Сервисов WCF Процессные Компоненты Windows Workflow Сервисы Интерфейс сервисов Типы сообщений WCF WCF Бизнес Фасад приложения Бизнес процессы Бизнес компоненты Бизнес сущности Windows Workflow Foundation Windows Workflow Activities Entity Framework Данные Компоненты доступа к данным Утилиты/хелперы Сервисные агенты Linq to SQL WCF Хранилище данных Внешние Сервисы
  • 66. Ссылки Обзор .NET msdn.microsoft.com/en-us/library/w0x726c2.aspx ASP.NET www.asp.net WPF windowsclient.net Silverlightwww.silverlight.net Windows Communication msdn.microsoft.com/en-us/netframework/aa663324.aspx Windows Workflow msdn.microsoft.com/en-us/netframework/aa663328.aspx
  • 67. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Hinweis der Redaktion

  1. В данном докладе будет рассказано о  современной технологической платформе разработки клиентских и серверных приложений базирующейся на платформе Windows.  Будут затронуты такие вопросы как сценарии применения компонент при разработке решений,  возможности этих компонент, а так же классическая архитектура приложений которая позволяет получить максимальный эффект от этих технологий и компонент. Обзор платформы будет включать такие технологии как.NET Framework 3.5 SP1, Windows Communication Foundation, Windows Workflow Foundation и другие технологии, а также инструментальные средства. Так же, будет затронут важный вопрос о том, что будет с WIN API, COM+ и других технологиях в связи с эволюцией платформы, а так же текущая применимость этих технологий.  Цель доклада – сделать насколько это возможно, емкий обзор прикладной платформы и обозначить границы ее применимости.
  2. UIкомпоненты предоставляют пользователям интерактивный доступ к приложению – UI процессные компоненты – логика интерфейса может быть сложной и описываться какими либо процессами – удобно когда контроль этой логики автоматизируется отдельными средствами и не с с помощью кодирования. Это облегчает написание программ и позволяет уменьшить усилия. Пример – несколько интерфейсных элементов информация в которых зависит выбранных пунктов этих же элементов – Страна/Город/Улица – и дополнительное поле которое может быть активным или не активным в зависимости от типа улицы. Можно закодировать эту реакцию с помощью условий а можно описать правилами
  3. Потребители сервисов – внешние системы которые могут запрашивать сервисы у приложенияТипы сообщений – при обмене данных между слоями может быть использован механизм типизации сообщений для установления связей в виде контрактов
  4. Бизнес процессы очень важны – важно также чтобы они были декларативны и не жестко запрограммированны
  5. Бизнес процессы не отделимы от приложения
  6. Упомянуть логгинг