Научная статья на тему 'Веб-сервис для оценивания работы городского транспорта'

Веб-сервис для оценивания работы городского транспорта Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
189
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ-СЕРВИС / ANDROID-КЛИЕНТ / ОЦЕНИВАНИЕ РАБОТЫ / ГОРОДСКОЙ ТРАНСПОРТ / WEB-SERVICE / ANDROID-CLIENT / EVALUATION OF WORK / URBAN TRANSPORT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фадеев А. Е.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Web service for PUBLIC transportATION evaluation

Evaluation and improvement the quality of public transportation with the mobile android-client, which receives information about the location of transport, and with the help of the developed web-service to comment and evaluate.

Текст научной работы на тему «Веб-сервис для оценивания работы городского транспорта»

УДК 004.78

ВЕБ-СЕРВИС ДЛЯ ОЦЕНИВАНИЯ РАБОТЫ ГОРОДСКОГО ТРАНСПОРТА

А. Е. Фадеев

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева

Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: [email protected]

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

Ключевые слова: Веб-сервис, android-клиент, оценивание работы, городской транспорт. WEB SERVICE FOR PUBLIC TRANSPORTATION EVALUATION

A. E. Fadeev

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]

Evaluation and improvement the quality of public transportation with the mobile android-client, which receives information about the location of transport, and with the help of the developed web-service to comment and evaluate.

Keywords: Web-service, android-client, evaluation of work, urban transport.

В работе [6] был рассмотрен Android-клиент для сайта по отслеживанию и прогнозированию местоположения Красноярского городского транспорта. Этот сайт помогает если не исключить, то хотя бы свести к минимуму время ожидания автобуса, трамвая или троллейбуса на остановке.

Опыт эксплуатации Android-клиента показал, что для расширения его возможностей необходимо создать сервис, который позволит пользователю оценивать качество транспорта и обслуживания, а также удобство маршрута и фактическое время ожидания транспорта. Кроме того, собранные данные помогут пассажирам выбирать действительно качественного перевозчика. Так как в приложении имеются данные даже о государственном номере транспорта, то можно оценить работу конкретного экипажа и кондуктора. Кроме того, такой сервис можно использовать для сохранения личных данных пользователя, например, избранных остановочных пунктов, маршрутов, транспортных карт. Анализ аналогичных мобильных клиентов [2; 5; 7] показал, что поддержки подобных функций нет ни у одного из них, что делает задачу по созданию такого сервиса актуальной.

Первым шагом на пути решения поставленной задачи стал выбор средств и технологий разработки веб-сервиса. На основе анализа различных хостингов и веб-серверов было решено писать серверную часть сервиса на языке PHP под управлением сервера Apache, в связи с его доступностью и лидирующей позицией в рейтинге популярных. В качестве системы управления базами данных подобные хостинги, как правило, предоставляют MySQL различных версий. А также необходимо использование расширения PDO [3] - расширение для PHP, предоставляющее разработчику простой и универсальный интерфейс для доступа к различным базам данных, а также защите от SQL-инъекциями с помощью Prepared Statement.

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

Актуальные проблемы авиации и космонавтики - 2016. Том 1

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

3 TransportFavorite

J StationFavorite

f AccountEd INT f Stationld INT

- Ограничения

f FK_StationFavorite_Account_Id f FK_StationFavorite_Station&_Id э Индексы

jji FK_StationFavorite_Account_Id ■ FK_StationFavorite_Stations_Id

T

yf AccountEd IIMT

I TransportNumber VARCHAR

Ограничения

'i PRIMARY

f FK_Tran5portFavorite_Account_Id

FK_Stati o n Fav o rite_Acco u nt_Id

и-

H Account

FK_Tra n sp o rtFav o rite_Acco u nt_Id

FK_St ati o n Fav o rite_£tati о г s_I d

□ Stations

Й

f Id

f Station Name VARCHAR

- Ограничения

? PRIMARY

- Индексы

Г StationName

Î м INT

f Email VARCHAR

CreationDate DATETIME

UpdateDste DATETIME

AppVersion BUT

- Ограничения

1 PRIMARY

- Индексы

Email

FK_Tra n&po rtEv a I u ati o n_Acco u nt_Id

Э TransportCard

AccountEd INT CardNumber VARCHAR CardName VARCHAR Correct! DOUBLE Correct DOUBLE Ограничения

