Категории
Самые читаемые книги
ЧитаемОнлайн » Бизнес » Управление, подбор персонала » Основы проектирования корпоративных систем - Сергей Зыков

Основы проектирования корпоративных систем - Сергей Зыков

Читать онлайн Основы проектирования корпоративных систем - Сергей Зыков

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 50 51 52 53 54 55 56 57 58 ... 129
Перейти на страницу:

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

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

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

Естественно, трансляция осуществляется в терминал языка MSIL – это ассемблер высокого уровня, который в 3–5 раз плотнее, чем обычный ассемблер, если рассматривать, например, процессор Intel 8086 или ассемблер Z80.

Рис. 8.3. Схема выполнения CLR

При этом в ряде случаев не представляется возможным осуществить безопасную компиляцию в управляемый код. К сожалению, работа с некоторыми механизмами, например с памятью, небезопасна, и в этом случае программист обязан пометить этот фрагмент кода как неуправляемый код. Он транслируется по другому пути, без MSIL, и объединяется с родным кодом уже как неуправляемый объект – и в этом случае ответственность за безопасность лежит на программисте. В любом другом случае компилятор преобразует сборку в исходный текст. После чего осуществляется сборка с использованием JIT-компилятора на платформе CLR, и, по сути, идет работа в терминах операционной системы, т. е. взаимодействие со средой Windows уже скомпилированного и собранного приложения.

Основные возможности, которые предоставляет среда CLR:

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

• межъязыковая интеграция:

– включение в код на одном ЯП классов на другом ЯП;

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

– и т. д.

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

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

• поддержка версий компонентов и сборок кода;

• сервисы безопасности (запрет неавторизованного доступа к ресурсам для пользователей – Role-Based Security, доступ на основе безопасности кода – Code-Based Security и автор кода, версия сборки и др.).

Рассмотрим работу универсальной системы типизации (рис. 8.4).

В основе лежит понятие базисного типа, который в. NET называется System.Object (это очень похоже на Java). Он делится на две категории – типы-ссылки и типы-значения, при этом типы-значения и типы-ссылки различным образом хранятся и используются. Типы-значения при создании экземпляра класса каждый раз вводятся в память и т. д.

Типы-ссылки – это классы, интерфейсы, массивы, делегаты и т. д.

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

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

В основе архитектуры. NET лежит понятие «сборка».

Сборка кода (assembly) – группа ресурсов, типов и метаданные, описывающие эти ресурсы и типы, необходимые для функционирования компонентов. Сборка реализуется как единое целое. Сборка – это самодостаточная единица кода.

К особенностям сборок кода прежде всего относятся следующие:

• сборка распространяется и реализуется как единое целое;

• метаданные сборки содержат информацию о зависимостях между ресурсами, версиях и т. п.;

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

На уровне сервисов архитектура выглядит следующим образом:

• принцип. NET – «ПО как сервис»;

• следующий уровень архитектуры – уровень сервисов (рис. 8.5);

• сервисы доступны на уровне классов любого ЯП для. NET.

На нижнем уровне архитектуры существуют системные сервисы Microsoft Windows. На более высоких уровнях – различные надстройки, сервисы для работы с данными, сервисы интерфейсные и т. д. Сервисы. NET находятся на более высоком уровне, чем сервисы для Windows.

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

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

Абстрактная машина. NET. CLR располагается над уровнем сервисов ОС (Windows CE, Windows ME, Windows 2000, Windows.NET).

Системные сервисы располагаются над CLR (доступ – через библиотеки классов): доступ к функциям ОС, управление данными, отладка, другие сервисы и т. п.; еще выше – компоненты и сервисы для разработки веб-узлов, веб-сервисов, пользовательских интерфейсов (GUI).

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

Распределенные приложения на основе иных механизмов удаленного взаимодействия компонентов XML Web Services – на основе открытых стандартов, NET Remoting – на основе внутренних протоколов Microsoft и целый ряд других подходов.

По сути, NET представляет собой виды базовых классов для сервисов:

• доступ к сервисам ОС (Windows CE, ME, 2000, NET);

• доступ к графическим функциям (двумерная графика, обработка изображений, шрифты, в том числе технология ClearType, интеграция с GDI и DirectX);

• сетевые функции;

• управление потоками;

• глобализация;

• криптография;

• доступ к данным (библиотека классов ADO+ и OLE DB-драйверы);

• классы для средств разработки (отладка, трассировка, управление ресурсами, компиляция, установка ПО, протоколирование событий и т. д.);

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

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

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

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

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

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

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

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

Назначение Web Forms — основа веб-сервисов и веб-приложений в архитектуре Microsoft.NET.

1 ... 50 51 52 53 54 55 56 57 58 ... 129
Перейти на страницу:
На этой странице вы можете бесплатно скачать Основы проектирования корпоративных систем - Сергей Зыков торрент бесплатно.
Комментарии
КОММЕНТАРИИ 👉
Комментарии
Татьяна
Татьяна 21.11.2024 - 19:18
Одним словом, Марк Твен!
Без носенко Сергей Михайлович
Без носенко Сергей Михайлович 25.10.2024 - 16:41
Я помню брата моего деда- Без носенко Григория Корнеевича, дядьку Фёдора т тётю Фаню. И много слышал от деда про Загранное, Танцы, Савгу...