Microsoft .NET - сервисы Windows нового поколенияИсточник: КомпьютерПресс, 9'2000 Алексей Федоров
Оглавление
В середине лета этого года Microsoft раскрыла свое видение эволюции платформы Windows в ближайшие годы. Платформа Microsoft .NET (ранее эта платформа называлась Next Generation Windows Services, NGWS) будет служить основой для создания распределенных Web-сервисов, интегрирующих различные сервисы, службы и приложения, и, таким образом, обеспечивать создание нового поколения Internet-приложений. Если говорить о Microsoft .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 диаграммы, демонстрирующей основные компоненты этой архитектуры. Как видно из рисунка, над сервисами операционной системы (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 следует отметить:
Как уже отмечалось выше, на следующем уровне в архитектуре Microsoft .NET располагаются сервисы. Мы кратко рассмотрим их в следующем разделе. СервисыСервисы доступны на уровне классов, которые могут использоваться изо всех поддерживаемых в Microsoft.NET языков программирования. Некоторые из ключевых базовых классов показаны на рис. 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. К этому семейству относятся следующие продукты:
Все эти продукты поддерживают язык XML, возможность работы с Web, кластерные системы, интегрируются с продуктами предыдущих версий. ЗаключениеВ данном обзоре мы кратко рассмотрели архитектуру платформы Microsoft .NET, которая представляет собой дальнейшее развитие платформы Windows и служит фундаментом для создания программных решений нового поколения, основанных на использовании и интеграции различных сервисов, предоставляемых как существующими продуктами, так и специализированными программными компонентами, взаимодействующими на уровне языка XML с использованием протокола SOAP. |