Платформа Microsoft Windows Vista. Возможности для разработчиков
Часть 1. Первое знакомство с Windows Vista
Microsoft Windows Vista новая клиентская платформа
Фундаментальные сервисы операционной системы
Об авторе. Алексей Федоров сотрудник отдела стратегических технологий российского представительства компании Microsoft (alexeif@microsoft.com).
В рамках знакомства с новыми технологиями компании Microsoft мы открываем очередной цикл, посвященный обзору основных возможностей новой клиентской операционной системы Microsoft Windows Vista (предыдущее название Windows Longhorn Client), которая является технологическим развитием Microsoft Windows XP (некоторые компоненты Vista будут доступны для использования в Windows XP SP2) и представляет собой новое поколение операционных систем компании Microsoft (серверная версия Windows Longhorn Server предположительно появится в 2008 году).
ервая бета-версия операционной системы вышла в июле 2005 года, в дальнейшем продукт распространяется в виде обновлений Community Technology Preview (CTP) версий с приращенной, по сравнению с бета-версией, функциональностью последняя такая версия была выпущена в ноябре прошлого года. Вторая бета-версия запланирована на I квартал 2006 года, а финальная версия Microsoft Windows Vista появится во второй половине этого года.
Официальный сайт, посвященный новой операционной системе Microsoft, расположен по адресу http://www.microsoft.com/windowsvista/default.mspx
Первая часть цикла будет посвящена рассмотрению основных концепций, базовых компонентов и расширенных возможностей платформы. Затем мы более подробно ознакомимся с основными компонентами операционной системы, с библиотеками классов WinFX (набор расширений .NET Framework, которые будут доступны как в Windows Vista, так и в Windows XP, и Windows Server 2003 под названием WinFX Runtime Components) Windows Presentation Foundation, Windows Communication Foundation и Windows Workflow Foundation, а также вопросам создания приложений для платформы Windows Vista.
Microsoft Windows Vista новая клиентская платформа
латформа Windows Vista предоставляет широкий набор возможностей для разработчиков программного обеспечения независимо от того, создают они «неуправляемый» код, используя интерфейс Win32 API, или «управляемый» код с помощью библиотеки классов WinFX.
В основе платформы лежит ряд базовых компонентов, показанных на следующей диаграмме.
Официальный сайт Microsoft Windows Vista
Ниже мы кратко охарактеризуем эти компоненты, а более подробно каждый из них рассмотрим в отдельной статье настоящего цикла.
Фундаментальные сервисы операционной системы
В состав Windows Vista входят обновленные и улучшенные компоненты операционной системы, реализующие следующие функции:
- безопасность:
- User Account Protection (ранее эта функция называлась Least-privileged User Account, LUA) функция изменения традиционной модели привилегий для предотвращения возможности выполнения пользователями операций, которые либо требуют специальных привилегий, либо не предназначены для конечных пользователей,
- менеджер перезагрузки (Restart Manager), работающий совместно с Microsoft Update, Windows Update, Microsoft Windows Server Update Services, Microsoft Software Installer и Microsoft Systems Management Server для определения сервисов и процессов, которые можно остановить без перезагрузки всей операционной системы,
- изоляция сервисов в текущих версиях Windows сервисы и приложения выполняются в той же сессии, в которой зарегистрирован первый пользователь (Session 0), что небезопасно, так как сервисы имеют доступ к привилегированным операциям. В Windows Vista сервисы в Session 0 изолированы от приложений в других сессиях,
- Security Configuration Wizard (SCW) с возможностью создания ролевых расширений,
- расширенная функциональность Windows Resource Protection (WRP) и Windows File Protection,
- Network Access Protection, позволяющая администраторам более гибко управлять безопасностью сетевых соединений,
- Code Access Security для компонентов на управляемом коде;
- управляемость:
- новая система ведения протокола работы ОС, ее компонентов и приложений Event Logging System (или Common Log File System, CLFS), а также расширенная функциональность Microsoft Event Tracing for Windows (ETW),
- подсистема Function Discovery новая технология поиска метаданных для аппаратных и программных компонентов системы приложения могут получать списки устройств или объектов, отсортированные по функциями или классам,
- Web Services for Management (WS-Management) реализация стандартных протоколов для поиска и обмена информацией с системами управления;
- упрощенное развертывание и возможность обслуживания:
- технология ClickOnce для
упрощенного развертывания приложений на управляемом коде, расширенная функциональность Windows Install (MSI), интегрированная с Restart Manager,
- технология Application Recovery,
- интеграция с порталом Developer Portal для автоматической публикации ошибок и получения обновлений,
- подсистема Windows Feedback Platform, расширяющая функциональность Windows Error Reporting. Более подробно об этих сервисах см. ресурс Windows Quality Online Services (https://winqual.microsoft.com/default.aspx).
Компоненты платформы Microsoft Windows Vista
Презентационные компоненты
Эти компоненты операционной системы отвечают за взаимодействие с пользователями. Программный компонент Windows Presentation Foundation (кодовое название Avalon) и пользовательская среда AERO открывают новые возможности для дизайнеров и разработчиков по созданию новых классов приложений, а также по улучшению эстетических и эргономических характеристик традиционных приложений.
Windows Vista User Experience
Кратко охарактеризуем основные преимущества Windows Presentation Foundation:
- за счет использования языка XAML (eXtensible Application Markup Language) разработчики получают возможность отделить логику приложения от компонентов, отображающих пользовательский интерфейс;
- новая модель обработки событий позволяет более гибко и централизованно обрабатывать события, возникающие в приложениях и на уровне системы;
- полноценная система связи с источниками данных обеспечивает связь с интерфейсными элементами как в режиме дизайна, так и в режиме работы;
- гибкая модель хостинга позволяет использовать существующие компоненты в новых разработках, а также объединять в одном приложении визуальные элементы, созданные с помощью Win 32 API, Windows Forms и Windows Presentation Foundation.
Раздел, посвященный Windows Presentation Foundation
К расширениям пользовательского интерфейса можно отнести такие новинки, как расширенные возможности стандартных диалоговых панелей (Common File Dialog), новую версию Windows Explorer, компоненты Namespace Explorer, позволяющие ориентироваться среди физических и виртуальных папок, иерархий документов и т.п. Помимо этого следует упомянуть возможности «живого» отображения содержимого документов Live Icons, технологию создания средств предварительного просмотра документов Preview Handlers, возможность расширенного использования метаданных в документах на базе технологии Property Handlers и Windows Metadata System, а также расширенные возможности фильтрации на основе интерфейса IFilter.
Рекомендации по разработке интерфейса для приложений под управлением Windows Vista находятся на сайте Microsoft Developer Network в разделе Windows Vista User Experience (http://msdn.microsoft.com/windowsvista/building/ux/default.aspx).
В состав Windows Presentation Foundation также входит набор технологий для создания XML-документов XML Paper Specification (XPS, кодовое название Metro).
Подмножество Windows Presentation Foundation Windows Presentation Foundation/Every-where (WPF/E) позволит реализовать презентационный уровень в стиле Windows Vista на платформах Apple OS X, Linux и в мобильных устройствах.
Технологии Windows Presentation Foundation посвящен специальный раздел сайта MSDN, расположенный по адресу http://msdn.microsoft.com/windowsvista/building/presentation/.
Коммуникационные компоненты
Коммуникационные компоненты Windows Vista расширяют возможности ядра операционной системы (работа с web-сервисами, P2P-коммуникации, поддержка RSS и т.п.). Из новинок в коммуникационных технологиях следует выделить новую инфраструктуру Windows Sockets (Winsocks), Window Filtering Platform (WPF), Network Diagnostics Framework (NDF). Поддержка коммуникаций Peer-to-Peer (P2P) становится возможной за счет включения в состав Windows Vista P2P Collaboration Infrastructure и Peer Channel.
Распространение информации по каналам RSS обеспечивается реализацией на уровне операционной системы интерфейсов Unified Feed Parsing API, Shared Feed Lists (IFeeds) и поддержкой автоматической загрузки вложений (enclosures).
Раздел, посвященный Windows Communication Foundation
Коммуникационные компоненты предоставляют широкий набор возможностей по созданию различных коммуникационных приложений как на неуправляемом, так и на управляемом коде. В последнем случае используются программные компоненты Windows Communication Foundation (кодовое название Indigo) они служат для создания web-сервисов и коммуникационных приложений, поддерживающих защищенные, надежные транзакционные гетерогенные web-сервисы на базе архитектуры WS-*. Частью Windows Communication Foundation является технология InfoCard для обеспечения безопасной идентификации и аутенфикации сервисов и приложений, включая приложения, запускаемые через web.
Технологии Windows Communication Foundation посвящен специальный раздел сайта MSDN, расположенный по адресу http://msdn.microsoft.com/webservices/indigo/default.aspx.
Раздел, посвященный Windows Workflow Foundation
Компоненты работы с данными
Данные являются основой практически всех приложений, выполняемых под управлением Windows Vista. К новой функциональности в этой области относятся:
- концепция виртуальных папок и различных расширенных способов организации информации на базе расширенных метаданных;
- возможность ускоренного поиска данных на базе технологий Windows Desktop Search, впервые появившихся в MSN Search Toolbar, для программного доступа к функциональности поиска и фильтрации в состав платформы входит специальный драйвер OLE DB Provider for Windows Search;
- транзакционная файловая система поверх традиционной NTFS (Transactional NTFS, TxF), позволяющая разработчикам и администраторам более гибко обрабатывать исключения и сохранять целостность данных;
- поддержка нового формата документов XML Paper Specification.
В дальнейшем возможности работы с данными пополнятся новой подсистемой хранения (кодовое название WinFS) репозитарием для хранения структурированных данных с возможностью обмена такими данными между приложениями.
Онлайновая версия Windows Software Development Kit
Windows Workflow Foundation
Windows Workflow Foundation (WinWF) это компонент WinFX, который представляет собой ядро выполнения workflow, набор программных интерфейсов и сервисы времени выполнения, предназначенные для обеспечения возможности моделирования и автоматизации процессов в Windows-приложениях.
Одним из потребителей WinWF будет новая версия Microsoft Office, где сервисы, предоставляемые этим компонентом, будут использоваться для реализации документооборота, управления содержимым (enterprise content management) и автоматизации ряда других операций.
Технологии Windows Workflow Foundation посвящен специальный раздел сайта MSDN, расположенный по адресу http://msdn.microsoft.com/windowsvista/building/workflow/.
Средства разработки
Для того чтобы разработчики могли максимально эффективно использовать новые возможности операционной системы, планируется выпуск средств разработки, позволяющих создавать приложения как на неуправляемом, так и на управляемом коде. Изначально будет выпущен набор расширений для Microsoft Visual Studio 2005, при помощи которых можно будет создавать приложения как для Windows Vista, так и для более ранних версий операционной системы: Windows XP и Windows Server 2003.
Технологии для разработчиков
латформа Windows Vista содержит большой набор технологий и сервисов, которые могут использоваться разработчиками для расширения функциональности существующих приложений, а также для создания новых приложений. Многие технологии должны быть знакомы тем, кто создавал приложения для платформ Windows XP и Windows Server 2003 Windows Vista обеспечивает полную поддержку этих платформ. Помимо этого в состав Windows Vista входит широкий спектр новой и расширенной функциональности, что, собственно, и составляет предмет рассмотрения данного цикла.
Раздел Windows Vista Driver Development
В целом, технологии, реализованные в рамках платформы Windows Vista, доступны через следующие программные интерфейсы:
- Win32 набор вызываемых функций, структур и констант, составляющих «родной», оригинальный программный интерфейс Windows;
- COM/COM+ набор объектов, интерфейсов и методов, представляющих собой объектную программную модель, расширяющую оригинальный программный интерфейс Windows;
- WinFX библиотека классов для «управляемых» языков программирования, представляющая собой набор расширений стандартной библиотеки классов .NET Framework.
Онлайновая версия WinFX SDK
Разработчики, желающие более подробно ознакомиться с данными программными интерфейсами, могут загрузить Windows Software Development Kit (SDK), Windows Device Development Kit (DDK) и WinFX SDK с сайта Microsoft Developer Network (http://msdn.microsoft.com).
Онлайновая версия Windows Software Development Kit доступна по адресу http://windowssdk. msdn.microsoft.com/library/.
Вопросы, связанные с разработкой новых драйверов с расширением функциональности существующих, а также с поддержкой аппаратных компонентов, подробно рассмотрены в специальном разделе сайта MSDN Windows Vista Driver Development, расположенном по адресу http://www.microsoft.com/whdc/driver/WDK/default.mspx.
Windows Vista Development Center
Онлайновая версия WinFX SDK также доступна через сайт MSDN адрес этого ресурса: http://winfx.msdn.microsoft.com/library/.
Постоянно обновляемая информация о платформе Windows Vista и о вопросах, связанных с разработкой приложений для этой платформы, находится в разделе Windows Vista Development Center сайта Microsoft Developer Network (http://msdn.microsoft.com/windowsvista/).
В следующем номере мы продолжим знакомство с платформой Microsoft Windows Vista и более подробно рассмотрим сервисы, предоставляемые ядром операционной системы.