Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемnakov
2 Microsoft.NET Framework Кратък обзор Светлин Наков Консултант по разработка на софтуер Софийски УниверситетСв. Климент Охридски Хоноруван преподавател по компютърни науки и софтуерни технологии
3 Визията на Microsoft за.NET ERP & Billing Customer Service Sales Потребители -На всяко устройство -Навсякъде -По всяко време XML Web Услуги Интеграция на бизнес процесите и приложенията Back Office Хетерогенна инфраструктура от сървъри Scheduling Authentication Notification
4 .NET Framework Модел за програмиране за.NET Модел за програмиране за.NET Платформа за изпълнение на.NET код в управлявана среда Платформа за изпълнение на.NET код в управлявана среда Удобна среда за разработка и изпълнение на мрежови приложения и Web услуги Удобна среда за разработка и изпълнение на мрежови приложения и Web услуги Програмно API и единен framework, независим от езиците за програмиране Програмно API и единен framework, независим от езиците за програмиране Кодът работи на различни платформи (Windows, Linux, FreeBSD, …) Кодът работи на различни платформи (Windows, Linux, FreeBSD, …) Модел за програмиране за.NET Модел за програмиране за.NET Платформа за изпълнение на.NET код в управлявана среда Платформа за изпълнение на.NET код в управлявана среда Удобна среда за разработка и изпълнение на мрежови приложения и Web услуги Удобна среда за разработка и изпълнение на мрежови приложения и Web услуги Програмно API и единен framework, независим от езиците за програмиране Програмно API и единен framework, независим от езиците за програмиране Кодът работи на различни платформи (Windows, Linux, FreeBSD, …) Кодът работи на различни платформи (Windows, Linux, FreeBSD, …)
5 Сърцето на.NET Framework: FCL & CLR Common Language Runtime Common Language Runtime Управление на паметта (garbage collection) Управление на паметта (garbage collection) Интеграция на различни езици Интеграция на различни езици Поддържа множество версии за компонентите (т. нар. assemblies) – няма вече конфликти Поддържа множество версии за компонентите (т. нар. assemblies) – няма вече конфликти Интегрирана сигурност Интегрирана сигурност Framework Class Library Framework Class Library Предоставя основната функционалност за разработка: Предоставя основната функционалност за разработка: ASP.NET, Web Services, ADO.NET, Windows Forms, IO, XML,...
6 .NET Framework Common Language Runtime Operating System Common Language Runtime CLR управлява процеса на изпълнение на кода CLR управлява процеса на изпълнение на кода Управлява паметта, конкурентността,... Управлява паметта, конкурентността,... Code-based security Code-based security Role-based security Role-based security
7 .NET Framework Base Class Library Operating System Common Language Runtime.NET Framework (Base Class Library) Богата обектно-ориентирана библиотека от преизползваеми типове Богата обектно-ориентирана библиотека от преизползваеми типове Колекции, вход-изход, работа със символни низове, … Колекции, вход-изход, работа със символни низове, …
8 .NET Framework Data Access Layer Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML Достъп до релационни бази данни Достъп до релационни бази данни Disconnected модел на данните Disconnected модел на данните Работа с XML Работа с XML
9 .NET Framework ASP.NET & Windows Forms Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Потребителски интерфейс за приложенията – Web-базиран, Windows GUI, Web услуги, … Потребителски интерфейс за приложенията – Web-базиран, Windows GUI, Web услуги, …
10 .NET Framework Programming Languages Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms C++C#VB.NETPerlJ#… Използвате любимия си език! Използвате любимия си език!
11 .NET Framework Common Language Specification Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification C++C#VB.NETPerlJ#…
12 .NET Framework Visual Studio.NET Operating System Common Language Runtime.NET Framework (Base Class Library) ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification C++C#VB.NETPerlJ#… Visual Studio.NET
13 Поддръжка на много езици IL (MSIL or CIL) – Intermediate Language IL (MSIL or CIL) – Intermediate Language Език от ниско ниво (машинен език), като асемблер, но обектно-ориентиран Език от ниско ниво (машинен език), като асемблер, но обектно-ориентиран CTS – система от типове, вградена в CLR CTS – система от типове, вградена в CLR Разнообразни типове (int, float, string, …) Разнообразни типове (int, float, string, …) И стандартни операции над тези типове И стандартни операции над тези типове Два вида: Value types и Reference types Два вида: Value types и Reference types CLS – множество от спецификации, които трябва да се спазват от всички езици и библиотеки CLS – множество от спецификации, които трябва да се спазват от всички езици и библиотеки Така се осигурява възможността за взаимодействие между различните езици Така се осигурява възможността за взаимодействие между различните езици
14 Примерна програма на MSIL.method private hidebysig static void Main() cil managed {.entrypoint.entrypoint // Code size 11 (0xb) // Code size 11 (0xb).maxstack 8.maxstack 8 IL_0000: ldstr "Hello, world!" IL_0000: ldstr "Hello, world!" IL_0005: call void [mscorlib]System.Console::WriteLine(string) IL_0005: call void [mscorlib]System.Console::WriteLine(string) IL_000a: ret IL_000a: ret } // end of method HelloWorld::Main
15 .NET езиците Езици, предоставени от Microsoft Езици, предоставени от Microsoft C++, C#, J#, VB.NET, JScript C++, C#, J#, VB.NET, JScript Езици от трети доставчици Езици от трети доставчици Perl, Python, Pascal, APL, COBOL, Eiffel, Haskell, ML, Oberon, Scheme, Smalltalk… Perl, Python, Pascal, APL, COBOL, Eiffel, Haskell, ML, Oberon, Scheme, Smalltalk… Смесване на използваните езици Смесване на използваните езици Междуезиково наследяване на типове и управление на изключения Междуезиково наследяване на типове и управление на изключения Един проект може да съдържа код на различни езици Един проект може да съдържа код на различни езици Интеграцията е вградена, а не сглобена Интеграцията е вградена, а не сглобена Няма допълнителни особености или други API за учене Няма допълнителни особености или други API за учене
16 Езикът C# Смесица между C++, Java и Delphi Смесица между C++, Java и Delphi Компонентно-ориентиранo програмиране Компонентно-ориентиранo програмиране Свойства, методи, събития Свойства, методи, събития Атрибути, XML-базирана документация Атрибути, XML-базирана документация Всичко накуп, без header файлове, IDL и т.н. Всичко накуп, без header файлове, IDL и т.н. Може да се ползва в Web-приложения Може да се ползва в Web-приложения Всичко е обект! Всичко е обект! Примитивните типове са обекти, напр. 5.ToString() е валидно извикване Примитивните типове са обекти, напр. 5.ToString() е валидно извикване Единна система типове = леснота за работа Единна система типове = леснота за работа Добра разширяемост и възможност за преизползване Добра разширяемост и възможност за преизползване
17 Езикът C# – пример using System; class HelloWorld { public static void main() { Console.WriteLine(Hello, world!); }}
18 Компилация Изпълнение JIT компилатор машинен код MSIL код метаданни изходен код езиков компилатор Нарича се assembly (.EXE или.DLL файл) Нарича се assembly (.EXE или.DLL файл) - Когато даден метод се извика за първи път Компилация и изпълнение - Прекомпилация при инсталиране
19 VS.NET – Единна среда за разработка – единни умения От Visual Studio.NET можете: От Visual Studio.NET можете: Да пишете код Да пишете код Да рисувате потребителски интерфейс Да рисувате потребителски интерфейс Да разглеждате документацията Да разглеждате документацията Да изпълнявате и тествате Да изпълнявате и тествате Да дебъгвате Да дебъгвате Единна среда за всички езици Единна среда за всички езици Единна среда за всички платформи Единна среда за всички платформи Единна среда за всички технологии Единна среда за всички технологии
20 Visual Studio.NET
21 .NET Framework Library Base Class Library ADO.NET и XML Web Forms, Web Services, Mobile Internet Toolkit WindowsForms ASP.NET
22 System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization System.Data Design ADO SQLTypes SQL System.Xml XPath XSLT Serialization.NET Framework – пакети System.Web ConfigurationSessionState CachingSecurity ServicesUI HtmlControls WebControls Description Discovery Protocols System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel
23 Пакетите от Base Class Library System Threading Text ServiceProcess Security Resources Reflection Net IO Globalization Diagnostics Configuration Collections Runtime Serialization Remoting InteropServices
24 Base Class Library Типове данни, конвертиране, форматиране Типове данни, конвертиране, форматиране Колекции: ArrayList, Hashtable,... Колекции: ArrayList, Hashtable,... Интернационализация: култури, сортиране Интернационализация: култури, сортиране I/O: Бинарни и текстови потоци, файлове,... I/O: Бинарни и текстови потоци, файлове,... Мрежово програмиране: TCP/IP, HTTP,... Мрежово програмиране: TCP/IP, HTTP,... Reflection: метаданни и създаване на MSIL Reflection: метаданни и създаване на MSIL Сигурност: Криптография, права за достъп Сигурност: Криптография, права за достъп Текст: Кодирания, регулярни изрази,... Текст: Кодирания, регулярни изрази,... Remoting и Serialization: отдалечено извикване Remoting и Serialization: отдалечено извикване Многонишковост и синхронизация Многонишковост и синхронизация
25 Пакетите Data и XML System.Data SQLTypes SQLClient Common OleDb System.Xml Serialization XPath XSLT
26 ADO.NET и XML ADO.NET приема всякакви типове данни ADO.NET приема всякакви типове данни XML (йерархични), релационни,... XML (йерархични), релационни,... Мощно кеширане в паметта (DataSet) Мощно кеширане в паметта (DataSet) DataSet може да съдържа различни обекти: таблици, изгледи, релации, constraints,... DataSet може да съдържа различни обекти: таблици, изгледи, релации, constraints,... Лек, stateless, disconnected модел Лек, stateless, disconnected модел Вградено поддържа релационен и XML достъп Вградено поддържа релационен и XML достъп Високоскоростен поточно-ориентиран достъп до данните Високоскоростен поточно-ориентиран достъп до данните Сериозна поддръжка на XML: Сериозна поддръжка на XML: W3C DOM, XSL/T, XPath и XSchema W3C DOM, XSL/T, XPath и XSchema
27 VS.NET – DataSet редактор
28 Пакетите от Windows Forms System.Drawing Drawing2D Imaging Printing Text System.Windows.Forms DesignComponentModel
29 Windows Forms Windows Forms е framework за създаване на приложения с прозоречно-базиран графичен потребителски интерфейс RAD (Rapid Application Development) Component-based Event-driven Богат набор от контроли Data-aware компоненти Поддръжка на печатане Вградена поддръжка на Unicode Позволява наследяване на потребителски интерфейс
30 VS.NET – Windows Forms редактор
31 Demo 1 Създаване на просто приложение за достъп до база от данни чрез: Създаване на просто приложение за достъп до база от данни чрез: Windows Forms Windows Forms ADO.NET ADO.NET MS SQL Server MS SQL Server Visual Studio.NET Visual Studio.NET
32 DataGrid DataSetDatabaseMicrosoft SQL Server SqlConnection SqlDataAdapter Fill Update Demo 1 – архитектура Application
33 Пакетите от ASP.NET System.Web Caching Configuration ServicesUI SessionState HtmlControls WebControls Description Discovery Security Protocols
34 Framework за създаване на Web-базирани приложения и Web-услуги на всеки.NET език Framework за създаване на Web-базирани приложения и Web-услуги на всеки.NET език C#, C++, VB.NET, JScript,... C#, C++, VB.NET, JScript,... Поддържа на различни клиенти Поддържа на различни клиенти DHTML, HTML 3.2, WML, мобилни устройства DHTML, HTML 3.2, WML, мобилни устройства ASP.NET Web-приложенията се компилират до assemblies ASP.NET Web-приложенията се компилират до assemblies Кешират се при първо извикване и след това се изпълняват от кеша веднага Кешират се при първо извикване и след това се изпълняват от кеша веднага Има разделяне на кода от Web-дизайна Има разделяне на кода от Web-дизайна Програмистите и дизайнерите могат да работят независимо Програмистите и дизайнерите могат да работят независимо ASP.NET
35 ASP.NET Богат набор от ASP.NET server контроли Богат набор от ASP.NET server контроли Валидация на данните Валидация на данните Data-bound grids Data-bound grids Event-driven модел за изпълнение Event-driven модел за изпълнение Отлична поддръжка на Web-услуги Отлична поддръжка на Web-услуги Лесно внедряване (deployment) Лесно внедряване (deployment) Висока надеждност Висока надеждност Висока производителност и скалируемост Висока производителност и скалируемост Скалируемо управление на информацията за състоянието (session state management) Скалируемо управление на информацията за състоянието (session state management)
36 VS.NET – Web Forms редактор
37 ASP.NET WebMatrix
38 Demo 2 Създаване на просто Web- базирано приложение за достъп до база данни чрез: Създаване на просто Web- базирано приложение за достъп до база данни чрез: ASP.NET (Web Forms) ASP.NET (Web Forms) ADO.NET ADO.NET MS SQL Server MS SQL Server MS Internet Information Server MS Internet Information Server Visual Studio.NET Visual Studio.NET
39 DataGrid DataSetDatabaseMicrosoft SQL Server SqlConnection SqlDataAdapter Fill Update Demo 2 – архитектура Web Application
40 Web-услуги Web-услугите са програмни компоненти, достъпни отдалечено през Web Web-услугите са програмни компоненти, достъпни отдалечено през Web Използват стандартите HTTP, XML и SOAP Използват стандартите HTTP, XML и SOAP Имат стандартно описание на езика WSDL Имат стандартно описание на езика WSDL Извикват се с лекота от всеки клиент на всяка платформа Извикват се с лекота от всеки клиент на всяка платформа Моделът за изпълнение е заявка-отговор – прилича на компонентно-ориентираното програмиране, но работи през Web Моделът за изпълнение е заявка-отговор – прилича на компонентно-ориентираното програмиране, но работи през Web ASP.NET – лесен програмен модел за разработка на Web-услуги ASP.NET – лесен програмен модел за разработка на Web-услуги Пишем.ASMX файлове с обикновени класове и методи в тях Пишем.ASMX файлове с обикновени класове и методи в тях ASP.NET ги компилира при поискване, генерира им WSDL и създава им тестова страница ASP.NET ги компилира при поискване, генерира им WSDL и създава им тестова страница
41 Web Service – пример на C# ParcelTracker.asmx using System; using System.Web.Services; public class ParcelTrackerWebService { [WebMethod] [WebMethod] public string GetOrderStatus(int orderNumber) public string GetOrderStatus(int orderNumber) { // Implementation here // Implementation here // return some_result; }}
42 Demo 3 Създаване на проста Web-услуга чрез: Създаване на проста Web-услуга чрез: ASP.NET (Web Services) ASP.NET (Web Services) MS Internet Information Server MS Internet Information Server Visual Studio.NET Visual Studio.NET
43 Shared Source CLI (Rotor) Некомерсиална имплементация на CLI, достъпна във вид на сорс-код. Съдържа: Некомерсиална имплементация на CLI, достъпна във вид на сорс-код. Съдържа: Среда за изпълнение на MSIL код (managed execution environment) с JIT-компилатор Среда за изпълнение на MSIL код (managed execution environment) с JIT-компилатор Компилатор за езиците C# и JScript Компилатор за езиците C# и JScript Инструменти за разработка – ilasm, ildasm, cordbg, metainfo, … Инструменти за разработка – ilasm, ildasm, cordbg, metainfo, … Реализирана изцяло на C++ и C# Реализирана изцяло на C++ и C# Компилира се MS Visual Studio.NET Компилира се MS Visual Studio.NET Достъпна за научни изследвания, образователна и учебна дейност Достъпна за научни изследвания, образователна и учебна дейност Работи под FreeBSD, Windows и Mac OS Работи под FreeBSD, Windows и Mac OS
44 .NET Framework – ресурси Web-сайтове: Web-сайтове: Официален сайт на. NET Framework – Официален сайт на. NET Framework – Microsoft.NET Framework Community – Microsoft.NET Framework Community – ASP.NET – ASP.NET – Windows Forms – Windows Forms – OReilly.NET Community Site – OReilly.NET Community Site – Microsoft Patterns and Practices – Microsoft Patterns and Practices – Code Project – Code Project –
45 .NET Framework – Resources Web-сайтове: Web-сайтове: Mono – Open Source.NET Framework – Mono – Open Source.NET Framework – Rotor – MS Shared Source.NET CLI – Rotor – MS Shared Source.NET CLI – Курс по.NET Framework в Софийски Университет – Курс по.NET Framework в Софийски Университет – Нюзгрупи: Нюзгрупи: Нюзгрупата на.NET Framework – news://msnews.microsoft.com/microsoft.public. dotnet.framework Нюзгрупата на.NET Framework – news://msnews.microsoft.com/microsoft.public. dotnet.framework news://msnews.microsoft.com/microsoft.public. dotnet.framework news://msnews.microsoft.com/microsoft.public. dotnet.framework Българската нюзгрупа на Microsoft – news://msnews.microsoft.com/microsoft.public. bg.developer Българската нюзгрупа на Microsoft – news://msnews.microsoft.com/microsoft.public. bg.developer news://msnews.microsoft.com/microsoft.public. bg.developer news://msnews.microsoft.com/microsoft.public. bg.developer
46 Въпроси?
47 Моите въпроси към вас Можем ли да разработваме.NET Framework приложения, който да се изпълняват върху мобилни устройства (мобилни телефони, PDA, handheld, …)? Можем ли да разработваме.NET Framework приложения, който да се изпълняват върху мобилни устройства (мобилни телефони, PDA, handheld, …)? Отговор: Отговор: Microsoft.NET Compact Framework Microsoft.NET Compact Framework Той е стандартна част от Microsoft Visual Studio.NET 2003 Той е стандартна част от Microsoft Visual Studio.NET 2003
48 Как можем да прекомпилираме предварително.NET assemblies за да ускорим изпълнението им? Има ли стандартен инструмент за това? Как можем да прекомпилираме предварително.NET assemblies за да ускорим изпълнението им? Има ли стандартен инструмент за това? Отговор: Отговор: Чрез програмката ngen.exe Чрез програмката ngen.exe Тя е стандартна част от.NET Framework Тя е стандартна част от.NET Framework Моите въпроси към вас
49 MSIL е изключително лесен за декомпилиране. Как можем да защитим нашия.NET код от reverse-engineering атаки? MSIL е изключително лесен за декомпилиране. Как можем да защитим нашия.NET код от reverse-engineering атаки? Отговор: Отговор: Чрез използване на obfuscator за.NET, например Dotfuscator Чрез използване на obfuscator за.NET, например Dotfuscator DotFuscator се разпространява стандартно с Visual Studio.NET DotFuscator се разпространява стандартно с Visual Studio.NET Моите въпроси към вас
50 В един DataSet компонент от ADO.NET може да има различни типове обекти? Един такъв тип обекти са таблиците. Кои са другите? В един DataSet компонент от ADO.NET може да има различни типове обекти? Един такъв тип обекти са таблиците. Кои са другите? Отговор: Отговор: Таблици, View-та, релации и constraints (unique и foreign key) Таблици, View-та, релации и constraints (unique и foreign key) Моите въпроси към вас
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.