Казанский (приволжский) федеральный университет высшая школа информационных технологий и




Скачать 309.66 Kb.
Название Казанский (приволжский) федеральный университет высшая школа информационных технологий и
страница 8/8
Тип Реферат
rykovodstvo.ru > Руководство эксплуатация > Реферат
1   2   3   4   5   6   7   8

3.4 Разработка публичного API




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

Существует два основных подхода к разработке веб-сервисов - REST12 и SOAP13 . Подход REST отличается простотой разработки и использования, в то время как SOAP предоставляет больше возможностей для кастомизации и ограничений безопасности. В рамках данной работы мы не будем разбирать принципиальные различия между данными подходами, однако для приложения подобного класса важно реализовать как REST, так и SOAP веб-сервисы.

Создадим класс RouteSearchForm (рис. 24). Он будет использоваться в качестве DTO для обоих веб-сервисов.



Рис 24. Класс RouteSearchForm
Для разработки REST API воспользуемся средствами фреймворка Spring. Создадим следующий контроллер:

@RestController

@RequestMapping("/routes")

public class RoutesController {

@Autowired

RouteService routeService;

@RequestMapping(method = RequestMethod.POST)

public List findRoutes(@RequestBody RouteSearchForm form) {

return routeService.findRoutesOneWay(form);

}

}
Отметим класс аннотацией @RestController, а входящий параметр form аннотацией @RequestBody. Фреймворк Spring автоматически преобразует тело запроса HTTP в формате JSON в объект класса RouteSearchForm. Результат из класса Route будет трансформирован в тело ответа в формате JSON и возвращен клиенту. В качестве трансформатора объектов Spring использует библиотеку Jackson14, которая позволяет осуществлять маппинг Java-объектов в форматы JSON и XML и обратно.

В общем случае маппинг происходит автоматически, однако, некоторые типы полей, такие как дата, время, перечисления и т.п. требуют дополнительной настройки с помощью аннотаций Jackson (рис. 25, 26).


Рис 25. Класс RouteSearchForm


Рис 26. enum RouteSortingMode
Для реализации SOAP веб-сервиса используем библиотеку Apache CXF, так как она позволяет без особого труда интегрировать сервисы в контекст фреймворка Spring, что невозможно сделать с использованием Java Servlet API. Настроим endpoint [8]:

<jaxws:endpoint

id="RouteService"

implementor="ru.ignatyev.ws.WSRouteService"

address="/RouteService">

</</span>jaxws:endpoint>
И реализуем сервис:

@WebService(name = "RouteService", serviceName = "PersonsService", portName = "RouteServicePort")

@SOAPBinding(style = SOAPBinding.Style.RPC)

public class WSRouteService {

@Autowired

RouteService routeService;
@WebMethod(operationName = "findRoutes")

@WebResult(partName = "Route", name = "Route")

public List findRoutes(RouteSearchForm form) {

return routeService.findRoutesOneWay(form);

}

}
На этом разработку публичного API будем считать завершенной. Полный листинг разработанных веб-сервисов представлен в приложении1.

ЗАКЛЮЧЕНИЕ




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

Результатом работы является готовый к использованию сервис, который отвечает следующим требованиям:

  1. Возможность поиска авиарейсов по широкому спектру параметров.

  2. Поддержание высокой скорости поиска

  3. Уменьшение количества обращений к Sabre

  4. Возможность работы при отказе систем Sabre

Использованное решение существенно сокращает количество обращений к базам данных SabreSonic, что позволяет авиакомпании уменьшить затраты на обслуживание систем поиска авиарейсов.

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

Описанное решение протестировано на тестовых данных авиакомпании и сейчас находится на стадии внедрения в существующие механизмы поиска.

В данной работе были использованы передовые технологии открытого стека Java: Spring Framework, Neo4j, Quartz, JAX-WS, Apache CXF, Tomcat 8. Данные технологии обеспечивают кроссплатформенную совместимость.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ




  1. Официальная документация PostgreSQL [Электронный ресурс] / The PostgreSQL Global Development Group, 2017. - Режим доступа: https://www.postgresql.org/docs/9.5/static/index.html, свободный - Яз. англ.

  2. Официальная документация MongoDB [Электронный ресурс] / MongoDB, Inc, 2017. - Режим доступа: https://docs.mongodb.com/manual/, свободный - Яз. англ.

  3. Официальная документация Neo4j [Электронный ресурс] / Neo Technology, Inc., 2017. - Режим доступа: https://neo4j.com/docs/, свободный - Яз. англ

  4. Касьянов В. Н. Графы в программировании: обработка, визуализация и применение / В.Н. Касьянов, В.А. Евстигнеев - БХВ-Петербург, 2003. — 1104с

  5. Walls C. Spring in Action / C. Walls - Manning, 2014. - 624c

  6. Robison I. Graph Databases /I. Robison, J. Webber, E. Eifrem. – O’Relly, 2013. -224c

  7. Оре О. Теория графов /О. Оре - Либроком, 2009. - 354с

  8. Vora D. Java 7 JAX-WS Web Services /D. Vora - Packt Publishing, 2012. - 64с



