Работа завершена


НазваниеРабота завершена
страница8/14
ТипДокументы
1   ...   4   5   6   7   8   9   10   11   ...   14

Реализация архитектуры клиент-серверного приложения


Приложение реализует архитектуру клиент-сервер для задач, связанных с мероприятиями университета.

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

В приложении «KFU Guide» сервер реализован с помощью фреймворка Ruby On Rails. Клиентами являются мобильные приложения для платформ Windows Phone, iOS, Android.

Связь между клиентами и сервером на транспортно-сетевом уровне осуществляется по протоколу TCP/IP (набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет). Для организации информационного обмена используется протокол прикладного уровня HTTP и его расширение HTTPS, поддерживающее шифрование. Взаимодействие осуществляется согласно архитектуре REST – стиль построения архитектуры распределенного приложения, в котором данные должны передаваться в виде небольшого количества стандартных форматов (HTML, XML, JSON).

Моя задача заключалась в написании клиента для платформы Windows Phone. Общая архитектура системы KFU Guide изображена на рисунке 7.

      1. Регистрация на сервере.


Для регистрации и авторизации на сервере было решено использовать социальные сети. Так как это позволяет наиболее точно идентифицировать личность зарегистрировавшегося пользователя с помощью Api, предоставляемого социальными сетями. Для этой цели были выбраны следующие социальные сети:

  • Вконтакте – наиболее популярная в России социальная сеть;

  • Facebook – международная социальная сеть.




        1. Синхронизация с Вконтакте.

Перед использованием Api Вконтакте, необходимо зарегистрироваться в социальной сети как разработчик и зарегистрировать свое приложение. После этого выдается идентификационный номер приложения, с помощью которого осуществляется дальнейшее взаимодействие с сервисом.

Для авторизации и регистрации пользователя, социальная сеть Вконтакте использует протокол авторизации OAuth. OAuth – популярный протокол, который позволяет социальным сервисам интегрироваться между собой и предоставляет безопасный способ обмена персональной информацией.

Процесс авторизации приложения состоит из 3-х этапов:

  • Открытие окна браузера для аутентификации пользователя на сайте Вконтакте;

  • Разрешение пользователем доступа к своим данным;

  • Передача в приложение ключа access_token для доступа к API.

В приложении авторизация осуществляется через страницу браузера. Данный способ не дает приложению сохранить личные данные пользователя, вводимые для авторизации в социальной сети.

Для отображение страницы авторизации Вконтакте необходимо перейти по адресу

https://oauth.vk.com/authorize?client_id=3737326&scope=pages&redirect_uri=https://oauth.vk.com/blank.html&display=wap&v=4.8&response_type=token, где

client_id – идентификационный номер приложения,

scope – запрашиваемые приложением права доступа,

redirect_uri – адрес, на который будет передан access_token,

display – внешний вид окна авторизации, поддерживаются: page, popup и mobile.

v – версия API.

После успешного входа на сайт, пользователь должен разрешить доступ приложению к необходимым настройкам, запрошенным при помощи параметра scope.

После успешной авторизации браузер пользователя будет перенаправлен по адресу redirect_uri, а ключ доступа к API и другие параметры будут переданы приложению в URL-фрагменте ссылки:

https://oauth.vk.com/blank.html#access_token= 533bacf01e11f55b536a565b57531ad114461ae8736d6506a3&expires_in=86400&user_id=8492, где

access_token – ключ доступа к API Вконтакте,

expires_in – время актуальности ключа доступа в секундах, если время ключа доступа истекло, необходимо повторить все предыдущие шаги,

user_id – идентификационный номер пользователя Вконтакте.

После получения ключа доступа, приложение получает доступ к API.


        1. Синхронизация с Facebook

Алгоритм авторизация пользователя через Facebook схож с алгоритмом авторизации через Вконтакте.

Первым шагом синхронизации является регистрация приложения и получение его идентификационного номера.

Для авторизации пользователя Facebook так же использует протокол OAuth.

Процесс авторизации в социальной сети Facebook состоит из 3-х шагов:

  • Открытие окна браузера для аутентификации пользователя на сайте Facebook;

  • Передача в приложение ключа access_token для доступа к API ;

  • Запрос и получение идентификационного номера пользователя user_id.

Для отображения страницы авторизации пользователя приложению необходимо перейти по ссылке

https://www.facebook.com/dialog/oauth?client_id=497295983680210&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=email&display=wap&response_type=token, где

client_id – идентификационный номер приложения,

scope – запрашиваемые приложением права доступа,

redirect_uri – адрес, на который будет передан access_token,

display – внешний вид окна авторизации, поддерживаются: page, popup и mobile.

После успешный авторизации приложение получает ключ access_token в URL-фрагменте.

После получения ключа access_token необходимо получить идентификационный номер пользователя социальной сети. Для этого необходимо отправить запрос по адресу

https://graph.facebook.com/me?fields=id&access_token=ACCESS_TOKEN, где ACCESS_TOKEN – ключ доступа, полученный на предыдущем этапе.

      1. Передача информации на сервер

После авторизации через социальную сеть полученные данные отправляются по защищенному протоколу на сервер с помощью Post-запроса.

Запрос отправляется по адресу http://guiddy.fosslabs.ru/sessions.

Сервер обрабатывает данные и возвращает идентификатор сессии, с помощью которого осуществляется дальнейшее взаимодействие с сервером. Идентификатор сессии сохраняется в локальном хранилище настроек смартфона и передается параметром в запросах отправки событий на сервер.

      1. Отправка нового события


Для реализации отправки события на сервер используется Post-запрос с параметрами: заголовок события, подробное описание события, дата проведения, время начала и время конца, идентификационный номер здания, идентификационный номер аудитории, в которой проводится событие, идентификационный номер типа мероприятия. К параметрам добавляется идентификатор сессии для того, чтобы установить личность автора события. Запрос отправляется по адресу http://guiddy.fosslabs.ru/event_with_room.

      1. Получение списка событий


Для получения списка мероприятий нашего университета необходимо отправить запрос на сервер по адресу http://guiddy.fosslabs.ru/events.json. Ответ приходит в формате JSON – текстовый формат обмена данными, основанный на JavaScript. Его главное преимущество заключается в том, что JSON легко читается и понимается людьми. Для того чтобы осуществить разбор данного формата, была использована библиотека Newtonsoft.Json.

К событиям применяются два типа фильтров. Для того чтобы применить фильтр по типу события, необходимо отправить запрос по адресу http://guiddy.fosslabs.ru/TYPE_events, где TYPE – один из типов событий: study, science, sport, cultural, meeting, other. Ответ приходит в формате JSON.

Фильтр по аудитории применяется с помощью отправки запроса на сервер по адресу http://guiddy.fosslabs.ru/rooms/ROOM_ID, где ROOM_ID – идентификационный номер аудитории, по которой применяется фильтр. Ответ приходит в формате JSON.

      1. Поиск свободной аудитории


Для получения списка свободных аудиторий необходимо отправить Post-запрос по адресу http://guiddy.fosslabs.ru/empty_rooms с параметрами: идентификационный номер здания и временной промежуток. В ответ приходит список аудиторий в формате JSON, которые свободны в выбранный промежуток времени.

1   ...   4   5   6   7   8   9   10   11   ...   14

Похожие:

Работа завершена iconРабота завершена

Работа завершена iconРабота завершена
Троелсен Э. Язык программирования C# 0 и платформа. Net 5 / Э. Троелсен – Санкт-Петербург: «Наука», 2013. – 1311 с. 65

Работа завершена iconПодготовка пакета документов для сдачи диссертационной работы в совет...
...

Работа завершена iconПодготовка документов для сдачи диссертационной работы в специализированный...
...

Работа завершена iconДепартамент Росприроднадзора по пфо
Завершена плановая комплексная проверка в отношении ОАО «Литейно-механический завод»

Работа завершена iconПорядок ведения и оформления тетрадей по русскому языку и литературе
Например: Проверочная работа. Самостоятельная работа. Контрольная работа. Работа над ошибками. Изложение. Сочинение

Работа завершена iconФедеральной налоговой службы
Фнс россии рекомендует организациям подавать заявление об учете в инспекцию по месту нахождения недвижимого имущества, регистрация...

Работа завершена iconСинодалова Екатерина Александровна
Обязанности: работа с документацией, прием телефонных звонков, работа с оргтехникой, работа с компьютером

Работа завершена iconДепартамент Росприроднадзора по пфо
Завершена плановая комплексная проверка в отношении ООО «жкх «Сатис». В ходе проведения проверки выявлены нарушения обязательных...

Работа завершена icon1 общие положения выпускная квалификационная работа (дипломная работа)
Выпускная квалификационная работа (дипломная работа) представляет собой законченную разработку, в которой решается актуальная для...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск