Код ASP.NET компилируется, а не интерпретируется

СОДЕРЖАНИЕ

1 Основи Internet технологій, використання їх як платформи для WEB-застосувань 2

1.1 Сучасні Інтернет технології побудови систем з архитектурою клієнт-сервер. 2

1.2 Архітектура Web-застосування з базою даних в технології ASP.NET 4

2 Історія компонентних технологій Microsoft. Хронологія розвитку і основні переваги платформи Microsoft .NET. 7

2.1 Історія компонентних технологій Microsoft 7

2.2 Хронологія розвитку платформи Microsoft.NET. 10

3 Архітектура платформи Microsoft .NET. 16

3.1 Архітектура .NET Framework. 19

3.2 Технології платформи Microsoft.NET. 23

3.3 Загальномовне виконуюче середовище Common Language Runtime(CLR) .Схема компіляції .NET-додатків. 28

3.4 Cтруктура CLR-модулів, збірка модулів. 31

3.5 Бібліотека класів .NET Framework Class Library(FCL). Основні простори імен FCL 33

3.6 Особливості та переваги ASP.NET. 35

4 ASP.NET Web Forms. 43

4.1 Модель програмування ASP.NET Web Forms. 43

4.2 Модель зворотного виклику. 50

4.3 Сторінкові директиви в ASP.NET Web Forms. 53

4.4 Серверні елементи управління. 57

4.5 Модель подій та життєвий цикл сторінок. 70

4.6 Збереження стану застосування. 80

4.6.1 Рядок запиту- QueryString. 80

4.6.2 Стан виду ViewState. 81

4.6.3 Стан сеансу - Session. 83

4.6.4 Стан застосування Application. 85

5 Технологія ADO.Net. 87

5.1 Переваги і нововведення ADO.Net. 87

5.2 Типи сховищ даних і рівні моделі постачальників. 89

5.3 Сполучені і роз'єднані оточення в ADO.Net 92

5.4 Підключені та автономні класи і об’єкти. 93

 

1 Основи Internet технологій, використання їх як платформи для WEB-застосувань

1.1 Сучасні Інтернет технології побудови систем з архитектурою клієнт-сервер.

Web-приложения представляют собой особый тип программ, построенных по архитектуре "клиент-сервер". Особенность их заключается в том, что само Web-приложение находится и выполняется на сервере - клиент при этом получает только результаты работы. Работа приложения основывается на получении запросов от пользователя (клиента), их обработке и выдачи результата. Передача запросов и результатов их обработки происходит через Интернет ( рис.1.1).

 

Рисунок 1.1 - Архитектура Web-застосування

 

Отображением результатов запросов, а также приемом данных от клиента и их передачей на сервер обычно занимается специальное приложение — браузер (Internet Expolrer, Mozilla, Opera и т. д.). Как известно, одной из функций браузера является отображение данных, полученных из Интернета, в виде страницы, описанной на языке HTML, следовательно, результат, передаваемый сервером клиенту, должен быть представлен на этом языке.

На стороне сервера Web-приложение выполняется специальным программным обеспечением (Web-сервером), который и принимает запросы клиентов, обрабатывает их, формирует ответ в виде страницы, описанной на языке HTML, и передает его клиенту. Одним из таких Web-серверов является Internet Information Services (IIS) компании Microsoft. Это единственный Web-сервер, который способен выполнять Web-приложения, созданные с использованием технологии ASP.NET.

В процессе обработки запроса пользователя Web-приложение компонует ответ на основе исполнения программного кода, работающего на стороне сервера, Web-формы, страницы HTML, другого содержимого, включая графические файлы. В результате, как уже было сказано, формируется HTML-страница, которая и отправляется клиенту. Получается, что результат работы Web-приложения идентичен результату запроса к традиционному Web-сайту, однако, в отличие от него, Web-приложение генерирует HTML-код в зависимости от запроса пользователя, а не просто передает его клиенту в том виде, в котором этот код хранится в файле на стороне сервера. То есть Web-приложение динамически формирует ответ с помощью исполняемого кода — так называемой исполняемой части.

