SlideShare uma empresa Scribd logo
1 de 28
Особенности платформы .NET для
разработки корпоративных приложений
2
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
Содержание лекции
1. .NET как концепция
2. .NET как вычислительная модель
3. .NET как технологическая платформа
4. .NET как инструментальное средство
5. Common Language Runtime и .NET Framework
6. Система типов Common Type System в .NET
7. .NET – «ПО как сервис» (веб-сервисы, Remoting и др.)
8. Компонентное программирование в .NET
9. Windows Forms и Web Forms
10. Преимущества и недостатки .NET
3
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
Что такое .NET ?
.NET включает следующие основные аспекты :
1. Идеология проектирования и реализации программного
обеспечения
1. Модель эффективной поддержки жизненного цикла
прикладных систем
1. Унифицированная, интегрированная технологическая
платформа
1. Современный, удобный в использовании, безопасный
инструментарий для создания, размещения и поддержки
программного обеспечения
4
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
.NET как идеология (vision)
1. Легкость развертывания приложений в глобальной среде
Интернет
1. Экономичная разработка программного обеспечения
1. «Бесшовная», гибкая интеграция программных продуктов
и аппаратных ресурсов
1. Предоставление программного обеспечения как сервиса
1. Новый уровень безопасности и удобства использования
5
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
.NET как вычислительная модель
1. Компонентный подход как развитие объектно-
ориентированной модели
1. Универсальная система типизации: «всякая сущность
есть объект»; унификация данных и метаданных
1. Строго иерархическая организация кода, пространств
имен и классов
1. Универсальный интерфейс .NET Framework (включая
поддержку различных подходов к программированию)
1. Высокая вариативность экземпляров реализации (в
частности, на основе веб-сервисов)
6
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
.NET как технологическая платформа
1. Многоязыковая поддержка (десятки языков
программирования)
1. Использование технологии веб-сервисов для обеспечения
интероперабельности и масштабируемости в глобальной
сетевой среде
1. Унификация доступа к библиотекам API-интерфейса
независимо от языка и программной модели
1. Соответствие современным технологическим стандартам
7
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
.NET - универсальное инструментальное средство
1. Поддержка многоязыковой среды CLR (Common
Language Runtime)
2. Возможность создавать компоненты проекта в единой
среде на наиболее подходящем языке программирования
3. Доступность всех средств .NET для каждого из широкого
спектра языков программирования
4. Сервисные возможности для разработчиков, (отладка,
анализ кода, …) одинаковы для всех языков
5. Возможность облегченной самостоятельной разработки
транслятора для любого языка программирования
(Microsoft – VB, C#, … другие – APL, COBOL, Eiffel, Fortran,
Haskell, SML, Perl, Python, Scheme, Smalltalk, …)
8
Common Language Specification (CLS)
Common Language Runtime (CLR)
SML C# VB
ASP.NET: Веб-сервисы
и веб-формы
C++ …
Формы
Windows
Базовые классы .NET Framework
ADO.NET: данные и XML
VisualStudio.NET
Архитектурная схема
.NET Framework и Visual Studio.NET
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
9
Исходный
текст
Исходный
текст
SML, C#, C++,
VB или другой
ЯП для .NET
csc.exe
или
vbc.exe
Компилятор СборкаСборка
DLL
или
EXE
Схема компиляции в Common Language Runtime
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
10
Схема выполнения CLR
SML
Исходный
текст
Компилятор
C++C#
Сборка СборкаСборка
Сервисы операционной системы
MSIL
JIT-компилятор для Common Language Runtime
Компилятор Компилятор
«Родной»
код
Управляе-
мый код
Управляе-
мый код
Управляе-
мый код
Неуправляе-
мый код
CLR Services
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
11
CLR: Основные возможности
• поддержка стандартных типов и правил создания новых типов;
• межъязыковая интеграция
• включение в код на одном ЯП классов на другом ЯП;
• обработка исключений из программы на одном ЯП программой на
другом ЯП;
• ….
• единый набор библиотек классов для всех поддерживаемых ЯП;
• самоописываемые компоненты – не требуют дополнительных
файлов (IDL, TLB, Proxy/Stub и т.п.);
• поддержка версий компонент и сборок кода;
• сервисы безопасности (запрет неавторизованного доступа к
ресурсам для пользователей – role-based security, кода – code-
based security и др.).
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
12
Универсальная система типизации (UTS)
Тип
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
Простые типы Enum Struct Class Interface Array Delegate
bool
char
sbyte
short
int
long
byte
ushort
uint
ulong
float
double
decimal
Типы, определяемые пользователем
Типы-значения Типы-ссылки Указатели
- ISA-иерархия
13
Архитектура .NET – «сборки» кода
Сборка кода (assembly) — группа ресурсов, типов и
метаданные, описывающие эти ресурсы и типы.
Особенности:
• распространяется и реализуется как единое целое
• метаданные сборки содержат информацию о
зависимостях между ресурсами, версиях и т.п.
• сборка характеризуется номером версии (последняя,
специфичная, и т.п.)
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
14
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
Архитектура .NET – уровень сервисов
Win Forms
Сервисы
Системные сервисы
Web forms Web
Services
ASP+
Base Data Dеbug ….
• Принцип .NET –
«ПО как сервис»
• Следующий уровень
арх-ры – уровень сервисов
• Сервисы доступны
на уровне классов любого
ЯП для .NET.
15
Арх-ра .NET – CLR, сервисы, компоненты
• CLR располагается над сервисами ОС (Windows CE,
Windows ME, Windows 2000, Windows .NET)
• Системные сервисы - располагаются над CLR (доступ –
через библиотеки классов):
– доступ к функциям ОС
– управление данными
– отладка
– другие сервисы и т.п.
• Выше – компоненты и сервисы для разработки:
– Web-узлов
– Web-сервисов
– пользовательских интерфейсов (GUI)
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
16
Платформа .NET – Виды Интернет-приложений:
• Web-приложения – архитектура «клиент-сервер» с
доступом пользователей к данным через Web-браузер
(технология ASP .NET)
• "Распределенные" приложения – на основе иных
механизмов удаленного взаимодействия компонент:
– XML Web Services – на основе открытых стандартов
– .NET Remoting – на основе внутренних протоколов
Microsoft
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
17
.NET – виды базовых классов для сервисов:
• доступ к сервисам ОС (Windows CE, ME, 2000,.NET)
• доступ к графическим функциям (двумерная графика,
обработка изображений, шрифты, в т.ч. технология
ClearType, интеграция с GDI и DirectX)
• сетевые функции
• управление потоками
• глобализация
• криптография
• доступ к данным (библиотека классов ADO+ и OLE DB-
драйверы)
• классы для средств разработки (отладка, трассировка,
управление ресурсами, компиляция, установка ПО,
протоколирование событий,…)
• другие классы (в т.ч. поддержка протокола SOAP)
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
18
Платформа .NET – уровень Windows Forms
Назначение – обеспечение разработки традиционных
Windows-приложений на основе сервисов Microsoft .NET.
Особенности разработки – унификация доступа к:
• библиотекам классов
• механизмам распространения сервисов
• механизмам поддержки версий
• сервисам безопасности.
Вывод: создание Windows-приложений в архитектуре
Microsoft .NET дает разработчикам существенные
преимущества по сравнению с традиционным API-
ориентированным подходом.
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
19
Платформа .NET – уровень Web Forms (1)
Назначение: Основа Web-сервисов и Web-приложений в
архитектуре Microsoft .NET
Особенность:
• Программная модель основана на ASP+ — новом
поколении активных серверных страниц, (эволюция
технологии ASP –более 1 млн. разработчиков)
Идея веб-форм:
• (из Visual Basic 6): отделение логики Web-приложения от
интерфейса (за счет объединения в рамках формы ASP- и
HTML-кода)
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
20
Платформа .NET – уровень Web Forms (2)
Преимущества:
• более строгая структурированность приложений;
• широкий спектр (серверных) интерфейсных элементов
• простая и мощная объектная модель
• легкость разработки (и масштабирования) Web-
приложений
Основное средство для разработки приложений и сервисов в
архитектуре .NET — Microsoft Visual Studio .NET.
(современная версия Microsoft Visual Studio)
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
21
Веб-сервисы в .NET (1)
Веб-форма
.NET Framework
Windows
Веб-сервис
Веб-сервисы
.NET
Внутренний
веб-сервис
Сторонние
веб-сервисы
Корпоративные
сервисы .NET
Клиенты Приложения
Протоколы: HTTP,
HTML, XML,
SOAP, UDDI
Инстр. средства:
Visual Studio.NET,
Notepad
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
22
Веб-сервисы в .NET (2)
1. Программируемые компоненты приложений,
доступные посредством стандартных Интернет-
протоколов
1. Центральная часть архитектуры .NET
1. Распределяют функциональность по глобальной сети
1. Строятся на существующих и развивающихся
стандартах: HTTP, XML, SOAP, UDDI, WSDL
и др.
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
23
Компонентное программирование в .NET (1)
• Компоненты – это:
– независимые повторно используемые и
тиражируемые модули;
– в целом более крупные, чем объект
(объекты – конструкции уровня ЯП);
– могут содержать множественные классы;
– независимы от языка реализации.
• В общем случае, разработчик и пользователь
компонента территориально разделены и пользуются
разными языками в единой среде.
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
24
Компонентное программирование в .NET (2)
• Компонентная объектная модель (COM):
– основной стандарт Microsoft для компонент;
– содержит протокол для инициализации и
использования компонентов внутри одного процесса,
между процессами или между компьютерами;
– основа для ActiveX, OLE и многих других технологий;
– поддерживается в Visual Basic, C++, .NET и др.
• Модель Java Beans:
– основной стандарт Sun Microsystems для компонент;
– зависима от языка реализации.
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
25
Сравнение компонентно- и
объектно-ориентированного программирования
1. Основные понятия объектно-ориентированного
программирования:
• класс (class);
• интерфейс (interface)
2. Основные понятия компонентно-ориентированного
программирования:
• свойство (property);
• событие (event);
• сборка (assembly)
Корпоративные системы
Лекция 7: Особенности платформы .NET для разработки корпоративных приложений
26
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
.NET – наиболее существенные недостатки
1. Высокие требования к аппаратному обеспечению
(минимум 256M RAM, 10G HDD для работы с Microsoft
Visual Studio .NET)
2. Сложности работы с некоммерческими релизами
программного обеспечения (некоторая неустойчивость,
отсутствие полномасштабной документации);
3. Поддержка ряда теоретически интересных и практически
полезных языков программирвоания не в полном объеме
(SML для Visual Studio .NET – в процессе реализации);
4. Инструментарий .NET (и компиляторы для языков
программирования) не ратифицированы по
международным стандартам.
27
Платформа .NET – выводы (1)
1. Стратегическая идеология и технологическая платформа
Microsoft на ближайшее десятилетие
2. Несомненное качественное превосходство над аналогами
(Borland Delphi, Microsoft Visual Studio и др.) за счет:
• интероперабельности и межъязыкового
взаимодействия;
• многоуровневой безопасности;
• интеграции с веб-сервисами;
• облегчения разворачивания и использования.
1. Некоторая незавершенность решения для широкого
коммерческого использования в силу концептуальной
новизны и грандиозности проекта.
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений
28
Платформа .NET – выводы (2)
1. .NET – развитие платформы Windows
1. .NET – фундамент для создания корпоративных
приложений нового поколения
1. основа. NET – компонентная интеграция приложений на
уровне сервисов, взаимодействующих посредством языка
XML и протокола SOAP
1. стратегическая цель .NET – создание инфраструктуры
для разработки и функционирования распределенных
приложений на базе Интернет-стандартов
Корпоративные системы
Особенности платформы .NET для разработки корпоративных приложений

Mais conteúdo relacionado

Mais procurados

C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.Igor Shkulipa
 
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
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4Dima Dzuba
 
Лилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesЛилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesSQADays_2009_Piter
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Alexander Babich
 
Soa12c launch 4 mft cr
Soa12c launch 4 mft crSoa12c launch 4 mft cr
Soa12c launch 4 mft crVasily Demin
 
Простой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETПростой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETMikhail Shcherbakov
 
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)Vladimir Panov
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUISQALab
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Ilya Kaznacheev
 
Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Dima Dzuba
 
RESTful API: Best practices, versioning, design documentation
RESTful API: Best practices, versioning, design documentationRESTful API: Best practices, versioning, design documentation
RESTful API: Best practices, versioning, design documentationMikhail Shcherbakov
 
Технические особенности Docsvision 5
Технические особенности Docsvision 5Технические особенности Docsvision 5
Технические особенности Docsvision 5Docsvision
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных системDima Dzuba
 
Платформа Docsvision
Платформа DocsvisionПлатформа Docsvision
Платформа DocsvisionDocsvision
 
МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5Dima Dzuba
 
Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseCisco Russia
 

Mais procurados (20)

C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.
 
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
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4
 
Лилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesЛилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web Services
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010
 
Soa12c launch 4 mft cr
Soa12c launch 4 mft crSoa12c launch 4 mft cr
Soa12c launch 4 mft cr
 
Простой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NETПростой и кросс-платформенный WEB-сервер на .NET
Простой и кросс-платформенный WEB-сервер на .NET
 
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
CompanyMedia-Next - Architecture (Vladimir Panov, 26.12.2011)
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUI
 
лр4 uml
лр4 umlлр4 uml
лр4 uml
 
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
Анна Якубенко, Татьяна Лебедева - SAP ERP в качестве backend для HTML5 прилож...
 
Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16
 
RESTful API: Best practices, versioning, design documentation
RESTful API: Best practices, versioning, design documentationRESTful API: Best practices, versioning, design documentation
RESTful API: Best practices, versioning, design documentation
 
Технические особенности Docsvision 5
Технические особенности Docsvision 5Технические особенности Docsvision 5
Технические особенности Docsvision 5
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных систем
 
Платформа Docsvision
Платформа DocsvisionПлатформа Docsvision
Платформа Docsvision
 
Сервлеты
СервлетыСервлеты
Сервлеты
 
МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5
 
Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center Enterprise
 

Destaque (20)

Net framework
Net frameworkNet framework
Net framework
 
базы данных
базы данныхбазы данных
базы данных
 
Язык программирования C#
Язык программирования C#Язык программирования C#
Язык программирования C#
 
Лекция 1. Введение в Android.
Лекция 1. Введение в Android.Лекция 1. Введение в Android.
Лекция 1. Введение в Android.
 
Управление данными (sql)
Управление данными (sql)Управление данными (sql)
Управление данными (sql)
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Puntos notables de un triángulo
Puntos notables de un triánguloPuntos notables de un triángulo
Puntos notables de un triángulo
 
Prml7.5.1
Prml7.5.1Prml7.5.1
Prml7.5.1
 
DIGITAL WATERMARKING USING DIFFERENT CHAOTIC EQUATIONS
DIGITAL WATERMARKING USING DIFFERENT CHAOTIC EQUATIONSDIGITAL WATERMARKING USING DIFFERENT CHAOTIC EQUATIONS
DIGITAL WATERMARKING USING DIFFERENT CHAOTIC EQUATIONS
 
CarnetdevoyagesRail4Kidspdf
CarnetdevoyagesRail4KidspdfCarnetdevoyagesRail4Kidspdf
CarnetdevoyagesRail4Kidspdf
 
Certificates
CertificatesCertificates
Certificates
 
Bullies
BulliesBullies
Bullies
 
Thuốc Trị Bệnh Khớp
Thuốc Trị Bệnh KhớpThuốc Trị Bệnh Khớp
Thuốc Trị Bệnh Khớp
 
What it's Worth
What it's WorthWhat it's Worth
What it's Worth
 
Natural color serving tray
Natural color serving trayNatural color serving tray
Natural color serving tray
 
позитив
позитивпозитив
позитив
 
Syllabus Assignment
Syllabus AssignmentSyllabus Assignment
Syllabus Assignment
 
3.內湖花市
3.內湖花市3.內湖花市
3.內湖花市
 
Panel discussion
Panel discussionPanel discussion
Panel discussion
 
Acro Book
Acro BookAcro Book
Acro Book
 

Semelhante a 4 особенности платформы microsoft .net для разработки корпоративных систем

Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5Microsoft
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserAndrew Mayorov
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийMATLAB
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLABMATLAB
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NETMedia Gorod
 
Windows Server 2008 новинки
Windows Server 2008   новинкиWindows Server 2008   новинки
Windows Server 2008 новинкиAlexander Babich
 
Краткий обзор основных технологий разработки Web приложений
Краткий обзор основных технологий разработки Web приложенийКраткий обзор основных технологий разработки Web приложений
Краткий обзор основных технологий разработки Web приложенийTatsiana Ramanchik
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPmikhailshurgulaya
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователяKewpaN
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 

Semelhante a 4 особенности платформы microsoft .net для разработки корпоративных систем (20)

Dotnet
DotnetDotnet
Dotnet
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
архитектура .Net
архитектура .Netархитектура .Net
архитектура .Net
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложений
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLAB
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
 
Windows Server 2008 новинки
Windows Server 2008   новинкиWindows Server 2008   новинки
Windows Server 2008 новинки
 
Краткий обзор основных технологий разработки Web приложений
Краткий обзор основных технологий разработки Web приложенийКраткий обзор основных технологий разработки Web приложений
Краткий обзор основных технологий разработки Web приложений
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAP
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)Microsoft Virtualization(Plex)
Microsoft Virtualization(Plex)
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя
 
2IDE~1.PPT
2IDE~1.PPT2IDE~1.PPT
2IDE~1.PPT
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Описание и архитектура TFS 2008
Описание и архитектура TFS 2008Описание и архитектура TFS 2008
Описание и архитектура TFS 2008
 

Mais de KewpaN

14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субд14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субдKewpaN
 
13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субд13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субдKewpaN
 
12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложений12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложенийKewpaN
 
11 платформа microsoft office расширенные возможности
11 платформа microsoft office   расширенные возможности11 платформа microsoft office   расширенные возможности
11 платформа microsoft office расширенные возможностиKewpaN
 
9 структура компонентных приложений
9 структура компонентных приложений9 структура компонентных приложений
9 структура компонентных приложенийKewpaN
 
7 создание веб сервисов
7 создание веб сервисов7 создание веб сервисов
7 создание веб сервисовKewpaN
 
3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложенийKewpaN
 
2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бдKewpaN
 
1 открытые системы. клиент и сервер
1 открытые системы. клиент и сервер1 открытые системы. клиент и сервер
1 открытые системы. клиент и серверKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 

Mais de KewpaN (15)

14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субд14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субд
 
13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субд13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субд
 
12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложений12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложений
 
11 платформа microsoft office расширенные возможности
11 платформа microsoft office   расширенные возможности11 платформа microsoft office   расширенные возможности
11 платформа microsoft office расширенные возможности
 
9 структура компонентных приложений
9 структура компонентных приложений9 структура компонентных приложений
9 структура компонентных приложений
 
7 создание веб сервисов
7 создание веб сервисов7 создание веб сервисов
7 создание веб сервисов
 
3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений
 
2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд
 
1 открытые системы. клиент и сервер
1 открытые системы. клиент и сервер1 открытые системы. клиент и сервер
1 открытые системы. клиент и сервер
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 

4 особенности платформы microsoft .net для разработки корпоративных систем

  • 1. Особенности платформы .NET для разработки корпоративных приложений
  • 2. 2 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений Содержание лекции 1. .NET как концепция 2. .NET как вычислительная модель 3. .NET как технологическая платформа 4. .NET как инструментальное средство 5. Common Language Runtime и .NET Framework 6. Система типов Common Type System в .NET 7. .NET – «ПО как сервис» (веб-сервисы, Remoting и др.) 8. Компонентное программирование в .NET 9. Windows Forms и Web Forms 10. Преимущества и недостатки .NET
  • 3. 3 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений Что такое .NET ? .NET включает следующие основные аспекты : 1. Идеология проектирования и реализации программного обеспечения 1. Модель эффективной поддержки жизненного цикла прикладных систем 1. Унифицированная, интегрированная технологическая платформа 1. Современный, удобный в использовании, безопасный инструментарий для создания, размещения и поддержки программного обеспечения
  • 4. 4 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений .NET как идеология (vision) 1. Легкость развертывания приложений в глобальной среде Интернет 1. Экономичная разработка программного обеспечения 1. «Бесшовная», гибкая интеграция программных продуктов и аппаратных ресурсов 1. Предоставление программного обеспечения как сервиса 1. Новый уровень безопасности и удобства использования
  • 5. 5 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений .NET как вычислительная модель 1. Компонентный подход как развитие объектно- ориентированной модели 1. Универсальная система типизации: «всякая сущность есть объект»; унификация данных и метаданных 1. Строго иерархическая организация кода, пространств имен и классов 1. Универсальный интерфейс .NET Framework (включая поддержку различных подходов к программированию) 1. Высокая вариативность экземпляров реализации (в частности, на основе веб-сервисов)
  • 6. 6 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений .NET как технологическая платформа 1. Многоязыковая поддержка (десятки языков программирования) 1. Использование технологии веб-сервисов для обеспечения интероперабельности и масштабируемости в глобальной сетевой среде 1. Унификация доступа к библиотекам API-интерфейса независимо от языка и программной модели 1. Соответствие современным технологическим стандартам
  • 7. 7 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений .NET - универсальное инструментальное средство 1. Поддержка многоязыковой среды CLR (Common Language Runtime) 2. Возможность создавать компоненты проекта в единой среде на наиболее подходящем языке программирования 3. Доступность всех средств .NET для каждого из широкого спектра языков программирования 4. Сервисные возможности для разработчиков, (отладка, анализ кода, …) одинаковы для всех языков 5. Возможность облегченной самостоятельной разработки транслятора для любого языка программирования (Microsoft – VB, C#, … другие – APL, COBOL, Eiffel, Fortran, Haskell, SML, Perl, Python, Scheme, Smalltalk, …)
  • 8. 8 Common Language Specification (CLS) Common Language Runtime (CLR) SML C# VB ASP.NET: Веб-сервисы и веб-формы C++ … Формы Windows Базовые классы .NET Framework ADO.NET: данные и XML VisualStudio.NET Архитектурная схема .NET Framework и Visual Studio.NET Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 9. 9 Исходный текст Исходный текст SML, C#, C++, VB или другой ЯП для .NET csc.exe или vbc.exe Компилятор СборкаСборка DLL или EXE Схема компиляции в Common Language Runtime Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 10. 10 Схема выполнения CLR SML Исходный текст Компилятор C++C# Сборка СборкаСборка Сервисы операционной системы MSIL JIT-компилятор для Common Language Runtime Компилятор Компилятор «Родной» код Управляе- мый код Управляе- мый код Управляе- мый код Неуправляе- мый код CLR Services Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 11. 11 CLR: Основные возможности • поддержка стандартных типов и правил создания новых типов; • межъязыковая интеграция • включение в код на одном ЯП классов на другом ЯП; • обработка исключений из программы на одном ЯП программой на другом ЯП; • …. • единый набор библиотек классов для всех поддерживаемых ЯП; • самоописываемые компоненты – не требуют дополнительных файлов (IDL, TLB, Proxy/Stub и т.п.); • поддержка версий компонент и сборок кода; • сервисы безопасности (запрет неавторизованного доступа к ресурсам для пользователей – role-based security, кода – code- based security и др.). Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 12. 12 Универсальная система типизации (UTS) Тип Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений Простые типы Enum Struct Class Interface Array Delegate bool char sbyte short int long byte ushort uint ulong float double decimal Типы, определяемые пользователем Типы-значения Типы-ссылки Указатели - ISA-иерархия
  • 13. 13 Архитектура .NET – «сборки» кода Сборка кода (assembly) — группа ресурсов, типов и метаданные, описывающие эти ресурсы и типы. Особенности: • распространяется и реализуется как единое целое • метаданные сборки содержат информацию о зависимостях между ресурсами, версиях и т.п. • сборка характеризуется номером версии (последняя, специфичная, и т.п.) Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 14. 14 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений Архитектура .NET – уровень сервисов Win Forms Сервисы Системные сервисы Web forms Web Services ASP+ Base Data Dеbug …. • Принцип .NET – «ПО как сервис» • Следующий уровень арх-ры – уровень сервисов • Сервисы доступны на уровне классов любого ЯП для .NET.
  • 15. 15 Арх-ра .NET – CLR, сервисы, компоненты • CLR располагается над сервисами ОС (Windows CE, Windows ME, Windows 2000, Windows .NET) • Системные сервисы - располагаются над CLR (доступ – через библиотеки классов): – доступ к функциям ОС – управление данными – отладка – другие сервисы и т.п. • Выше – компоненты и сервисы для разработки: – Web-узлов – Web-сервисов – пользовательских интерфейсов (GUI) Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 16. 16 Платформа .NET – Виды Интернет-приложений: • Web-приложения – архитектура «клиент-сервер» с доступом пользователей к данным через Web-браузер (технология ASP .NET) • "Распределенные" приложения – на основе иных механизмов удаленного взаимодействия компонент: – XML Web Services – на основе открытых стандартов – .NET Remoting – на основе внутренних протоколов Microsoft Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 17. 17 .NET – виды базовых классов для сервисов: • доступ к сервисам ОС (Windows CE, ME, 2000,.NET) • доступ к графическим функциям (двумерная графика, обработка изображений, шрифты, в т.ч. технология ClearType, интеграция с GDI и DirectX) • сетевые функции • управление потоками • глобализация • криптография • доступ к данным (библиотека классов ADO+ и OLE DB- драйверы) • классы для средств разработки (отладка, трассировка, управление ресурсами, компиляция, установка ПО, протоколирование событий,…) • другие классы (в т.ч. поддержка протокола SOAP) Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 18. 18 Платформа .NET – уровень Windows Forms Назначение – обеспечение разработки традиционных Windows-приложений на основе сервисов Microsoft .NET. Особенности разработки – унификация доступа к: • библиотекам классов • механизмам распространения сервисов • механизмам поддержки версий • сервисам безопасности. Вывод: создание Windows-приложений в архитектуре Microsoft .NET дает разработчикам существенные преимущества по сравнению с традиционным API- ориентированным подходом. Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 19. 19 Платформа .NET – уровень Web Forms (1) Назначение: Основа Web-сервисов и Web-приложений в архитектуре Microsoft .NET Особенность: • Программная модель основана на ASP+ — новом поколении активных серверных страниц, (эволюция технологии ASP –более 1 млн. разработчиков) Идея веб-форм: • (из Visual Basic 6): отделение логики Web-приложения от интерфейса (за счет объединения в рамках формы ASP- и HTML-кода) Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 20. 20 Платформа .NET – уровень Web Forms (2) Преимущества: • более строгая структурированность приложений; • широкий спектр (серверных) интерфейсных элементов • простая и мощная объектная модель • легкость разработки (и масштабирования) Web- приложений Основное средство для разработки приложений и сервисов в архитектуре .NET — Microsoft Visual Studio .NET. (современная версия Microsoft Visual Studio) Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 21. 21 Веб-сервисы в .NET (1) Веб-форма .NET Framework Windows Веб-сервис Веб-сервисы .NET Внутренний веб-сервис Сторонние веб-сервисы Корпоративные сервисы .NET Клиенты Приложения Протоколы: HTTP, HTML, XML, SOAP, UDDI Инстр. средства: Visual Studio.NET, Notepad Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 22. 22 Веб-сервисы в .NET (2) 1. Программируемые компоненты приложений, доступные посредством стандартных Интернет- протоколов 1. Центральная часть архитектуры .NET 1. Распределяют функциональность по глобальной сети 1. Строятся на существующих и развивающихся стандартах: HTTP, XML, SOAP, UDDI, WSDL и др. Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 23. 23 Компонентное программирование в .NET (1) • Компоненты – это: – независимые повторно используемые и тиражируемые модули; – в целом более крупные, чем объект (объекты – конструкции уровня ЯП); – могут содержать множественные классы; – независимы от языка реализации. • В общем случае, разработчик и пользователь компонента территориально разделены и пользуются разными языками в единой среде. Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 24. 24 Компонентное программирование в .NET (2) • Компонентная объектная модель (COM): – основной стандарт Microsoft для компонент; – содержит протокол для инициализации и использования компонентов внутри одного процесса, между процессами или между компьютерами; – основа для ActiveX, OLE и многих других технологий; – поддерживается в Visual Basic, C++, .NET и др. • Модель Java Beans: – основной стандарт Sun Microsystems для компонент; – зависима от языка реализации. Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 25. 25 Сравнение компонентно- и объектно-ориентированного программирования 1. Основные понятия объектно-ориентированного программирования: • класс (class); • интерфейс (interface) 2. Основные понятия компонентно-ориентированного программирования: • свойство (property); • событие (event); • сборка (assembly) Корпоративные системы Лекция 7: Особенности платформы .NET для разработки корпоративных приложений
  • 26. 26 Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений .NET – наиболее существенные недостатки 1. Высокие требования к аппаратному обеспечению (минимум 256M RAM, 10G HDD для работы с Microsoft Visual Studio .NET) 2. Сложности работы с некоммерческими релизами программного обеспечения (некоторая неустойчивость, отсутствие полномасштабной документации); 3. Поддержка ряда теоретически интересных и практически полезных языков программирвоания не в полном объеме (SML для Visual Studio .NET – в процессе реализации); 4. Инструментарий .NET (и компиляторы для языков программирования) не ратифицированы по международным стандартам.
  • 27. 27 Платформа .NET – выводы (1) 1. Стратегическая идеология и технологическая платформа Microsoft на ближайшее десятилетие 2. Несомненное качественное превосходство над аналогами (Borland Delphi, Microsoft Visual Studio и др.) за счет: • интероперабельности и межъязыкового взаимодействия; • многоуровневой безопасности; • интеграции с веб-сервисами; • облегчения разворачивания и использования. 1. Некоторая незавершенность решения для широкого коммерческого использования в силу концептуальной новизны и грандиозности проекта. Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений
  • 28. 28 Платформа .NET – выводы (2) 1. .NET – развитие платформы Windows 1. .NET – фундамент для создания корпоративных приложений нового поколения 1. основа. NET – компонентная интеграция приложений на уровне сервисов, взаимодействующих посредством языка XML и протокола SOAP 1. стратегическая цель .NET – создание инфраструктуры для разработки и функционирования распределенных приложений на базе Интернет-стандартов Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений