Размещение приложений Silverlight на облачной платформе
Цель лекции: изучение последовательности развертывания приложений Silverlight в облачной среде. А также порядок создания и настройки основных облачных служб и сервера баз данных SQL Azure.
Приложение Silverlight может быть размещено в Microsoft Azure. C точки зрения разработчика использование облачной платформы значительно упрощает механизмы развертывания Silverlight приложений. Так в Azure пропадает необходимость в установке и настройке сервера и настройке доменов на использование из внешней сети, а оплата аппаратных ресурсов осуществляется по факту их реального использования. Для Silverlight особое значение имеет служба хостинга, которая позволяет размещать Silverlight приложения, хранилище, которое используется для размещения различных ресурсов приложения, таких как изображения, видео и файлы, а служба SQL Azure позволяет размещать базу данных приложений.
Первый сценарий заключается в использовании облака для развертывания уже существующего Silverlight бизнес-приложения, которое состоит из следующих компонентов:
- Базы данных размещенной в SQL Server R2.
- Приложения Silverlight размещённого на сервере в виде ASP.Net приложения.
На первом этапе развертывания переносится база данных. На рисунке 4.1 представлена схема базы данных которая должна бать размещена в облаке.
В SQL Azure необходимо создать пустую базу данных, для этого необходимо иметь учетную запись в Windows Azure. База данных рассчитана на обработку не очень большого объема информации, то для нее устанавливается тип Web ( рис. 4.2).
После создания базы данных с помощью инструмента SQL Azure Migration Wizard доступного на CodePlex (http://sqlazuremw.codeplex.com/) можно импортировать существующую схему базы данных и данные в облачную базу ( рис. 4.3).
В ходе импорта мастер миграции выполнит анализ существующей базы данных, так как не все элементы базы данных SQL Server могут быть перенесены в облако и анализ выявляет эти проблемы. После определения проблем необходимо вручную внести рекомендуемые исправлению в базу SQL Server и затем можно произвести миграцию.
В заключении необходимо изменить строку подключения в файле web.config нашего приложений, чтобы она ссылалась на облачную версию базы данных и база данных будет готова к использованию.
<connectionStrings> <add name="CityHotelsEntities" connectionString="metadata=res://*/CityHotelModel.csdl|res://*/CityHotelModel.ssdl|res: //*/CityHotelModel.msl;provider=System.Data.SqlClient;provider Connectionstring="data source=vextmrs0m2.database.windows.net;initial catalog=CityHotels;user id=gillcleeren; password=SOMEPASSWORD;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> </connectionStrings>
После создания базы данных следующим шагом будет перенос служб доступа к данным и реализация их в облаке. В существующем приложение службы реализованы в виде отдельного проекта ServiceHostingSite.
Для переноса этого проекта в облако необходимо добавить новый Windows Azure Project (с именем CityHotelBrowserCloud). Для этого в существующем решении создается проект ASP.Net Role ( рис. 4.4).