Опубликован: 01.07.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 4:

Базовые технологии, использованные для реализации новой версии Microsoft Windows Azure (2013)

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Аннотация: В данной лекции рассмотрены следующие вопросы: Архитектура .NET и сервисов .NET как основы реализации Windows Azure. Обзор новой версии архитектуры .NET (4.5) и новой версии Windows Communication Foundation (WCF).

Цель лекции: Ознакомление с принципами и технологией (.NET 4.5), используемой для реализации новой версии Microsoft Windows Azure (2013).

Презентацию к лекции вы можете скачать здесь.

Введение

Данная лекция знакомит с платформой .NET – базой для реализации Windows Azure, и возможностями новой версии .NET 4.5.

Рассмотрены Web-сервисы .NET, на которых базируется архитектура и реализация Azure.

Реализация платформы Windows Azure базируется на платформе .NET – платформе надежного и безопасного многоязыкового программирования.

В текстах и презентациях данной и последующих лекций использованы материалы презентаций [1] коллег из Института прикладных наук Верхней Австрии, за что автор выражает им глубокую благодарность.

Обзор архитектуры .NET

Windows Azure реализована на базе .NET.

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

Основана на единой для всех языков инфраструктуре (CLI), общей системе типов (CTS), общей системе поддержки выполнения (CLR).

В .NET исходный код на любом языке компилируется в сборку, содержащую бинарный код на едином промежуточном языке (CIL) – постфиксную запись программы, и метаданные – информацию о типах, определенных и использованных в сборке

Исполнение программы в CLR реализовано как последовательность вызовов методов и just-in-time (динамическая) компиляция каждого метода в native-код при первом вызове, с последующими вызовами native-кода.

Метаданные могут быть аннотированы атрибутами, как встроенными, так и пользовательскими.

На использовании метаданных основан динамический контроль типов и безопасности, выполняемый CLR.

Основные идеи и принципы .NET

Основные идеи и принципы .NET следующие. Это компиляция с любого языка в промежуточный двоичный код MSIL (CIL) – постфиксную форму представления программ; генерация компилятором так называемых метаданных – информации о типах,

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

составляют сборку (assembly) – логическую единицу представления двоичного кода в .NET. Во время выполнения программы, при первом вызове каждого метода, его промежуточный код компилируется специальным компилятором (just-in-time, или JIT, компилятором) в платформно-зависимый (native) код аппаратной платформы (машины), на которой исполняется программа. Де-факто стандартом для представления конфигурационной информации и передачи данных серез сеть в .NET является XML.

Преимущества подхода .NET

Преимуществом подхода .NET является независимость двоичного кода (CIL) от конкретной апппаратной платформы. Также .NET выполняет код в особом режиме – managed execution, в котором гарантируется полный контроль типов и безопасности, что обеспечивает надежность и безопасносит программ, в отличие от использования более старых языков и платформ, например, Си.

Многоязыковое программирование – еще один важнейший принцип .NET: программист может разрабатывать модули своей программы на любых удобных ему языках, а .NET обеспечивает совместимость (interoperability) этих модулей в рамках одной программы.

Повышенные требования к безопасности – еще одна характерная черта .NET. Наконец, .NET имеет очень удобные и современные механизмы поддержки Web-программирования.

Архитектура .NET Framework

На рис. 4.1 приведена архитектура базовой библиотеки классов (BCL) .NET. Их использование ясно из их названий. Весьма важно, что все эти классы могут быть использованы при программировании на любом языке .NETC#, Visual Basic, Managed C++ и др.

Наиболее важны для данного курса пространства имен System.Web – поддержка Web-сервисов – и System.Securityподдержка установки, проверки и конфигурирования полномочий безопасности сборок.

Классы .NET Framework

Рис. 4.1. Классы .NET Framework

Общая система типов .NET

Общая система типов .NET (CTS) – весьма удачная унификация систем типов данных современных языков программирования. Подчеркнем, что такая унификация просто необходима в .NET для поддержки многоязыкового программирования (CLR должна "понимать" типы каждого языка одинаково.

Различаются следующие разновидности типов в CTS.

Типы-значения и типы-ссылки – две основных разновидности типов, воплощающие два различных подхода к представлению значений и объектов – контейнерный и ссылочный.

Простые типы (int, double, unsigned int, native int и др.), разумеется, относятся к типам-значениям.

Структуры, что весьма полезно, также относятся к типам-значениям, а не к объектам. Это позволяет описать в них собственные методы. Единственное, чего нет в структурах, по сравнению с классами, - это наследования. Структуры размещаются в стеке. Объекты (принадлежащие некоторым классам) – в куче.

Указатели (managed pointers) - это разновидность указателей, на которой базируются проверки типов и безопасности. Управляемый указатель в .NET содержит ссылку на тип объекта (на метаданные), благодаря чему тип и атрибуты любого объекта можно проверить во время выполнения.

Классы имеют обычный смысл, как в других системах ООП.

Интерфейсы – также стандартная концепция для современных яззыков ООПJava, C#, VB и др. Интерфейс – совокупность заголовков методов, реализуемых некоторым классом.

Делегаты и события ¬¬– типы данных для обработки событий. Тип делегата описывает типовую структуру заголовка обработчика события, представленного в виде callback-метода. При описании события указывается конкретный тип делегата.

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Андрей Краснов
Андрей Краснов
Россия, Москва, МИФИ, 1972
Владимир Стена
Владимир Стена
Россия