За счет наличия исполняемой части, Web-приложения способны выполнять практически те же операции, что и обычные Windows-приложения, с тем лишь ограничением, что код исполняется на сервере, в качестве интерфейса системы выступает браузер, а в качестве среды, посредством которой происходит обмен данными, — Интернет. К наиболее типичным операциям, выполняемым Web-приложениями, относятся:

- прием данных от пользователя и сохранение их на сервере;

- выполнение различных действий по запросу пользователя: извлечение данных из базы данных (БД), добавление, удаление, изменение данных в БД, проведение сложных вычислений;

- аутентифицирование пользователя и отображение интерфейса системы, соответствующего данному пользователю;

- отображение постоянно изменяющейся оперативной информации и т. д.

 

Наиболее актуальна и динамично развивается в современных Веб-приложениях сервис-ориентированная архитектура.

Сервис-ориентированная архитектура (SOA, service-oriented architecture) – модульный подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами.

Веб-сервисы – не зависящие от платформы, объектной модели и клиента программные компоненты, которые можно вызывать из клиентских Веб-приложений (а также из самих Веб-сервисов) через основанный на протоколе HTTP и языке XML протокол SOAP. Для описания Веб-сервисов используется XML-подобный язык WSDL, а для организации реестров Веб-сервисов, в которых разработчики и компании могут искать необходимые им сервисы, а также публиковать данные о своих сервисах – интерфейс UDDI.

Сервис-ориентированная архитектура Интернет систем основополагающая в реализации принципов технологии облачных вычислений.

 

1.2 Архітектура Web-застосування з базою даних в технології ASP.NET

ASP.NET — это платформа для создания Web-приложений и Web-сервисов, работающих под управлением IIS. Сегодня существуют другие технологии, позволяющие создавать Web-приложения. К ним относятся, прежде всего, очень популярные сегодня языки PHP и PERL, более старая и менее популярная технология CGI и т. д. Однако ASP.NET отличается от них высокой степенью интеграции с серверными продуктами, а также с инструментами Microsoft для разработки доступа к данным и обеспечения безопасности.

Кроме того, ASP.NET позволяет разрабатывать Web- и Windows-приложения, используя очень похожие технологические цепочки, одинаковые языки программирования, технологии доступа к данным. Более того, базовые языки программирования, с помощью которых сегодня возможна разработка Web-приложений, являются полностью объектно-ориентированными, что делает разработку исполнимой части, а также ее модификацию, обслуживание, отладку и повторное использование гораздо более простым занятием, чем в других технологиях. Существует достаточно большой перечень сильных сторон использования ASP.NET для создания сложных Web-приложений

Архитектура Web-приложения ASP.NET представлена на рисунке 1.2

 

 

Рис. 1.2 - Архітектура Web-застосування ASP.NET

 

ASP.NET функционирует исключительно на серверах Windows, так как требует наличия IIS. Для создания Web-приложений, не требующих IIS, а использующих, например, Web-сервер Apache и работающих на серверах под управлением операционных систем, отличных от Windows, применяются другие технологии.

Важным моментом в понимании архитектуры ASP.NET является тот факт, что она является частью инфраструктуры .NET Framework.

Целью данного курса является изучение одной из технологии создания Web приложения ASP.NET

2 Історія компонентних технологій Microsoft. Хронологія розвитку і основні переваги платформи Microsoft .NET.

2.1 Історія компонентних технологій Microsoft

Рассмотрим историю недавнего прошлого и ключевые технологии. Это следующие:

 

- OLE/COM/ActiveX

- DCOM

- Microsoft Visual Studio 6.0 и COM

- COM+/MTS/Enterprise Services

- Появление Microsoft.NET

 

Технология OLE (Object Linking and Embedding), так изначально называлась технология COM) появилась в начале 90-х. Технология OLE явилась большим шагом навстречу переиспользованию компонентов на уровне бинарного кода и переросла в дальнейшем в COM и ActiveX. Надо сказать, тут Microsoft породила существенную терминологическую путаницу, и разобраться, какая из этих аббревиатур какое понятие означает, довольно сложно. Будем рассматривать все эти три аббревиатуры вместе: OLE/COM/ActiveX, а для краткости называть COM (Component Object Model).

«COM – это метод разработки программных компонентов, небольших двоичных исполняемых файлов, которые предоставляют необходимые сервисы приложениям, операционным системам и другим компонентам. Разработка компонентов COM подобна разработке динамического объектно-ориентированного API. Компоненты COM объединяются друг с другом для создания приложений или систем компонентов. Компоненты можно отключать и менять во время выполнения, без перекомпиляции или перекомпоновки приложения»

С помощью COM появилась возможность переиспользовать готовые объекты, встраивая одни объекты в другие; в частности, хрестоматийный пример, который всегда приводился для объяснения COM, повествовал о том, как встроить таблицу Excel в документ Word. Собственно говоря, отсюда пошло первое название этой технологии, содержащее слово «встраивание» (embedding).

Технология DCOM (Distributed Component Object Model) , распределенная версия COM - появилась вслед за COM, в 1996 году в Windows NT 4.0 Несмотря на то, что с помощью DCOM стало возможным переиспользовать компоненты, находящиеся на других компьютерах, конфигурировать и настраивать приложения, использующие DCOM, было весьма сложно. Кроме того, DCOM использовал механизм RPC, что приводило со сложностями, связанными с файрволами. К минусам можно также отнести отсутствие DCOM на Windows 95/98.

Microsoft Visual Studio 6.0 и COM - вышла в 1998-м году. Она включила в себя IDE для нескольких языков, таких как Visual C++ и Visual Basic. Довольно долго этот пакет являлся рабочим инструментом для разработчиков в мире Microsoft. Поддержка COM была интегрирована в Visual Studio, особенно просто общаться с COM было возможно из Visual Basic. Однако Visual Basic не годится для системного программирования, стандартом де-факто для которого является до сих пор С++. Работа же с COM из Visual C++ была весьма нетривиальной. Вообще, программируя COM-приложения, программист сталкивался со слишком большим количеством технических тонкостей, отвлекающих его от непосредственной задачи. Скажем, различия в системе типов между разными языками, например, индексация массивов и строк, требовали написания специальных конверторов.

Таким образом, несмотря на шаг вперед в интеграции между языками и поддержке этой интеграции в продукте Visual Studio 6.0, у программистов существовали немалые проблемы.

 

Перечислим основные недостатки COM:

- Для программирования COM требовалось быть тонким знатоком ее устройства, в частности, механизмов ручного подсчета ссылок, маршалинга (передачи между границами процессов) сложных типов, различия делегирующего и неделегирующего IUnknown и т.п., что определяло значительную сложность этого процесса.

- Физическая природа контрактов. В модели СОМ контракт компонента является физическим т.е. двоичным контрактом. Следовательно, компонент СОМ предъявляет жесткие требования к межкомпонентным вызовам. Для правильной работы контракта СОМ необходимы точные смещения виртуальной таблицы для каждого метода. Контракт СОМ требует точной дисциплины стека, используемого при вызове методов, точного смещения каждой структуры данных, передаваемой в качестве фактического параметра метода, точной информации о механизме размещения памяти, используемом вызываемым методом, а также точного формата ссылки на объект. В терминах технологии СОМ контракт компонента - это всего лишь протокол формирования кадров стека, полностью лишенный семантики приложения.

- Интенсивное использование реестра.

- Отсутствие общей системы типов - у разных языков разные типы, что приводило к тонким ошибкам, в частности, при работе с объектами С++ из VB приходилось писать код для адаптации некоторых типов.

- По сути, ориентация на С++.

- Отсутствие хорошей среды разработки

 

В конце 96 года появился COM+. Под этой аббревиатурой подразумевалось использование DCOM вместе с MTS (Microsoft Transaction Server). COM+ стал следующим шагом в сторону решения сложных инфраструктурных вопросов. В COM+, построенной на основе COM, появилось автоматическое управление транзакциями, пулы ресурсов и пулы потоков, защита на основе ролей и т.д. Именно в COM+ появилось аспектно-ориентированное программирование.

К недостаткам DCOM и COM+/MTS можно отнести еще большую сложность, чем сложность COM. Вместе с тем COM+ по сути является прародителем .NET. Существенная часть функциональности COM+ перешла в .NET под именем Enterprise Services.

 

2.2 Хронологія розвитку платформи Microsoft.NET

.NET – не только следующий шаг Microsoft в направлении компонентной разработки, но целая платформа, помогающая в борьбе за удешевление разработки по всем фронтам:

- использование языков более высокого уровня: C#, VB.NET;

- использование более мощных инструментов поддержки разработки - современная среда разработки Visual Studio.NET

- увеличение объема переиспользования собственного кода - новая технология компонентной разработки, основанная на метаданных

- увеличение объема использования сторонних библиотек - мощная библиотека классов FCL

 

Хронология событий примерно такая:

Год 2000

CTP (Community Technology Preview)

Visual Studio 7.0 Beta 1

Год 2001

VS Beta 2, Release Candidate 1

Приняты стандарты C# и CLI

 

Хронология событий выпуска последующих версий приведена в таблице 1.1

Перечислим основные преимущества платформы Microsoft.NET перед предыдущими технологиями компании:

- Единая программная модель

- Упрощенная модель программирования

- Автоматическое управление версиями

- Упрощенное развертывание

- Многоплатформенность

- Автоматическое управление ресурсами

- Проверка безопасности типов

- Единая среда разработки

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

- Единая модель обработки ошибок

- Современная модель безопасности

- Интеграция языков программирования

- Стандартизация основных частей .NET

 

Таблица 1.1 – Список версий .NET Framework

Версия CLR Номер версии Дата выхода Visual Studio
1.0 1.0 1.0.3705.0 1 мая 2002 г Visual Studio .NET
1.1 1.1 1.1.4322.573 1 апреля 2003 г Visual Studio .NET 2003
2.0 2.0 2.0.50727.42 11 июля 2005 г Visual Studio 2005
3.0 2.0 3.0.4506.30 6 ноября 2006 г Visual Studio 2005 + расширения
3.5 2.0 3.5.21022.8 9 ноября 2007 г Visual Studio 2008
4.0 4.0.30319.1 12 апреля 2010 г Visual Studio 2010
4.5 4.5.50709.17929 15 августа 2012 г Visual Studio 2012
4.5.1 4.5.50938.18408 17 октября 2013 г Visual Studio 2013
4.5.2 4.5.51209.34209 5 мая 2014 г Visual Studio 2013
4.6 4.6.1038.0 20 июля 2015 г Visual Studio 2015
4.6.1 4.6.23123.0 17 ноября 2015 г Visual Studio 2015 Update 1

 

Версия .NET Framework 3.0 улучшила возможности NET Framework 2.0 добавив 4 новые подсистемы:

- Windows Presentation Foundation (WPF) – новая подсистема интерфейса пользователя и программный интерфейс на основе XML и векторной графики.

- Windows Workflow Foundation (WF) – новая идеология программирования, предлагаемая компанией Microsoft, основанная на бизнес-сущностях и потоках.

- Windows Communication Foundation (WCF) – сервис-ориентированная система обмена сообщениями, которая позволяет программам взаимодействовать локально или удаленно подобно веб-сервисам.

- Windows CardSpace (WCS) – это способ безопасной идентификации пользователей при перемещении между ресурсами Интернета без необходимости повторного ввода имен и паролей.

 

 

Рисунок 1.3 – Нововведения .NET Framework

 

Версия .NET Framework 3.5 предоставила новые возможности технологий из версий 2.0 и 3.0 и дополнительные технологии в виде новых сборок. В .NET Framework 3.5 впервые представлены следующие технологии:

- LINQ;

- новые компиляторы для C#, Visual Basic, C++ и J#;

