Опубликован: 20.12.2011 | Уровень: специалист | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 6:

Windows Azure AppFabric

< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Аннотация: В данной лекции рассмотрены следующие вопросы: архитектура Windows Azure AppFabric – основной компоненты Windows Azure для управления приложениями.

Цель лекции: Ознакомление с Windows Azure AppFabric – основной компоненты Windows Azure для управления приложениями; с компонентами самой AppFabric и их возможностями для пользователей.

Презентацию к данной лекции Вы можете скачать здесь.

5.1. Введение

Windows Azure AppFabric – основная компонента Azure, предназначенная для управления приложениями в "облаке". Слово fabric буквально означает "ткань". По классу ПО (см. "Обзор архитектуры современных программных систем" ) Azure Fabric относится к промежуточному ПО (middleware). Azure AppFabric предназначена для поддержки разработки, развертывания и обслуживания приложений в Azure Platform.

Windows Azure AppFabric предоставляет современную облачную платформу программного обеспечения промежуточного уровня для разработки, развертывания и управления приложениями на платформе Windows Azure. Кроме того, AppFabric обеспечивает высокую производительность программистов на уровне модели Platform-as-a-Service (PaaS) в среде Windows Azure. AppFabric обеспечивает связь существующих приложений разработчика с облаком и поддерживает их безопасную связь в сети, связывающей различные географически удаленные точки, и обеспечивает целостную модель разработки как для Windows Azure, так и для Windows Server.

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

5.2. Компоненты облачных платформ. Облачные платформы типа Private (On-Premise), Infrastructure-as-a-Service, Platform-as-a-Service, Software-as-a-Service

Согласно классификации в работе [2], любая облачная платформа состоит из следующих основных компонент:

  • приложения (applications)
  • среды поддержки выполнения (runtimes)
  • механизмы безопасности и интеграции (security & integration)
  • базы данных (databases)
  • серверы (servers)
  • средства виртуализации (virtualization)
  • серверное компьютерное оборудование (server hardware)
  • память (storage)
  • сетевые средства (networking).

Будем далее придерживаться этой классификации.

В соответствии с ней, облака подразделяются на следующие виды:

  • Private (On-Premise) – частное облако; клиент-разработчик ПО управляет всеми перечисленными компонентами;
  • Infrastructure-as-a-Service (IaaS) – облако вида инфраструктура как сервис; клиент-разработчик ПО управляет приложениями, средами поддержки выполнения, механизмами безопасности и интеграции, базами данных, всеми остальными компонентами управляет поставщик облака (cloud provider);
  • Platform-as-a-Service (PaaS) – облако вида платформа как сервис; клиент-разработчик ПО управляет только своими приложениями, всем остальным управляет поставщик облака;
  • Software-as-a-Service (SaaS) – облако вида ПО как сервис; клиент-разработчик ПО не управляет никакими компонентами, все делает за него автоматически поставщик облака.

По классификации, Windows Azure относится к облачной платформе вида PaaS, т.е. клиенту-разработчику предоставляются средства управления облачными приложениями (это как раз и обеспечивает компонента AppFabric).

Пример облачной платформы типа SaaSWindows Live: она предоставляет готовые облачные приложения и сервисы, например, аналог Microsoft Office, пользователь может их применять для своих задач, но сам своих облачных приложений не создает).

Отметим еще раз, что в облаке вида платформа как сервис [2], в отличие от облака вида инфраструктура как сервис, клиент облака управляет только своими приложениями.

Виды облаков и их компоненты изображены на рис. 5.1 [2].

Виды облаков и их компоненты.

Рис. 5.1. Виды облаков и их компоненты.

5.3. Архитектура и компоненты Windows Azure AppFabric

Архитектура Windows Azure AppFabric изображена на рис. 5.2.

Архитектура Windows Azure AppFabric.

увеличить изображение
Рис. 5.2. Архитектура Windows Azure AppFabric.

Windows Azure AppFabric состоит из трех основных компонент:

  • Access Control (управление доступом)
  • Bus Service (Сервис шины)
  • Cache (Кэш – Ассоциативная память).

Windows Azure AppFabric обеспечивает предварительно подготовленные, высокоуровневые сервисы ПО промежуточного уровня, которые повышают уровень абстракции и уменьшают сложность разработки облачных приложений. Эти сервисы открыты и носят многоязыковый характер, т.е. могут быть использованы из программы, написанной на другом языке (любом языке, реализованном в .NET; Java; JavaFX Script; Ruby, PHP и др.), и предоставляют разработчикам мощные библиотеки классов для разработки облачных приложений. Разработчики могут использовать каждый из этих двух сервисов отдельно или объединять сервисы в одно составное программное решение. Эти сервисы включают:

Шину сервисов (Service Bus). Обеспечивает безопасный обмен сообщениями и сетевые возможности, которые поддерживают построение распределенных и изолированных приложений в облаке, а также гибридных приложений, сочетающих в себе локальные и облачные приложения. Шина сервисов поддерживает использование большого набора протоколов и шаблонов кода для коммуникации и обмена сообщениями.

Управление доступом (Access Control). Access Control обеспечивает несложные методы определения идентичности и управления доступом для Web-приложений и сервисов, а также интеграции с общепринятыми поставщиками таких услуг - Active Directory®, Windows Live ID, Google, Yahoo! , Facebook.

Кэширование (Caching) – распределенный, находящийся в памяти, сервис для кэширования приложений Windows Azure и SQL Azure.

Интеграция (Integration). Сервис Integration обеспечивает интеграцию с BizTalk Server (конвейер, трансформации, адаптеры) на платформе Windows Azure, используя готовые к применению шаблоны интеграции для ускорения и упрощения разработки. Он также поддерживает высокоуровневые возможности для бизнес-пользователей, такие, как Business Activity Monitoring and Rules, а также "портал самообслуживания" для сообщества торговых партнеров и конвейеры business-to-business.

Пользовательский код (Custom Code). В дополнение к предварительно подготовленным сервисам промежуточного программного обеспечения, AppFabric также содержит все необходимо окружение для пользовательских кодов для .NET, например, web-сервисов, разработанных в среде Windows Communication Foundation (WCF), и рабочие планы, построенные с использованием Windows Workflow Foundation (WF). Поддерживает мощный и эластичный хостинг пользовательской бизнес-логики как части Вашего облачного приложения.

5.4. Использование Windows Azure AppFabric средствами Java-технологии

На рис. 5.3 представлены ссылки на инструменты разработки облачных приложений в Windows Azure средствами Java-технологии - AppFabric SDK для разработчиков.

AppFabric SDK для разработчиков

увеличить изображение
Рис. 5.3. AppFabric SDK для разработчиков

Несмотря на то, что фирма Oracle еще только решает, каким образом ввести в Java-технологию явные средства поддержки облачных вычислений, уже сейчас доступны инструменты, позволяющие работать в облаке на Java, но не в облаке Oracle, а в облаке Microsoft Windows Azure. Это очень важный результат корпорации Microsoft.

< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Andreas Kistner
Andreas Kistner
Германия, Limburgerhof
Alexander Vizelka
Alexander Vizelka
Россия