Опубликован: 13.10.2008 | Уровень: специалист | Доступ: платный
Лекция 9:

Технологии операционной системы Windows Vista

Аннотация: Межпрограммное взаимодействие средствами Windows Communication Foundation. Создание пользовательских интерфейсов при помощи Windows Presentation Foundation. Приложения на основе бизнес-процессов в Windows Workflow Foundation

Операционная система Windows Vista включает в себя новые технологии для разработки программного обеспечения. К этим технологиям относятся:

  • Технология межпрограммного взаимодействия Windows Communication Foundation.
  • Технология для создания графических пользовательских интерфейсов Windows Presentation Foundation.
  • Технология работы с бизнес-процессами Windows Workflow Foundation.
  • Новые версии технологий для разработки на основе мобильных устройств.
  • Технология CardSpace для работы с различными цифровыми идентификаторами.

WCF, WPF, WF и CardSpace также входят в состав .NET Framework 3.0 и могут использоваться на предыдущих версиях Windows. В настоящей лекции речь пойдет о первых трех технологиях.

Windows Communication Foundation

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

WCF основана на сервисно-ориентированной идеологии построения информационных систем. Ориентация на сервисы выражается в том, что взаимодействие приложений представляется как взаимодействие сервиса и клиента. Приложение может предоставлять сервисы и использовать сервисы (быть клиентом). Сервис имеет один или несколько выходов (endpoints). Выходы предоставляют доступ клиентам к одной или нескольким операциям сервиса. Операция сервиса - один из методов, реализованных в сервисе. Выходы могут принимать и отправлять сообщения. Выход инкапсулирует следующую информацию:

  • адрес, куда клиент может отправлять сообщения (URI);
  • описание механизма взаимодействия с выходом (binding). Включает тип транспортного протокола (TCP, HTTP), формат данных (текст, бинарный) и другие параметры;
  • контракт (contract), описывающий операции, которые предоставляет выход сервиса.

Взаимодействие клиента с сервисом, обладающим несколькими выходами, представлено на рис. 1.

Взаимодействие клиента и сервиса

Рис. 9.1. Взаимодействие клиента и сервиса

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

Приложения WCF могут взаимодействовать с приложениями, реализованными при помощи других, ориентированных на сервисы технологий. При этом приложения могут быть развернуты на различных платформах. Так, например, WCF-приложение, исполняемое в Windows, может взаимодействовать с J2EE-приложением, развернутым на Sun Station.

WCF объединяет все предшествующие технологии межпрограммного взаимодействия, поддерживаемые Microsoft. WCF поддерживает:

  • взаимодействие при помощи web-сервисов;
  • взаимодействие с приложениями на основе .NET Remoting;
  • возможности Enterprise Services (управление временем жизни объекта, распределенные транзакции и т. д.);
  • очереди сообщений (возможности MSMQ);
  • стандарты WS-* (расширения web-сервисов, касающиеся обеспечения безопасности).

Поддержка предшествующих технологий позволяет взаимодействовать с существующими системами и развивать их.

Windows Presentation Foundation

Windows Presentation Foundation (WPF) представляет собой API, инфраструктуру и набор инструментальных средств для построения приложений, сочетающих в себе графический пользовательский интерфейс, возможности работы с документами и мультимедиа. WPF является развитием предыдущих технологий Microsoft для создания пользовательского интерфейса (Windows Forms, GDI+, Direct 3D, технологии, применяемые в Windows Media Player). WPF включает в себя большую часть возможностей предшествовавших технологий и добавляет новые средства для создания более сложных пользовательских интерфейсов.

Создание WPF было обусловлено несколькими целями:

  • предоставить возможности для создания более красивых, точнее отвечающих требованиям пользователей интерфейсов. Для этого - объединить предыдущие технологии и добавить новые элементы управления и средства настройки внешнего вида приложения;
  • улучшить взаимодействие дизайнеров и разработчиков приложений. Для этого - предоставить им инструментальные средства, использующие общий формат для описания приложения (XAML);
  • предоставить общую технологию для создания интерфейсов Windows-приложений и приложений, работающих в браузере.

eXtensible Markup Language (XAML)

WPF позволяет описывать пользовательский интерфейс при помощи языка XAML. Этот язык основан на XML. Пример описания интерфейса оконного приложения, содержащего одно окно и кнопку с надписью, приведен на рис. 2.

<Window Xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Button>Ура!</Button> </Window>
9.2.

WPF генерирует XAML на основе интерфейсов, созданных в инструментальных средствах (например, Visual Studio или Expression). И наоборот, по XAML-описанию генерируется интерфейс. Дизайнер или разработчик может вручную редактировать описание интерфейса в XAML или генерировать XAML-описание программно. Как и Wndows Forms, WPF позволяет создавать весь интерфейс программно, не применяя XAML.

Одно и то же описание интерфейса в XAML может быть использовано и для создания приложения, работающего в браузере, и для Windows-приложения.

WPF API поддерживает:

  • элементы управления (кнопки, панели, элементы для навигации и т. д.). К множеству элементов Windows Forms добавлены новые элементы управления;
  • средства связывания с данными. Источниками данных могут быть объекты; коллекции объектов; объекты, содержащие XML; объекты ADO .NET и объекты, содержащие результаты вызова методов web-сервиса;
  • поддерживаются ресурсы - различные объекты, которые могут быть использованы несколькими элементами управления (шрифты, текстуры фона и т.д.);
  • WPF поддерживает стили, темы, шаблоны для элементов управления, шаблоны для источников данных;
  • двумерные графические примитивы и эффекты (теоретико-множественные операции над изображениями, операции с использованием градиента и др.);
  • трехмерные графические примитивы;
  • средства для создания анимации. Анимировать можно практически любые свойства элементов управления;
  • WPF упрощает внедрение аудио и видео в интерфейс приложения по сравнению с Wndows Forms;
  • WPF предоставляет различные средства для работы с документами. В частности, возможно хранить любой документ в формате, основанном на XML. Кроме того, несколько документов могут быть представлены в виде одного упакованного документа.

Широкие возможности WPF для работы с графикой ориентированы в первую очередь на создание пользовательских интерфейсов. Для двумерной и трехмерной графики, а также анимации дизайнерам по-прежнему могут потребоваться дополнительные технологии и инструментальные средства.

Windows Workflow Foundation

Windows Workflow Foundation (WF) - это модель программирования и набор инструментальных средств для построения Workflow-приложений для Wndows. Модель программирования предполагает разработку систем на основе бизнес-процессов.

Под бизнес-процессом (Workflow) в WF понимается множество связанных между собой элементов, называемых действиями (Activities). Связанные между собой действия образуют модель процесса, происходящего в реальном мире (например в отделе, чью работу предполагается автоматизировать). Бизнес-процесс также описывает порядок выполнения действий. Действия могут выполняться как людьми, так и различными программами.

Ранее для бизнес-процессов, в которых участвуют только программные системы, использовался термин "оркестрирование" (Orchestration), а термин "бизнес-процесс" (Workflow) применялся к процессам, в которых участвуют люди. Развитие информационных систем и автоматизация самой разной деятельности привели к тому, что во многих процессах принимают участие как люди, так и программы. Поэтому термин бизнес-процесс используется для обоих типов процессов.

Пример бизнес-процесса кредитования приведен на рис. 3.

Пример бизнес-процесса кредитования

Рис. 9.3. Пример бизнес-процесса кредитования

WF ставит своей целью предоставить единую технологию для разработки Workflow-систем для Wndows (ранее такие системы можно было создавать средствами BizTalk Server, Exchange Server и др.).

Бизнес-процесс может быть создан декларативно в виде XAML-документа или программно при помощи WF API. Кроме того, в Visual Studio интегрируется графический инструментарий. Он позволяет описывать бизнес-процесс визуально, размещая различные виды деятельности и связывая их между собой. С деятельностью можно связать код на любом управляемом языке.

Бизнес-процесс компилируется и затем исполняется внутри приложений. Приложение, исполняющее бизнес-процесс, может быть консольным, Windows-приложением, приложением в браузере или сервисом.

WF предоставляет среду для исполнения бизнес-процессов. Среда предоставляет различные сервисы (например для слежения за состоянием приложения, управления транзакциями или взаимосвязи с другими приложениями).

Еще одной целью WF является предоставление единого средства для описания процессов, в которых принимают участие люди, и процессов, использующих только программное обеспечение. Проблема создания единого интерфейса состоит в том, что:

  • процессы, использующие только программы, более детерминированы в смысле последовательности действий. Процессы, в которых участвуют люди, часто более гибкие и изменчивые;
  • программы часто обмениваются более структурированной информацией (например, XML), чем люди (например, письма в электронной почте).

Для поддержки таких процессов WF имеет две модели бизнес-процесса: последовательные процессы и процессы на основе конечных автоматов.

WF содержит различные типы деятельности: деятельность, связанная с событием, и деятельность, связанная с условием, или правилом. WF позволяет изменять бизнес-процесс во время исполнения. WF предоставляет API для создания транзакций, обработки ошибок и отката действий. WF позволяет создавать типы деятельности, специфичные для предметной области.

WF использует компонентный подход к разработке систем на основе бизнес-процессов. Каждое действие может быть выполнено при помощи компоненты или (в случае составного действия или других случаев вложенности) нескольких компонент. При этом часто существуют альтернативные компоненты. Поведение на каждом шаге может быть описано декларативно. Компоненты могут относиться к действиям из конкретной предметной области.

Итоги

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

Ринат Гатауллин
Ринат Гатауллин

Здравствуйте. Интересует возможность получения диплома( https://intuit.ru/sites/default/files/diploma/examples/P/955/Nekommerch-2-1-PRF-example.jpg ). Курс пройден. Сертификат не подходит. В сертификате ошибка, указано по датам время прохождения около 14 дней, хотя написано 576 часов.

Вячеслав Кузнецов
Вячеслав Кузнецов

Здравствуйте.

Как оплатить курс?

Павел Окунцев
Павел Окунцев
Россия, Нижневартовск, НГГУ, 2007
Pavel Krupoderov
Pavel Krupoderov
Россия, Казань