Идея одного из проектов, над которым мне довелось работать в последнее время, заключалась в создании базы данных продуктов питания: штрих-код, состав, вредные добавки и т.д. Поскольку эту базу данных предполагалось использовать на мобильных устройствах, в частности Windows Phone 7, решение о том, какие технологии хранения данных использовать при разработки проекта склонялось к одной из технологий: Windows Azure SQL Databases (WASQLDB) или же SQLite for WP 7. Однако после создания прототипов проекта были взвешены все «за» и «против» каждого прототипа, и, в конечном итоге, предпочтение было отдано Windows Azure, о чем мы нисколько не пожалели впоследствии. Я постараюсь рассказать о нашем опыте использования Windows Azure OData в разработке приложения для Windows Phone 7.
Передачу данных из Windows Azure SQL Databases на клиент достаточно просто осуществить с использованием OData WCF Services. OData представляет данные в качестве источников, к которым можно обращаться по URL, изменять данные можно с помощью стандартных HTTP-заголовков. Для представления источников в качестве наборов сущностей, связанных с помощью ассоциаций OData использует связи и сущности модели EDM. В результате доступ к этим службам можно получить из любого клиента, который поддерживает OData. Собственно, сам процесс не занимает много времени и представляет собой «разработку на одном дыхании». Я расскажу, Вам, о том, как создать клиент для приема данных из Windows Azure, а именно Windows Azure SQL Databases.
Создаем новый проект ASP.Net Web Application.
Далее создаем подключение к WASQLDB. Windows Azure SQL Data Bases – проекция традиционного SQL Server на облако, предоставляющая возможности для работы с базой данных посредством интернет-сервисов. Эта технология позволяет исполнять реляционные запросы, а также предоставляет функционал для осуществления поиска, создания аналитических отчётов, интеграции и синхронизации данных.
Прежде чем приступать к созданию WCF Data Services, понадобятся данные, с которыми придется работать. Для предоставления этих данных используется Entity Framework.
После того, как настройки источника данных закончены, добавляем поддержку ADO.NET Entity Framework Model в проект.
Далее добавляем службы WCF Service в проект и изменяем код.
Теперь мы должны добавить некоторый код для только что созданного Data Service, и отредактировать первую строчку, указав источник данных, который создавали ранее. Установим также правила доступа для таблиц в БД.
На данном этапе можно проверить правильность выполнения работы, запустив проект. Для того, чтобы перейти и увидеть структуру БД, необходимо перейти по ссылке: http: //localhost:47274/wcfdataservice1.svc/
Итак, создание WCF-сервиса закончено. Теперь же остается создать прокси-класс для подключения к сервису на клиенте. Запустим cmd.exe и воспользуемся нехитрой командой для создания прокси:
В результате получаем файл Proxy.cs, который и содержит прокси-класс. Далее мы можем использовать этот класс где угодно — от консольных до мобильных приложений. При этом нам останется только указать адрес, по которому расположен сервис.
Автор: Jimmy_J