Windows Azure: Интеграция с другими платформами. Часть 1. SharePoint 2010

Платформа Microsoft Windows Azure построена на открытых стандартах с использованием современных технологий, что позволяет ей легко интегрироваться с другими платформами – как платформами Microsoft (например, SharePoint 2010 или Windows Phone 7), так и с платформами других производителей – Apple iOS, Googe Android и т.п. Ниже мы рассмотрим ключевые ресурсы, предназначенные для разработчиков, которые решают вопросы интеграции приложений на различных платформах с приложениями, развернутыми на платформе Windows Azure и сервисами, предоставляемыми Windows Azure.

Windows Azure и SharePoint

Интеграция Microsoft Windows Azure и SharePoint 2010 основывается на возможностях интеграции данных, доставки содержимого, использования хранилища бинарных объектов (Windows Azure Blob Storage), использования сервисов, работающих на платформе Windows Azure, анализа данных и их отображения в компонентах SharePoint и т.п.

Можно выделить три основных сценария интеграции Microsoft Windows Azure и SharePoint 2010:

  • ASP.NET & IFRAME
  • Использование данных
  • Использование сервисов

В сценарии ASP.NET & IFRAME мы используем содержимое, опубликованное в Windows Azure, и через HTML тэг <IFRAME> отображаем его в компонентах SharePoint.

WA-SPS-01

Рис. Сценарий ASP.NET & IFRAME

В виде HTML-кода реализация данного сценария может выглядеть следующим образом:

<IFRAME id=“azureTest"
src=http://fabrikamazure.cloudapp.net/Default.aspx
scrolling="auto">
</IFRAME>

Преимущества данного интеграционного сценария заключаются в том, что для его реализации не требуется написания дополнительного кода и развертывания дополнительных компонентов на стороне SharePoint. К недостаткам отнесем отсутствие возможности в форматировании и стилизации данных, а также недостаточно «глубокую» степень интеграции.

Второй интеграционный сценарий позволяет использовать в компонентах SharePoint (как стандартных, включенных в комплект поставки, так и дополнительных, написанных, например, на Silverlight) и в источниках данных Business Connectivity Services (BCS) данные, которые располагаются в Windows Azure – например, в Azure Data Mart или в SQL Azure.

WA-SPS-03

Рис. Сценарий использования данных

К преимуществам такого способа интеграции Microsoft Windows Azure и SharePoint 2010 можно отнести возможность использования уже существующих сервисов и простую программную модель для реализации данного сценария. Недостатком же является зависимость решения от конкретного сервиса, являющегося поставщиком данных и от самой схемы данных.

Третий интеграционный сценарий предполагает использование сервисов, развернутых на платформе Windows Azure. Потребителями таких сервисов могут быть стандартные компоненты Windows Azure, Silverlight-компоненты и источники данных Business Connectivity Services (BCS).

WA-SPS-04

Рис. Сценарий использования сервисов

К преимуществам такого способа интеграции Microsoft Windows Azure и SharePoint 2010 можно отнести более «глубокую» интеграцию за счет полного контроля над сервисом, возможность развертывания сервиса в виде объекта SharePoint и поддержку реализации множественных точек входа для более гибкой интеграции. Недостатки такого подхода очевидны – необходимость в сопровождении дополнительного сервиса и потенциально существенно большее, чем в предыдущих сценариях количество кода, необходимого для его реализации.

Ниже приведен пример кода, использующего сервис, реализованный в Windows Azure через Business Connectivity Services.

myAzureSvc.Service1Client myWCFProxy = new myAzureSvc.Service1Client();

varsalesData = myWCFProxy.getAllCustomers();

List<Entity1> mySalesInfoList = new List<Entity1>();

foreach (var item in salesData)

{

  Entity1 tempEntity = new Entity1();

  tempEntity.Identifier1 = item.tempCustID;

  tempEntity.tempCustTitle = item.tempCustTitle;

  tempEntity.tempCustFirstName = item.tempCustFirstName;

  tempEntity.tempCustLastName = item.tempCustLastName;

  tempEntity.tempCustEmail = item.tempCustEmail;

  tempEntity.tempCustPhone = item.tempCustPhone;

  mySalesInfoList.Add(tempEntity);

}

myWCFProxy.Close();

return mySalesInfoList;

Среди дополнительных интеграционных сценариев можно отметить следующие:

  • Использование SharePoint Web-сервисов из сервисов в Windows Azure для манипуляции сайтами, списками, пользователями и другими объектами SharePoint
  • Использование интерфейса REST из сервисов в Windows Azure для взаимодействия с данными в списках SharePoint
  • Использование Workflow для управления сервисами в Windows Azure
  • Использование LINQ для доступа к данным
  • Использование федеративного поиска с включением данных, расположенных в Windows Azure
  • Вызов сервисов через Azure AppFabric Service Bus
  • Использование серверных компонентов Office для генерации и преобразования документов

Как мы увидели выше, интеграционные сценарии для Microsoft Windows Azure и SharePoint 2010 позволяют реализовать различные подходы, основанные на взаимодействии двух продуктов через стандартные механизмы и протоколы. Для того, чтобы познакомиться с возможностями SharePoint 2010 можно скачать виртуальные машины с установленными на них компонентами Office 2010 и SharePoint 2010. Адрес для загрузки - http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21099.

SharePoint and Windows Azure Development Kit

Для того чтобы познакомится с технологиями, позволяющими интегрировать решения на SharePoint и сервисы на Windows Azure выпущен специальный набор обучающих материалов - SharePoint and Windows Azure Development Kit, в котором содержатся презентации и практических лабораторные работы, раскрывающие основные подходы к созданию приложений, использующих возможности SharePoint и Windows Azure.

WA-SPS-02

Рис. Набор обучающих материалов по интеграции Windows Azure и SharePoint 2010

В выпуск за июль 2011 г. включены следующие материалы, сгруппированные в 3-дневный курс (см. раздел «Training Agenda»)

Презентации

  • Windows Azure Platform Overview
  • SharePoint Development using Visual Studio 2010
  • SharePoint and Windows Azure: Getting Started
  • Integrating SharePoint 2010 and Cloud Solutions with Windows Azure
  • Integrating Azure and On-Premises Web Services with SharePoint using jQuery
  • Office 2010 and Windows Azure
  • SharePoint 2010, Bing Maps and SQL Azure
  • Identity and Securing Azure Services for SharePoint
  • Using Windows Azure Blob Storage with SharePoint 2010
  • SharePoint 2010 + Windows Azure Application Model
  • Using Windows Azure with SharePoint Event Handlers
  • Using Windows Azure with SharePoint Workflow

Лабораторные работы

  • Introduction to Windows Azure Marketplace DataMarket
  • Introduction to SQL Azure
  • Introduction to Windows Azure
  • SharePoint Development with Visual Studio 2010
  • SharePoint 2010 and Windows Azure: Getting Started
  • Consuming Windows Communication Foundation Services From SharePoint 2010 and InfoPath 2010
  • Consuming an On-Premise WCF Service from SharePoint 2010 using JQuery
  • Consuming a Windows Azure-Hosted WCF Service from SharePoint 2010 Using JQuery
  • Integrating Azure in Office Solutions
  • Getting Started with Geospatial Applications using SharePoint 2010, SQL Azure and Bing Maps
  • Using Certificate Based Authentication to Consume a Windows Azure WCF Service from SharePoint 2010
  • SharePoint 2010 and Azure: Blob Storage
  • SharePoint 2010 and Azure: Azure Hosted Application Design Pattern
  • SharePoint 2010 and Azure: Event Handlers
  • SharePoint 2010 and Azure: SharePoint Workflow

Видео

Адрес для загрузки SharePoint and Windows Azure Development Kit - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6d2dc556-650a-484f-8f52-f641967b42ea.

Упомянутый выше набор обучающих материалов также доступен в онлайне - http://msdn.microsoft.com/en-us/SPAzureTrainingCourse .

WA-SPS-05

Рис. Онлайновая версия SharePoint and Windows Azure Development Kit

Для более подробного изучения вопросов интеграции SharePoint и Windows Azure также можно обратиться к книге Developing Microsoft SharePoint Applications Using Windows Azure, выпущенной издательством Microsoft Press. Подробнее см. http://blogs.technet.com/b/isv_team/archive/2011/07/22/3442878.aspx.

Во второй части мы рассмотрим способы интеграции Windows Azure и Windows Phone 7.

/АФ