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.
Рис. Сценарий 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.
Рис. Сценарий использования данных
К преимуществам такого способа интеграции Microsoft Windows Azure и SharePoint 2010 можно отнести возможность использования уже существующих сервисов и простую программную модель для реализации данного сценария. Недостатком же является зависимость решения от конкретного сервиса, являющегося поставщиком данных и от самой схемы данных.
Третий интеграционный сценарий предполагает использование сервисов, развернутых на платформе Windows Azure. Потребителями таких сервисов могут быть стандартные компоненты Windows Azure, Silverlight-компоненты и источники данных Business Connectivity Services (BCS).
Рис. Сценарий использования сервисов
К преимуществам такого способа интеграции 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.
Рис. Набор обучающих материалов по интеграции 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 2010 and Windows Azure Training Course
- What is Windows Azure?
- Introduction to VS2010 SharePoint Tools
- Getting Started with Integrating SharePoint 2010 and Windows Azure Video
- Integrating Windows Azure in Office 2010 Solutions Video
Адрес для загрузки 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 .
Рис. Онлайновая версия 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.
/АФ