f FK_TransportC:ard_Account_Id Индексы

f UK_AccountIdTran5portCard

3 TransportEvaluation

I Id INT

f AccountEd INT

TransportNumber VARCHAR

StateNumber VARCHAR

Comment VARCHAR

EvaluationDate DATETIME

TransportRating SMALLINT

WaitingRating SMALLINT

Service Rating SMALLINT

Route Rating SMALLINT

CreationDate DATETIME

- Ограничения

? PRIMARY

f FK_Transport£valuatjon_Account_Id

в Индексы

■ FK_Transport£valuation_Account_Id

Физическая модель базы данных

При создании веб-сервиса было решено использовать REST-архитектуру [4], так как она является современной и развивающейся. Данная архитектура представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой гипермедиа-системы. В определённых случаях это приводит к повышению производительности и упрощению архитектуры в целом.

Android-клиент при каждом обращении к веб-сервису должен передавать через POST-параметр свой аккаунт Google, на который зарегистрирован смартфон. На основе этого аккаунта из таблицы Account извлекается Id пользователя (или заносится туда, при его отсутствии), далее, с помощью Id пользователя, можно выполнять основные операции с базой данных по добавлению, изменению и удалению личных данных. Совокупность запросов к сервису - представляет собой API (интерфейс программирования приложений, от англ. application program interface). Все разработанные API-методы REST-сервиса представлены в таблице.

Все ответы сервиса генерируются в формате JSON [1] - это очень популярный текстовый формат обмена данных, который, к тому же, можно легко интерпретировать с помощью встроенных классов в язык Java системы Android.

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

API методы веб-сервиса

№ Метод URL Параметры Описание

1 GET /Sync/ Получение всех личных данных синхронизации: остановки, транспорт, транспортные карты, отзывы

2 POST /Sync/Card/ Card[], Name[] Передача данных о текущих транспортных картах для синхронизации

3 POST /Sync/Transport/ Transport[] Передача информации о текущем избранном списке транспорта

4 POST /Sync/Station/ Stations[] Передача информации о текущем списке избранных остановок

5 POST /Comment/ TransportNumber StateNumber Comment Rating TransportRating WaitingRating ServiceRating RouteRating Метод для отправки отзыва с оценками для маршрута

6 GET /Comment/ TransportNumber StateNumber Offset Получение отзывов и оценок. Параметры являются опциональными. Если их не задать - сервис вернет последние 15 отзывов. Параметр TransportNumber - задает номер маршрута, StateNumber - гос. номер транспорта. Параметр Offset задает позицию, с которой надо возвращать отзывы, по умолчанию равен нулю

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

Библиографические ссылки

1. JSON [Электронный ресурс] // Wikipedia.org: свободная энцикл. 2016. URL: http://ru.wikipedia.org/wiki/JSON (дата обращения: 03.04.2016).

2. KrasBus [Электронный ресурс] // Play.google.com: Google Play. 2016. URL: https://play.google. com/store/apps/details?id= ru.softc.krasbus (дата обращения: 03.04.2016).

3. PDO [Электронный ресурс] // Hashphp.org: о языке PHP, 2016. URL: http://wiki.hashphp.org/ PDO_Tutorial_for_MySQL_Developers (дата обращения: 19.04.2014).

4. REST-Service [Электронный ресурс] // Wikipedia.org: свободная энцикл. 2016. URL: https://ru. wikipedia.org/wiki/REST (дата обращения: 03.04.2016).

5. Время автобуса [Электронный ресурс] // play.google.com: Google Play, 2016. URL: https://play. google.com/store/apps/details?id=com.indie.bustime (дата обращения: 03.04.2016).

6. Фадеев А. Е. Android-клиент для Красноярского сайта по отслеживанию положения автобусов : Актуальные проблемы авиации и космонавтики : тезисы докл. X Всерос. конф. творческой молодежи ; СибГАУ. Красноярск, 2014.

7. Яндекс-транспорт [Электронный ресурс] // Play.google.com: Google Play, 2016. URL: https:// play.google.com/store/apps/details?id=ru.yandex.yandexbus (дата обращения: 03.04.2016).

© Фадеев А. Е., 2016

i Надоели баннеры? Вы всегда можете отключить рекламу.