Учебный курс Технологии и средства разработки...

30
Учебный курс Технологии и средства разработки корпоративных систем Лекция 4 Особенности платформы .NET для разработки корпоративных приложений Лекции читает кандидат технических наук, доцент Зыков Сергей Викторович

Upload: gary-ashley

Post on 03-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Учебный курс Технологии и средства разработки корпоративных систем. Лекция 4 Особенности платформы . NET для разработки корпоративных приложений Лекции читает кандидат технических наук, доцент Зыков Сергей Викторович. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Учебный курс Технологии и средства разработки корпоративных систем

Учебный курс

Технологии и средства разработки корпоративных систем

Лекция 4

Особенности платформы .NET для разработки корпоративных приложений

Лекции читает

кандидат технических наук, доцент

Зыков Сергей Викторович

Page 2: Учебный курс Технологии и средства разработки корпоративных систем

2

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Содержание лекции1. .NET как концепция2. .NET как вычислительная модель3. .NET как технологическая платформа4. .NET как инструментальное средство5. Common Language Runtime и .NET Framework6. Система типов Common Type System в .NET7. .NET – «ПО как сервис» (веб-сервисы, Remoting и др.)8. Компонентное программирование в .NET9. Windows Forms и Web Forms10. Преимущества и недостатки .NET11. Библиография

Page 3: Учебный курс Технологии и средства разработки корпоративных систем

3

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Что такое .NET ?

.NET включает следующие основные аспекты :

1. Идеология проектирования и реализации программного обеспечения

2. Модель эффективной поддержки жизненного цикла прикладных систем

3. Унифицированная, интегрированная технологическая платформа

4. Современный, удобный в использовании, безопасный инструментарий для создания, размещения и поддержки программного обеспечения

Page 4: Учебный курс Технологии и средства разработки корпоративных систем

4

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

.NET как идеология (vision)

1. Легкость развертывания приложений в глобальной среде Интернет

2. Экономичная разработка программного обеспечения

3. «Бесшовная», гибкая интеграция программных продуктов и аппаратных ресурсов

4. Предоставление программного обеспечения как сервиса

5. Новый уровень безопасности и удобства использования

Page 5: Учебный курс Технологии и средства разработки корпоративных систем

5

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

.NET как вычислительная модель

1. Компонентный подход как развитие объектно-ориентированной модели

2. Универсальная система типизации: «всякая сущность есть объект»; унификация данных и метаданных

3. Строго иерархическая организация кода, пространств имен и классов

4. Универсальный интерфейс .NET Framework (включая поддержку различных подходов к программированию)

5. Высокая вариативность экземпляров реализации (в частности, на основе веб-сервисов)

Page 6: Учебный курс Технологии и средства разработки корпоративных систем

6

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

.NET как технологическая платформа

1. Многоязыковая поддержка (десятки языков программирования)

2. Использование технологии веб-сервисов для обеспечения интероперабельности и масштабируемости в глобальной сетевой среде

3. Унификация доступа к библиотекам API-интерфейса независимо от языка и программной модели

4. Соответствие современным технологическим стандартам

Page 7: Учебный курс Технологии и средства разработки корпоративных систем

7

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

.NET - универсальное инструментальное средство

1. Поддержка многоязыковой среды CLR (Common Language Runtime)

2. Возможность создавать компоненты проекта в единой среде на наиболее подходящем языке программирования

3. Доступность всех средств .NET для каждого из широкого спектра языков программирования

4. Сервисные возможности для разработчиков, (отладка, анализ кода, …) одинаковы для всех языков

5. Возможность облегченной самостоятельной разработки транслятора для любого языка программирования (Microsoft – VB, C#, … другие – APL, COBOL, Eiffel, Fortran, Haskell, SML, Perl, Python, Scheme, Smalltalk, …)

Page 8: Учебный курс Технологии и средства разработки корпоративных систем

8

Common Language Specification (CLS)

Common Language Runtime (CLR)

SML C# VB

ASP.NET: Веб-сервисы и веб-формы

C++ …

ФормыWindows

Базовые классы .NET Framework

ADO.NET: данные и XML

Visu

al Stu

dio.N

ET

Архитектурная схема .NET Framework и Visual Studio.NET

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 9: Учебный курс Технологии и средства разработки корпоративных систем

9

Исходный текст

Исходный текст

SML, C#, C++, VB или другой ЯП для .NET

csc.exe или

vbc.exe

Компилятор СборкаСборка

DLL илиEXE

Схема компиляции в Common Language Runtime

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 10: Учебный курс Технологии и средства разработки корпоративных систем

10

Схема выполнения CLR

SMLИсходный

текстКомпилятор

C++C#

Сборка СборкаСборка

Сервисы операционной системы

MSIL

JIT-компилятор для Common Language Runtime

Компилятор Компилятор

«Родной»код

Управляе-мый код

Управляе-мый код

Управляе-мый код

Неуправляе-мый код

CLR Services

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 11: Учебный курс Технологии и средства разработки корпоративных систем

11

CLR: Основные возможности

• поддержка стандартных типов и правил создания новых типов; • межъязыковая интеграция

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

другом ЯП;• ….

• единый набор библиотек классов для всех поддерживаемых ЯП; • самоописываемые компоненты – не требуют дополнительных

файлов (IDL, TLB, Proxy/Stub и т.п.); • поддержка версий компонент и сборок кода;• сервисы безопасности (запрет неавторизованного доступа к

ресурсам для пользователей – role-based security, кода – code-based security и др.).

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 12: Учебный курс Технологии и средства разработки корпоративных систем

12

Универсальная система типизации (UTS)

Тип

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Простые типы Enum Struct Class Interface Array Delegateboolchar

sbyteshortint

long

byteushortuint

ulong

floatdoubledecimal

Типы, определяемые пользователем

Типы-значения Типы-ссылки Указатели

- ISA-иерархия

Page 13: Учебный курс Технологии и средства разработки корпоративных систем

13

Архитектура .NET – «сборки» кода

Сборка кода (assembly) — группа ресурсов, типов и метаданные, описывающие эти ресурсы и типы.

Особенности:• распространяется и реализуется как единое целое • метаданные сборки содержат информацию о

зависимостях между ресурсами, версиях и т.п. • сборка характеризуется номером версии (последняя,

специфичная, и т.п.)

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 14: Учебный курс Технологии и средства разработки корпоративных систем

14

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

Архитектура .NET – уровень сервисов

ИНТУИТ, 2009

Win Forms

Сервисы

Системные сервисы

Web forms Web Services

ASP+

Base Data Dеbug ….

• Принцип .NET –

«ПО как сервис»

• Следующий уровень

арх-ры – уровень сервисов

• Сервисы доступны

на уровне классов любого

ЯП для .NET.

Page 15: Учебный курс Технологии и средства разработки корпоративных систем

15

Арх-ра .NET – CLR, сервисы, компоненты• CLR располагается над сервисами ОС (Windows CE,

Windows ME, Windows 2000, Windows .NET) • Системные сервисы - располагаются над CLR (доступ –

через библиотеки классов):– доступ к функциям ОС– управление данными– отладка – другие сервисы и т.п.

• Выше – компоненты и сервисы для разработки:– Web-узлов – Web-сервисов– пользовательских интерфейсов (GUI)

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 16: Учебный курс Технологии и средства разработки корпоративных систем

16

Платформа .NET – Виды Интернет-приложений:

• Web-приложения – архитектура «клиент-сервер» с доступом пользователей к данным через Web-браузер (технология ASP .NET)

• "Распределенные" приложения – на основе иных механизмов удаленного взаимодействия компонент:

– XML Web Services – на основе открытых стандартов – .NET Remoting – на основе внутренних протоколов

Microsoft

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 17: Учебный курс Технологии и средства разработки корпоративных систем

17

.NET – виды базовых классов для сервисов: • доступ к сервисам ОС (Windows CE, ME, 2000,.NET) • доступ к графическим функциям (двумерная графика,

обработка изображений, шрифты, в т.ч. технология ClearType, интеграция с GDI и DirectX)

• сетевые функции• управление потоками• глобализация• криптография • доступ к данным (библиотека классов ADO+ и OLE DB-

драйверы)• классы для средств разработки (отладка, трассировка,

управление ресурсами, компиляция, установка ПО, протоколирование событий,…)

• другие классы (в т.ч. поддержка протокола SOAP)

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 18: Учебный курс Технологии и средства разработки корпоративных систем

18

Платформа .NET – уровень Windows FormsНазначение – обеспечение разработки традиционных

Windows-приложений на основе сервисов Microsoft .NET.

Особенности разработки – унификация доступа к:

• библиотекам классов

• механизмам распространения сервисов

• механизмам поддержки версий

• сервисам безопасности.

Вывод: создание Windows-приложений в архитектуре Microsoft .NET дает разработчикам существенные преимущества по сравнению с традиционным API-ориентированным подходом.

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 19: Учебный курс Технологии и средства разработки корпоративных систем

19

Платформа .NET – уровень Web Forms (1)Назначение: Основа Web-сервисов и Web-приложений в

архитектуре Microsoft .NET

Особенность:

• Программная модель основана на ASP+ — новом поколении активных серверных страниц, (эволюция технологии ASP –более 1 млн. разработчиков)

Идея веб-форм:

• (из Visual Basic 6): отделение логики Web-приложения от интерфейса (за счет объединения в рамках формы ASP- и HTML-кода)

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 20: Учебный курс Технологии и средства разработки корпоративных систем

20

Платформа .NET – уровень Web Forms (2)Преимущества:

• более строгая структурированность приложений;

• широкий спектр (серверных) интерфейсных элементов

• простая и мощная объектная модель

• легкость разработки (и масштабирования) Web-приложений

Основное средство для разработки приложений и сервисов в архитектуре .NET — Microsoft Visual Studio .NET. (современная версия Microsoft Visual Studio)

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 21: Учебный курс Технологии и средства разработки корпоративных систем

21

Веб-сервисы в .NET (1)

Веб-форма

.NET Framework

Windows

Веб-сервис

Веб-сервисы.NET

Внутреннийвеб-сервис

Сторонние веб-сервисы

Корпоративные сервисы .NET

Клиенты Приложения

Протоколы: HTTP,HTML, XML, SOAP, UDDI

Инстр. средства:Visual Studio.NET,

Notepad

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 22: Учебный курс Технологии и средства разработки корпоративных систем

22

Веб-сервисы в .NET (2)

1. Программируемые компоненты приложений, доступные посредством стандартных Интернет-протоколов

2. Центральная часть архитектуры .NET

3. Распределяют функциональность по глобальной сети

4. Строятся на существующих и развивающихся стандартах: HTTP, XML, SOAP, UDDI, WSDL

и др.

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 23: Учебный курс Технологии и средства разработки корпоративных систем

23

Компонентное программирование в .NET (1)

• Компоненты – это:

– независимые повторно используемые и тиражируемые модули;

– в целом более крупные, чем объект (объекты – конструкции уровня ЯП);

– могут содержать множественные классы;

– независимы от языка реализации.

• В общем случае, разработчик и пользователь компонента территориально разделены и пользуются разными языками в единой среде.

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 24: Учебный курс Технологии и средства разработки корпоративных систем

24

Компонентное программирование в .NET (2)

• Компонентная объектная модель (COM):– основной стандарт Microsoft для компонент;– содержит протокол для инициализации и

использования компонентов внутри одного процесса, между процессами или между компьютерами;

– основа для ActiveX, OLE и многих других технологий;– поддерживается в Visual Basic, C++, .NET и др.

• Модель Java Beans:– основной стандарт Sun Microsystems для компонент;– зависима от языка реализации.

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 25: Учебный курс Технологии и средства разработки корпоративных систем

25

Сравнение компонентно- и объектно-ориентированного программирования

1. Основные понятия объектно-ориентированного программирования:

• класс (class);• интерфейс (interface)

2. Основные понятия компонентно-ориентированного программирования:

• свойство (property);• событие (event);• сборка (assembly)

Корпоративные системы Лекция 7: Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 26: Учебный курс Технологии и средства разработки корпоративных систем

26

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

.NET – наиболее существенные недостатки1. Высокие требования к аппаратному обеспечению

(минимум 256M RAM, 10G HDD для работы с Microsoft Visual Studio .NET)

2. Сложности работы с некоммерческими релизами программного обеспечения (некоторая неустойчивость, отсутствие полномасштабной документации);

3. Поддержка ряда теоретически интересных и практически полезных языков программирвоания не в полном объеме (SML для Visual Studio .NET – в процессе реализации);

4. Инструментарий .NET (и компиляторы для языков программирования) не ратифицированы по международным стандартам.

Page 27: Учебный курс Технологии и средства разработки корпоративных систем

27

Платформа .NET – выводы (1)1. Стратегическая идеология и технологическая платформа

Microsoft на ближайшее десятилетие2. Несомненное качественное превосходство над аналогами

(Borland Delphi, Microsoft Visual Studio и др.) за счет:• интероперабельности и межъязыкового

взаимодействия;• многоуровневой безопасности; • интеграции с веб-сервисами;• облегчения разворачивания и использования.

3. Некоторая незавершенность решения для широкого коммерческого использования в силу концептуальной новизны и грандиозности проекта.

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 28: Учебный курс Технологии и средства разработки корпоративных систем

28

Платформа .NET – выводы (2)

1. .NET – развитие платформы Windows

2. .NET – фундамент для создания корпоративных приложений нового поколения

3. основа. NET – компонентная интеграция приложений на уровне сервисов, взаимодействующих посредством языка XML и протокола SOAP

4. стратегическая цель .NET – создание инфраструктуры для разработки и функционирования распределенных приложений на базе Интернет-стандартов

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 29: Учебный курс Технологии и средства разработки корпоративных систем

29

Библиография

1. http://msdn.microsoft.com/net2. Nathan A. .NET and COM: The Complete Interoperability

Guide. Sams, 2002, 1608 pp. 3. Box D. Essential .NET, Vol.1: The Common Language

Runtime. Addison Wesley, 2002, 432 pp.4. Grimes F. Microsoft .NET for Programmers. Manning

Publications, 2002, 386 pp. 5. J. Richter. Applied Microsoft .NET Framework

Programming. Microsoft Press, 2002, 556 pp.6. Зыков С.В. Проектирование корпоративных порталов.–

М.: МФТИ, 2005.– 258 с.

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений

ИНТУИТ, 2009

Page 30: Учебный курс Технологии и средства разработки корпоративных систем

30

ИНТУИТ, 2009

Благодарю за внимание!

Вопросы?

• http://zykov.altweb.ru

[email protected]

[email protected]

Корпоративные системы Особенности платформы .NET для разработки корпоративных приложений