Поделиться через


Архитектурная схема

AppFabric — это развитие службы активации Windows (WAS) и роли сервера приложений в системе Windows Server, позволяющее размещать службы WCF и WF, а также управлять ими. В этом качестве AppFabric тесно взаимодействует с .NET Framework 4 и использует ряд функций в составе платформы, обеспечивающих ключевые возможности (например, сохраняемость, наблюдение и размещение) для служб WCF и WF. AppFabric также интегрируется со службами IIS, предоставляя средства управления и наблюдения в консоли управления IIS.

На следующей архитектурной схеме показаны элементы AppFabric, а также компоненты .NET Framework 4 и IIS, используемые AppFabric.

Общее представление архитектуры

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

Расширение службы активации Windows

Поскольку на архитектурной схеме базовые технологии, на которых основывается AppFabric, показаны внизу, начнем с IIS и WAS.

IIS и WAS

Фундамент, на котором строится AppFabric, — это устойчивая среда размещения, предоставляемая IIS и WAS. Размещение приложений в WAS предоставляет ряд возможностей, необходимых для сервисноориентированной архитектуры (SOA), например следующие.

  • Активация приложений на основе сообщений, позволяющая динамически запускать и останавливать приложения в ответ на поступающие сообщения.

  • Устойчивая утилизация приложений и рабочих процессов для поддержания работоспособности выполняющихся приложений.

  • Настройка приложений и управление ими.

  • Упорядочение приложений в сайты для адресации и управления. Во время выполнения приложения связываются с пулами приложений, определяющими границы процессов во время выполнения.

Тем не менее, несмотря на все предоставляемые возможности ответственность за реализацию развертывания, управления и наблюдения для служб WCF и WF лежит на разработчике приложения, которому необходимо предоставить средства развертывания, руководство по управлению и настраиваемые решения для наблюдения. Помимо этого, размещение долговременного процесса, например рабочего процесса, в IIS и WAS может быть проблематичным из-за ограничений активации по требованию и утилизации процессов. Разработчику необходимо явно настраивать сохраняемость состояний и активацию узлов, если это необходимо для приложения. AppFabric устраняет все эти проблемы, предоставляя средства и службы, упрощающие развертывание приложений, наблюдение за ними, а также настройку функций среды размещения.

Службы и компоненты среды выполнения

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

ASP.NET

Многие базовые функции, выгодно отличающие среду размещения WAS, например домены приложений, управление жизненным циклом, наблюдение за работоспособностью, общая система конфигурации и динамическая компиляция, предоставляются средствами WCF and WF. ASP.NET также предоставляет активацию на основе сообщений для служб WCF и WF, получающий сообщения через HTTP.

WCF и WF

Службы WCF и WF — это элементы, из которых строятся SOA-приложения; именно для них и создавалась система AppFabric. WCF предоставляет унифицированную модель программирования для разработки SOA-приложений, взаимодействующих через Интернет, включающую возможность взаимодействия с приложениями, основанными на других технологиях. WF предоставляет подсистему для реализации долговременных рабочих процессов.

Дополнительные сведения о WCF и WF см. в разделах Windows Communication Foundation и Windows Workflow Foundation.

Базы данных среды выполнения

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

Для выполнения этих условий AppFabric сохраняет сведения о сохраняемости и данные наблюдения в хранилище данных.

Примечание

По умолчанию данные сохраняемости и наблюдения хранятся в одной базе данных. Тем не менее данные можно разделить по отдельным базам данных или даже создать дополнительные базы данных сохраняемости и наблюдения для отдельных приложений.

Дополнительные сведения о базах данных, используемых AppFabric, см. в разделе Администрирование базы данных.

Сохраняемость

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

Помимо обеспечения устойчивости к сбоям и перезапускам, долговременные службы WF могут приостанавливать обычное выполнение в случае необходимости освобождения ресурсов для других приложений и возобновлять выполнение при поступлении сообщения, которое должно обрабатываться материализованным экземпляром службы. Возобновление работы служб WF также может активироваться по прошествии определенного времени с помощью устойчивого таймера, отслеживающего индикатор «запустить в» у материализованных экземпляров WF и возобновляющего экземпляры.

Дополнительные сведения о сохраняемости см. в разделе Основные понятия сохраняемости.

Размещение

AppFabric объединяет среды размещения служб ServiceHost (размещает службы WCF) и WorkflowServiceHost (размещает службы WF) с IIS и WAS. Например, обе среды участвуют в постепенном завершении работы и утилизации appDomain, а также в процессах автозапуска приложений. Хотя объединенная функциональность IIS и WAS обеспечивает надежную среду размещения приложений WCF и WF, использование ее возможностей часто требует от разработчика значительных трудозатрат на развертывание и настройку приложений. В AppFabric предоставляется обширный набор средств, позволяющий единообразно настраивать приложения без необходимости в использовании специализированных решений для развертывания или ручной настройки.

Дополнительные сведения о том, как AppFabric расширяет возможности технологий IIS и WAS, см. в статье Основные понятия размещения.

Наблюдение

Ввиду слабой связанности и распределенности структуры решений на основе служб WCF и WF наблюдение и устранение неполадок зачастую усложняются необходимостью просмотра отдельных служб и ручного коррелирования обнаруженных событий для получения общего представления о состоянии приложения. В AppFabric собираются и коррелируются события из различных источников, что позволяет получить целостное представление о ходе выполнения работающего процесса. Эти данные сохраняются в базе данных, откуда их можно извлечь с помощью средств наблюдения в консоли управления IIS или командлетов ApplicationServer module for Windows PowerShell.

Дополнительные сведения о наблюдении см. в разделе Основные понятия наблюдения.

API управления

Для поддержки широкого спектра сценариев управления в AppFabric предоставляется доступ ко всем функциям управления через ApplicationServer module for Windows PowerShell в форме командлетов. Подобная реализация предоставляет разнообразные возможности для использования функциональности управления (например, интерактивный вызов командлетов в консоли командной строки Windows PowerShell, создание сценариев, вызывающих командлеты, или вызов командлетов из пользовательского приложения).

Дополнительные сведения см. в разделе Средства управления.

Диспетчер IIS

В целях обеспечения централизованной настройки и управления для служб WF и WCF в AppFabric предоставляется обширный набор средств наблюдения и управления для служб WCF и WF, реализованный в диспетчере IIS. AppFabric также использует средство MSDeploy для развертывания служб в среде размещения WAS. MSDeploy можно использовать для развертывания приложений, содержащих службы WCF и WF.

Примечание

Вся функциональность, доступная в консоли управления IIS, основана на ApplicationServer module for Windows PowerShell и реализована с помощью командлетов Windows PowerShell. Соответственно, все задачи, выполняемые через пользовательский интерфейс AppFabric, можно реализовывать с помощью сценариев.

Дополнительные сведения о расширениях AppFabric для диспетчера IIS см. в разделе Средства управления.

Visual Studio

Visual Studio 2010 представляет собой многофункциональную среду разработки, которую можно использовать для создания приложений со службами WCF и WF. Visual Studio 2010 поддерживает прямое тестирование служб в AppFabric при нажатии кнопки F5, а также предоставляет возможность создания пакетов развертывания для проекта, которые можно напрямую импортировать с помощью MSDeploy в среду AppFabric.

Дополнительные сведения о Visual Studio 2010 см. в статье Visual Studio 2010. Дополнительные сведения об использовании Visual Studio 2010 вместе с AppFabric см. в следующих разделах:

См. также

Основные понятия

Общие сведения об архитектуре

  2011-12-05