1 https://www.sabreairlinesolutions.com/

2 https://www.postgresql.org/

3 https://www.mongodb.com/

4 https://neo4j.com/

5 https://ru.wikipedia.org/wiki/NoSQL

6 https://neo4j.com/docs/developer-manual/current/cypher/

7 http://www.json.org/json-ru.html

8 http://spring.io/

9 http://www.oracle.com/technetwork/java/javase/jdbc/index.html

10 http://www.quartz-scheduler.org/

11 https://github.com/neo4j-contrib/neo4j-apoc-procedures

12 http://www.service-architecture.com/articles/web-services/representational_state_transfer_rest.html

13 http://www.service-architecture.com/articles/web-services/soap.html

14 https://github.com/FasterXML/jackson
1   2   3   4   5   6   7   8

Похожие:

Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Казанский (приволжский) федеральный университет высшая школа информационных технологий и
Автоматизация построения интерактивной 3D-карты «Паспорт безопасности» в образовательных учреждениях
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Казанский (приволжский) федеральный университет высшая школа информационных технологий и
Разработка мобильного клиента на ос андроид для системы предсказания характеристик химических веществ и реакций
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Казанский (приволжский) федеральный университет высшая школа информационных технологий и
С каждым годом появляется огромное количество разнообразного нового функционала для мобильных устройств, которые сегодня во много...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Казанский (приволжский) федеральный университет высшая школа информационных технологий и
Деркачев Н. В., Деркачев В. И., Быльев Ю. В., Медведева А. Н., Афанасьев Р. В. Расчет зон разрушений зданий и сооружений при взрывах...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Казанский (приволжский) федеральный университет высшая школа информационных технологий и
Казани побывало 2 миллиона туристов [2]. Численность туристов будет продолжать расти, так как уже летом 2018 года Казань примет 21-ый...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Казанский (приволжский) федеральный университет высшая школа информационных технологий и
Примерами таких компаний являются интернет магазины; предприятия, в которых есть специальный системы, работающие в режиме реального...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Национальный исследовательский университет "Высшая школа экономики"...
Разработка предметно-ориентированного языка описания структуры и содержания электронных документов
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Фгаоувпо «казанский (приволжский) федеральный университет» утверждаю...
Вопросы экзамена по специальности 12. 00. 08 – Уголовное право и криминология; уголовно-исполнительное право
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Уважаемые абитуриенты, планирующие поступать в кфу в 2017 году! Спасибо,...
Казанский (Приволжский) Федеральный Университет – один из лучших классических университетов России
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Правила внутреннего распорядка общежитий Общие положения
Правила) федерального государственного автономного образовательного учреждения высшего профессионального образования «Казанский (Приволжский)...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Руководство пользователя электронной торговой площадки федерального...
Федеральное государственное автономное образовательное учреждение высшего профессионального образования
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon О центре информационных технологий
Центр информационных технологий (далее — цит) является структурным подразделением федерального государственного бюджетного образовательного...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Учебно-методическое пособие к лабораторным занятиям по курсу «Основы кристаллооптики»
Практическое руководство по работе с поляризационным микроскопом для исследования петрографических объектов: Учебно-методическое...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Отчет о самообследовании программы высшего образования по направлению...
«микробиология», специализация «микробиология» и «молекулярная биология», реализуемого в федеральном государственном образовательном...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Отчет о самообследовании программы подготовки специалистов среднего...
«Автоматизация технологических процессов и производств (в строительстве)», реализуемой в федеральном государственном образовательном...
Казанский (приволжский) федеральный университет высшая школа информационных технологий и icon Отчет о самообследовании программы подготовки специалистов среднего...
«Автоматизация технологических процессов и производств (в машиностроении)», реализуемой в федеральном государственном образовательном...

Руководство, инструкция по применению






При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск