Архитектура .NET Framework
Слой сервисов
Обычным подходом при создании приложения, которое должно обеспечивать сервисы для других приложений, а также реализовывать непосредственную поддержку клиентов, является использование слоя сервисов, который предоставляет доступ к бизнес-функциональности приложения. Слой сервисов обеспечивает альтернативное представление, позволяющее клиентам использовать другой механизм для доступа к приложению.
Пользователи могут выполнять доступ к приложению через слой представления, который обменивается данными с компонентами бизнес-слоя либо напрямую, либо через фасад приложения в бизнес-слое. Между тем, внешние клиенты и другие системы могут выполнять доступ к приложению и использовать его функциональность путем взаимодействия с бизнес-слоем через интерфейсы сервисов. Это улучшает возможности приложения для поддержки множества типов клиентов, способствует повторному использованию и более высокому уровню композиции функциональности в приложениях.
11 Опишите особенности платформы .NET Framework. Объясните процесс компиляции программ на платформе .NET Framework.
1 ASP.NET — это платформа для создания Web-приложений и Web-сервисов, работающих под управлением IIS. Сегодня существуют другие технологии, позволяющие создавать Web-приложения. К ним относятся прежде всего, очень популярные сегодня языки PHP и PERL, более старая и менее популярная технология CGI и т. д. Однако ASP.NET отличается от них высокой степенью интеграции с серверными продуктами, а также с инструментами Microsoft для разработки доступа к данным и обеспечения безопасности. Кроме того, ASP.NETпозволяет разрабатывать Web- и Windows-приложения, используя очень похожие технологические цепочки, одинаковые языки программирования, технологии доступа к данным и т. д.
Заметим лишь, что ASP.NET функционирует исключительно на серверах Windows, так как требует наличия IIS.
Архитектура .NET Framework
Платформа состоит из четырех групп программных продуктов:
· набор языков, куда входят С# и Visual Basic .NET; набор инструментальных средств разработки, в том числе Visual Studio .NET; обширная библиотека классов для построения Web-служб и приложений, работающих в Windows и в Интернете; а также среда выполнения программ CLR ( Common Language Runtime — общеязыковая среда выполнения), в которой выполняются объекты, построенные на этой платформе;
· набор серверов .NET Enterprise Servers, ранее известных под именами SQL Server 2000, Exchange 2000, BizTalk 2000 и др., которые предоставляют специализированные функциональные возможности для обращения к реляционным базам данных, использования электронной почты, оказания коммерческих услуг "бизнес-бизнес" (В2В) и т. д.;
· богатый выбор коммерческих Web-служб, называемых .Net My Services. За умеренную плату разработчики могут пользоваться этими службами при построении приложений, требующих идентификации личности пользователя и других данных;
· новые некомпьютерные устройства, поддерживающие средства .NET, — от сотовых телефонов до игровых приставок.
Платформа .NET Framework является надстройкой над операционной системой, в качестве которой может выступать любая версия Windows1. На сегодняшний день платформа .NET Framework включает в себя:
· четыре официальных языка: С#, VB.NET, Managed C++ (управляемый C++) и JScript .NET;
· объектно-ориентированную среду CLR ( Common Language Runtime ), совместно используемую этими языками для создания приложений под Windows и для Internet;
· ряд связанных между собой библиотек классов под общим именем FCL (Framework Class Library).
Рис. 1.2. Архитектура .NET Framework
Самым важным компонентом платформы .NET Framework является CLR ( Common Language Runtime ), предоставляющая среду, в которой выполняются программы. Главная ее роль заключается в том, чтобы обнаруживать и загружать типы .NET среда активизирует объекты, производит проверку безопасности, размещает объекты в памяти, выполняет их, а также освобождение памяти
Common Type System (сокр. CTS, рус. Общая система типов) — часть .NET Framework, формальная спецификация, определяющая, как какой-либо тип (класс, интерфейс, структура, встроенный тип данных) должен быть определён для его правильного выполнения средой .NET.
CLS (Common Language Specification — общая спецификация для языков программирования) как раз и представляет собой набор правил, которые во всех подробностях описывают минимальный и полный комплект функциональных возможностей, которые должен обязательно поддерживать каждый отдельно взятый .NET-компилятор для того, чтобы генерировать такой программный код
Набор базовых классов платформы — нижний уровень FCL — не только прячет обычные низкоуровневые операции, такие как файловый ввод/вывод, обработка графики и взаимодействие с оборудованием компьютера, но и обеспечивает поддержку большого количества служб, используемых в современных приложениях (управление безопасностью, поддержка сетевой связи, управление вычислительными потоками, работа с отражениями и коллекциями и т. д.).
Над этим уровнем находится уровень классов, которые расширяют базовые классы с целью обеспечения управления данными и XML. Классы данных позволяют реализовать управление информацией, хранящейся в серверных базах данных. В число этих классов входят классы SQL (Structured Query Language, язык структурированных запросов), дающие программисту возможность обращаться к долговременным хранилищам данных через стандартный интерфейс SQL. Кроме того, набор классов, называемый ADO.NET, позволяет оперировать постоянными данными. Платформа .NET Framework поддерживает также целый ряд классов, позволяющих манипулировать XML-данными и выполнять поиск и преобразования XML.
2..NET Framework компилирует код всех .NET языков ( таких, как Visual Basic .NET, Visual C++.NET and Visual C#.NET ) в код Microsoft Intermediate Language ( промежуточный язык Microsoft, MSIL ), используя MSIL-компилятор. Высокоуровневые языки используют компилятор, чтобы преобразовать код в машинный код операционной системы, и только эта операционная система поймет такой код. Но когда мы компилируем .NET-код в MSIL-код, мы получаем не характерный для какой-либо операционной системы код. Итак, нам нужно совершить еще один шаг - преобразовать MSIL-код в код, специфичный для каждой операционной системы. Это выполняет Just-In-Time компилятор (дословно: только-во-время). .NET Framework использует JIT-компилятор, чтобы преобразовать код промежуточного языка ( MSIL ) в машинный язык, специфичный для данной операционной системы, и только теперь .NET-приложение может выполнятся на этой системе. Итак, вот эти два шага компиляции C#-кода: сначала мы преобразуем C#-код в MSIL-код ( неспецифичный для какой-либо операционной системы код, это код для .NET Framework и только она может понять его), а затем JIT-компилятор преобразует MSIL-код в машинный.
Почему 2 шага, а не один?
Существует несколько причин компиляции .NET-приложений в 2 шага. Cейчас мы узнаем некоторые из них.
Код всех .NET-языков компилируется сначала в MSIL, (это называется межъязыковое взаимодействие) понятный .NET. Я имею ввиду, что .NET.-Framework понимает и обрабатывает MSIL-код, а не операционная система.
12. Назовите типы серверных элементов управления и объясните назначение каждого из них.
Серверные элементы управления ASP.NET являются неотъемлемой частью архитектуры ASP.NET. По сути, серверные элементы управления представляют собой классы в среде .NET Framework, представляющие визуальные элементы веб-формы.
ASP.NET предлагает множество серверных элементов управления, которые делятся на несколько категорий: