Microsoft .NET - сервисы Windows нового поколения

Алексей Федоров

Оглавление

В середине лета этого года Microsoft раскрыла свое видение эволюции платформы Windows в ближайшие годы. Платформа Microsoft .NET (ранее эта платформа называлась Next Generation Windows Services, NGWS) будет служить основой для создания распределенных Web-сервисов, интегрирующих различные сервисы, службы и приложения, и, таким образом, обеспечивать создание нового поколения Internet-приложений.

Если говорить о Microsoft .NET в целом, то эта платформа включает в себя следующие глобальные компоненты:

  • собственно платформу Microsoft .NET - инфраструктуру и средства разработки, используемые для построения и управления новым поколением сервисов;
  • продукты и сервисы Microsoft .NET, включая Windows .NET, MSN .NET, Office .NET, Visual Studio .NET, Office .NET и bCentral for .NET;
  • дополнительные сервисы, разрабатываемых сторонними фирмами.

Все взаимодействие между сервисами и компонентами базируется на языке XML и протоколе SOAP, который не зависит ни от объектных моделей, ни от используемых платформ. В Microsoft .NET легко интегрируются уже существующие, а также новые продукты. Так, в частности, одним из компонентов Microsoft .NET является BizTalk Server.

В данном обзоре мы рассмотрим один из основных концептуальных блоков платформы Microsoft .NET - Web-сервисы, а также обсудим архитектуру Microsoft .NET.

Web-сервисы

Согласно определению Web-сервис - это приложение, обеспечивающее определенный набор сервисов, которое может быть интегрировано с другими Web-сервисами путем использования стандартов Internet. На более низком уровне Web-сервис можно назвать программируемым ресурсом, доступным по URL, который программным образом возвращает клиентам определенную информацию. Главным здесь является то, что клиенту не надо знать, как реализован тот или иной сервис для того, чтобы его использовать.

В отличие от существующих компонентных технологий, Web-сервисы не используют какие-либо специфичные для той или иной объектной модели протоколы типа DCOM, RMI или IIOP - сервисы взаимодействуют посредством стандартов Internet типа HTTP и XML. Таким образом, любая система, поддерживающая эти стандарты Internet, может взаимодействовать с Web-сервисами. Как мы отмечали выше, взаимодействие между сервисами и компонентами базируется на языке XML и протоколе SOAP. Язык XML используется в качестве основы для описания конкретного взаимодействия сервисов (язык Service Contact Language, SCL), а протокол SOAP - для обмена информацией между сервисами. Для публикации описаний сервисов используется спецификация Disco - рабочая версия этой спецификации доступна на Web-сайте фирмы Microsoft.

Отметим, что создание Web-сервисов возможно уже сегодня. Для этого вам необходимо приобрести Microsoft Visual Studio 6, а также загрузить в Web-сайт фирмы Microsoft и установить SOAP Toolkit for Visual Studio 6.0. Более подробно о протоколе SOAP можно прочитать в статье «Windows DNA 2000 - платформа нового тысячелетия», опубликованной в январском номере нашего журнала.

После этого менее чем краткого рассмотрения Web-сервисов давайте обратимся к платформе Microsoft .NET, которая служит основой для построения Web-приложений и Web-сервисов.

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

Наше знакомство с архитектурой Microsoft .NET разумнее всего начать с приведенной на рис. 1 диаграммы, демонстрирующей основные компоненты этой архитектуры.


Рис. 1. Архитектура Microsoft .NET

Как видно из рисунка, над сервисами операционной системы (Windows CE, Windows ME, Windows 2000, Windows .NET) располагается Common Language Runtime (CLR) - общее языковое ядро, обеспечивающее единообразный доступ ко всем сервисам Microsoft .NET. К системным сервисам, доступным в виде библиотек классов, относятся расположенные над CLR сервисы для доступа к функциям операционной системы, управлению данными, отладки и т.п. Выше располагаются компоненты и сервисы, предназначенные для разработки Web-узлов и Web-сервисов, а также компоненты для реализации пользовательских интерфейсов. Ниже мы рассмотрим основные компоненты архитектуры Microsoft .NET более подробно.

Common Language Runtime

Основной задачей CLR является загрузка и выполнение кода, написанного на любом языке программирования, поддерживаемом в Microsoft .NET. В настоящее время поддерживаются языки Basic, C++, C#, JScript - на уровне продуктов фирмы Microsoft, а также языки сторонних фирм, в числе которых COBOL, Eiffel, Oberon, Perl, SmallTalk и ряд других. Языку C# посвящена статья, публикуемая в данном номере. Также в этом номере мы публикуем обзор новинок в Visual Basic.

Среди основных возможностей CLR следует отметить:

  • поддержку стандартного набора типов и правил для создания новых типов;
  • межъязыковую интеграцию - код, написанный на одном языке, может использовать классы, реализованные на другом языке программирования; исключения, возникшие в программе, написанной на одном языке, могут быть обработаны в программе, написанной на другом языке, и т.п.
  • единый набор библиотек классов для всех поддерживаемых языков программирования;
  • самоописываемые компоненты - для их использования не требуется каких-либо дополнительных файлов (IDL, TLB, Proxy/Stub и т.п.);
  • поддержку версий компонентов и наборов. Наборы (assembly) - это группа ресурсов и типов, а также метаданные, описывающие эти ресурсы и типы. Подобная группа распространяется и внедряется как единое целое. Метаданные содержат информацию о зависимостях между ресурсами, версиях и т.п. Таким образом можно указывать, какие наборы используются - новейшей версии, специфичной версии и т.п.;
  • сервисы безопасности, обеспечивающие, в частности, запрет на неавторизованный доступ к ресурсам как для пользователей (role-based security), так и для кода (code-based security).

Как уже отмечалось выше, на следующем уровне в архитектуре Microsoft .NET располагаются сервисы. Мы кратко рассмотрим их в следующем разделе.

Сервисы

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


Рис. 2. Ключевые базовые классы

Как видно из рисунка, к базовым относятся классы, обеспечивающие доступ к сервисам операционной системы (Windows CE, Windows ME, Windows 2000, Windows .NET) - графическим функциям (здесь мы обнаружим функции для двухмерной графики, манипуляции графическими изображениями и шрифтами, включая технологию ClearType, а также интеграцию с GDI и DirectX), сетевым функциям, управлению потоками, глобализации, криптографии и т.п. К сервисам также относятся классы для доступа к данным (в Microsoft .NET входит библиотека классов ADO+, а также большой набор OLE DB-провайдеров), классы для средств разработки - отладка, трассировка, управление ресурсами, компиляция, установка, протоколирование событий и т.п., а также ряд других классов, включая классы для поддержки протокола SOAP.

Win Forms

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

Web Forms

В основе Web-сервисов и Web-приложений в архитектуре Microsoft .NET лежит понятие Web-форм. Программная модель основана на ASP+ - новом поколении активных серверных страниц, представляющем собой эволюцию технологии ASP, знакомой многим Web-разработчикам (в настоящее время технологию ASP используют более 1 млн. разработчиков во всем мире). Этой теме посвящена отдельная статья, публикуемая в данном номере.

Концепция Web-форм знакома нам из Visual Basic 6. Идея заключается в том, что за счет объединения в рамках формы ASP- и HTML-кода мы получаем более структурированный подход для отделения логики Web-приложения от интерфейса. Богатый набор интерфейсных элементов (которые теперь могут располагаться на сервере) и простая, но мощная объектная модель позволяют легко создавать Web-приложения.

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

Корпоративные серверы

В начале данного обзора мы говорили о платформе Microsoft .NET как о средстве для интеграции различных сервисов. Одним из источников таких сервисов является семейство корпоративных серверов фирмы Microsoft. К этому семейству относятся следующие продукты:

  • Microsoft SQL Server 2000 (см. статьи в этом номере - «Microsoft SQL Server 2000. Краткий обзор новинок» и «Microsoft SQL Server 2000 Analysis Services»);
  • BizTalk Server 2000 (cм. статьи «Инициативы Microsoft в области e-commerce» и «Разработка приложений с использованием BizTalk Server»);
  • Commerce Server 2000;
  • Application Center 2000;
  • Host Integration Server 2000 (логическое развитие SNA Server);
  • Internet Security and Acceleration Server 2000;
  • Exchange Server 2000.

Все эти продукты поддерживают язык XML, возможность работы с Web, кластерные системы, интегрируются с продуктами предыдущих версий.

Заключение

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


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=3869