- ASP.NET AJAX.

 

В .NET Framework 3.5 с пакетом обновления 1 (SP1) входят следующие технологии (рис. 1.3):

- платформа динамических данных ASP.NET;

- ADO.NET Entity Framework;

- поддержка поставщика данных SQL Server 2008;

- поддержка .NET Framework Client Profile.

 

Вышедшая Версия.NET Framework 4.0 получила следующие нововведения (рис.1.4):

- нововведения в CLR, а также в библиотеке классов самой платформы;

- усовершенствования в языках программирования Visual Basic и C#;

- улучшения в моделировании,а также в доступе к данным;

- усовершенствования в ASP.NET;

- улучшения в системе для построения клиентских приложений;

- улучшения в WF(Windows Workflow);

- нововведения в платформе для построения распределенных систем;

- улучшение эффективности параллельного программирования.

 

Основные новые возможности версии.NET Framework 4.5 и нововведения .NET 4.5.1 весьма важны для реализации Microsoft Azure:

- поддержка разработки приложений .NET для магазина Windows;

- поддержка разработки переносимых библиотек классов, в том числе - для Windows Phone и для магазина Windows;

- поддержка больших массивов, более 2 Гб;

- фоновая сборка мусора для серверов;

- фоновая JIT-компиляция для многоядерных процессоров;

 

 

Рис. 1.4 - Нововведения .NET Framework 4.0

 

- улучшенная производительность при извлечении ресурсов приложений;

- новые возможности для параллельных вычислений.

- автоматическая переадресация привязки для сборок, в Visual Studio 2013, при компиляции приложения, ориентированного на .NET Framework 4.5.1, в файл конфигурации приложения можно добавить переадресации привязок, если приложение или его компоненты ссылаются на несколько версий одной и той же сборки. Можно также включить эту функцию для проектов, предназначенных для более старых версий платформы .NET Framework;

- возможность сбора диагностической информации, чтобы помочь разработчикам повысить производительность серверных и облачных приложений;

- возможность явно уплотнять кучу больших объектов во время сборки мусора;

- дополнительные улучшения производительности, например, приостановка приложений ASP.NET, усовершенствования многоядерного JIT и более быстрый запуск приложений после обновления платформы .NET Framework.

 

 

3 Архітектура платформи Microsoft .NET

Microsoft.NET Framework – это платформа для создания, развертывания и запуска web-сервисов и приложений. Она представляет высокопроизводительную, основанную на стандартах, многоязыковую среду, которая позволяет интегрировать существующие приложения с применениями и сервисами следующего поколения, а также решать задачи развёртывания и использования интернет-приложений.

Концепция Microsoft.NET – целостный взгляд на новую эпоху в развитии информационных систем и Интернета, когда самые разные программные приложения доставляются пользователями как сервисы, взаимодействуют между собой в соответствии с конкретными потребностями бизнеса, доступны на самых разных устройствах от высокопроизводительного кластера до мобильного телефона, имеют понятный и полностью адаптирующийся к потребностям каждого пользователя интерфейс. Официальный старт платформы Microsoft.NET состоялся 13 февраля 2002 года. В этот день на грандиозной презентации в Сан-Франциско были представлены рабочие версии двух ключевых элементов платформы:

- операционной среды .NET Framework;

- инструментального набора Visual Studio.NET.

 

Структура и логика работы платформы Microsoft.NET представлена на рисунке 3.1.

На верхнем уровне архитектуры .NET находится совершенно новое средство разработки под названием Visual Studio.NET(VS.NET),которое делает возможным быструю разработку различных приложений и веб-сервисов. VS.NET представляет собой интегрированную среду разработки (Integrated Development Environment, IDE), поддерживающею четыре различных языка и такие средства, как межъязыковая отладка и редактор XML-схем, при этом каждый язык взаимодействует с .NET Framework через общий языковый интерфейс.

 

В центре .NET располагается Microsoft .NET Framework, который фактически представляет собой единую среду исполнения программ и поддержки их разработки, в которой собраны базовые классы для всех языков программирования, реализованные в виде библиотеки ядра System, а также большого числа специализированных библиотек. Над ними располагается набор средств формирования исполняемых модулей различного типа, единый для разных языков.

         
   
 
 
 
   

 

 


Рисунок 3.1- Структурная схема .NET Framework.

 

На нижнем уровне находится собственно операционная система, поверх которой и функционирует Microsoft .NET Framework

С одной стороны, такой механизм позволил достаточно просто подключать к рассматриваемой среде различные языки. В настоящее время о создании таких средств COBOL, FORTRAN, Perl и т.п. объявил целый ряд независимых разработчиков. В тоже время почти у всех этих инструментов есть альтернативные варианты среды, которые работают вне VS.NET и напрямую взаимодействуют с .NET Framework.

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

Microsoft .NET поддерживает не только языковую независимость, но и языковую интеграцию. Это означает, что разработчик может наследовать от классов, обрабатывать исключения и использовать преимущества полиморфизма при одновременной работе с несколькими языками. Платформа .NET Framework предоставляет такую возможность с помощью спецификации CTS (Common Type System — общая система типов), которая полностью описывает все типы данных, поддерживаемые средой выполнения, определяет, как одни типы данных могут взаимодействовать с другими и как они будут представлены в формате метаданных .NET. Например, в .NET любая сущность является объектом какого-нибудь класса, производного от корневого класса System.Object. Спецификация CTS поддерживает такие общие понятия, как классы, делегаты (с поддержкой обратных вызовов), ссылочные и размерные типы.

Важно понимать, что не во всех языках программирования .NET обязательно должны поддерживаться все типы данных, которые определены в CTS. Спецификация CLS (Common Language Specification — общая языковая спецификация) устанавливает основные правила, определяющие законы, которым должны следовать все языки: ключевые слова, типы, примитивные типы, перегрузки методов и т. п. Спецификация CLS определяет минимальные требования, предъявляемые к языку платформы .NET. Компиляторы, удовлетворяющие этой спецификации, создают объекты, способные взаимодействовать друг с другом. Любой язык, соответствующий требованиям CLS, может использовать все возможности библиотеки FCL (Framework Class Library — библиотека классов платформы). CLS позволяет и разработчикам, и поставщикам, и производителям программного обеспечения не выходить за пределы общего набора правил для языков, компиляторов и типов данных.

 

3.1 Архітектура .NET Framework

Платформа .NET Framework является надстройкой над операционной системой, в качестве которой может выступать любая версия Windows.

Собственно .NET Framework состоит из трёх основных частей:

- среда выполнения программ CLR (Common Language Runtime - общеязыковая среда выполнения), в которой выполняются объекты, построенные на этой платформе;

- иерархическое множество унифицированных библиотек классов FCL(Framework Class Labrary) для построения Web-служб и приложений, работающих в Windows и в Интернете;

- набор Framework уровня приложений;

- Отношения архитектурных компонентов платформы .NET Framework с концептуальной точки зрения представлены на рисунке 3.2.

 

Рисунок. 3.2. - Архитектура .NET Framework

Самым важным компонентом платформы .NET Framework является CLR (Common Language Runtime), предоставляющая среду, в которой выполняются программы. Главная ее роль заключается в том, чтобы обнаруживать и загружать типы .NET и производить управление ими в соответствии с полученными командами. CLR включает в себя виртуальную машину, во многих отношениях аналогичную виртуальной машине Java. На верхнем уровне среда активизирует объекты, производит проверку безопасности, размещает объекты в памяти, выполняет их, а также запускает сборщик мусора.

Под сборкой мусора понимается освобождение памяти, занятой объектами, которые стали бесполезными и не используются в дальнейшей работе приложения. В ряде языков программирования (например, C/C++) память освобождает сам программист, в явной форме отдавая команды как на создание, так и на удаление объекта. В этом есть своя логика. Однако в CLR задача сборки мусора и другие вопросы, связанные с использованием памяти решается в нужное время и в нужном месте исполнительной средой, ответственной за выполнение вычислений.

На на рис.3.2. над уровнем CLR находится набор базовых классов платформы, над ним расположены слой классов данных и XML, а также слой классов для создания Web-служб (Web Services), Web- и Windows-приложений (Web Forms и Windows Forms). Собранные воедино, эти классы известны под общим именем FCL (Framework Class Library). Это одна из самых больших библиотек классов в истории программирования. Она открывает доступ к системным функциям, включая и те, что прежде были доступны только через API Windows, а также к прикладным функциям для Web-разработки (ASP.NET), доступа к данным (ADO.NET), обеспечения безопасности и удаленного управления. Имея в своем составе большое количество классов, библиотека FCL способствует быстрой разработке настольных, клиент-серверных и других приложений и Web-служб.

Набор базовых классов платформы — нижний уровень FCL — не только прячет обычные низкоуровневые операции, такие как файловый ввод/вывод, обработка графики и взаимодействие с оборудованием компьютера, но и обеспечивает поддержку большого количества служб, используемых в современных приложениях таких как управление безопасностью, поддержка сетевой связи, управление вычислительными потоками, работа с отражениями и коллекциями и т. д..

Над этим уровнем находится уровень классов, которые расширяют базовые классы с целью обеспечения управления данными и XML. Классы данных позволяют реализовать управление информацией, хранящейся в серверных базах данных. В число этих классов входят классы SQL (Structured Query Language, язык структурированных запросов), дающие программисту возможность обращаться к долговременным хранилищам данных через стандартный интерфейс SQL. Кроме того, набор классов, называемый ADO.NET, позволяет оперировать постоянными данными. Платформа .NET Framework поддерживает также целый ряд классов, позволяющих манипулировать XML-данными и выполнять поиск и преобразования XML.

Базовые классы, классы данных и XML расширяются классами, предназначенными для построения приложений на основе трех различных технологий: Web Services (Web-службы), Web Forms (Web-формы) и Windows Forms (Windows-формы). Web-службы включают в себя ряд классов, поддерживающих разработку облегченных распределяемых компонентов, которые могут работать даже с брандмауэрами и программами трансляции сетевых адресов (NAT). Поскольку Web-службы применяют в качестве базовых протоколов связи стандартные протоколы HTTP и SOAP, эти компоненты поддерживают в киберпространстве подход "Plug & Play".

Инструментальные средства Web Forms и Windows Forms позволяют применять технику RAD (Rapid Application Development — быстрая разработка приложений) для построения Web- и Windows-приложений. Эта техника сводится к перетаскиванию элементов управления с панели инструментов на форму, двойному щелчку по элементу и написанию кода, который обрабатывает события, связанные с этим элементом.

Основные NET- технологии можно представить следующими ключевыми технологиями:

ASP.NET - компонентная версии ASP, называемая ASP.NET, это эволюция ASP в .NET. ASP.NET представляет собой полнофункциональ-ную платформу для создания сложных серверных веб-приложений. Неотъемлемой частью ASP.NET являются технологии Web-Forms и Web-Services. Сегодня ASP.NET пользуется небывалой популярностью, но с выхода первой версии .NET Framework более 12 лет назад появилось совершенно новое направление, составляющее конкуренцию традиционному программированию с использованием ASP.NET, которое получило название ASP.NET MVC

 

Web-Forms ( web-формы) – часть ASP.NET , поддерживающая серверные элементы управления, которые создают пользовательский HTML-интерфейс для программ просмотра и WEB-приложений, включают набор классов, позволяющих быстро разрабатывать веб-приложения с графическим интерфейсом пользователя.

 

Web-сервисы-XML - приложения, исполняющиеся на web-сервере и представляющееся интернет-клиентам набором функций API или web-методов, включают ряд классов, поддерживающих разработку облегченных распределенных компонентов, которые могут быть применены с использованием стандартных Интернет-протоколов в различных WEB-приложениях. XML – расширенный язык разметки. Представляет универсальный способ для описания и обмена структурированной информацией, независимо от приложений и разработчиков, используется для обмена данными между web-сервисами и клиентами.

 

Windows Forms – функциональная библиотека Windows для построения клиентских приложений, которая поддерживает набор классов, позволяющий разрабатывать обычные Windows-приложения, обеспечивая простую разработку графических интерфейсов, общий совместимый интерфейс для многих языков программирования. Набор классов содержится в пространстве имён System.Windows.Forms.

 

ADO.NET - набор средств и слоев , позволяющих приложению легко управлять и взаимодействовать со своим файловым или серверным хранилищем данных. ADO.NET – естественное развитие ADO. ADO(Active X Data Objects)- механизм доступа к БД, на платформах Microsoft, представляет собой набор COM – объектов, доступ к данным которых обеспечивают OLE-DB-провайдеры. ADO.NET снимает ограничения на обмен данными, используя XML в качестве формата.

3.2 Технології платформи Microsoft.NET

Платформа .NET Framework является мощным инструментом для разработчика, поскольку содержит большое обилие технологий для создания приложений.При этом, важным достоинством .NET Framework является то, что функциональность библиотеки базовых классов доступна во всех типах приложений.

В целом, все приложения можно разделить на несколько типов:

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

- веб-приложения - приложения, которые работают в рамках веб-сервера и доступны пользователю через браузер в рамках протокола HTTP/HTTPS;

- веб-приложения с богатым пользовательским интерфейсом - приложения, которые доставляются пользователю по протоколу HTTP/HTTPS в рамках браузера и исполняются на клиентской стороне;

- веб-сервисы - программный код, который выполняется на стороне сервера и может быть вызван с клиента для получения каких-либо данных или выполнения операции;

- мобильные приложения - приложения, которые выполняются на мобильных устройствах.

 

Для каждого из приведенных типов приложений в составе .NET Framework существуют соответствующие технологии, которые позволяют создавать приложения. Кроме того, .NET Framework содержит общие библиотеки, которые можно использовать в разных типах приложений.

Настольные приложения отличаются тем, что запускаются непосредственно на компьютере пользователя. Это – наиболее распространенный тип приложений. Настольные приложения обычно имеют доступ к ресурсам компьютера пользователя, таким как жесткий диск, звуковое оборудование и т.д. К достоинствам такого типа приложений можно отнести интерактивность пользовательского интерфейса и возможность работы приложения вне зависимости от подключения к сети Интернет и другим ресурсам. Однако, для работы таких приложений их необходимо устанавливать на локальный компьютер.

Настольные приложения можно разделить на три вида – оконные приложения, консольные приложения и службы Windows. Оконные приложения обладают графическим интерфейсом. Консольные приложения обычно имеют вид командной строки, а интерфейс таких приложений является текстовым, а не графическим. Наконец, службы Windows вовсе не имеют пользовательского интерфейса, а работают в фоновом режиме.

Для построения приложений с оконным графическим интерфейсом в рамках платформы .NET Framework могут использоваться технологии Windows Forms (доступно начиная с .NET Framework 1.0) и Windows Presentation Foundation (доступно начиная с .NETFramework 3.0).

На рисунке 3.3 ниже показано окно создания проекта на .NET Framework. Как видно, доступны все описанные выше типы проектов.

 

Рисунок 3.3. - Создание проекта на .NET Framework.

 

Веб-приложения отличаются от настольных тем, что работают удаленно на веб-сервере. Пользователь использует возможности веб-приложений посредством браузера и протокола HTTP/HTTPS. Преимуществом этого типа приложений является то, что нет никакой необходимости устанавливать их на компьютер каждого пользователя – приложение нужно установить на веб-сервер, после чего оно становится доступным для всех пользователей. Однако, недостатком таких приложений является ограниченные возможности построения пользовательских интерфейсов. Это происходит из-за того, что пользовательский интерфейс строится на основе форматов HTML, CSS и 11-86408.php">2

  • 3
  • 4
  • 5
  • 6
  • 7
  • Далее ⇒
  •