ДжазТим — надежный технологический партнер

Agile разработка ПО на Java

Разработка бэкенда сложной системы в сфере путешествий

Бизнес-вызов

Разработка решения в сфере путешествий, которое будет взаимодействовать с такими глобальными системами дистрибуции, как GDS и Galileo.

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

Технологические особенности проекта

  • В процессе работы над проектом команде ДжазТим было необходимо быстро освоить OTA-схемы (включая XSD, XML). Благодаря тому, что у нашей компании уже был специфический опыт, связанный с Travel-индустрией, это удалось сделать в необходимые сроки.
  • Было необходимо разработать легко расширяемый бэкенд. Применение Drools и бизнес-правил помогло это обеспечить.
  • На проекте были достаточно серьёзные архитектурные вызовы. Часть функционала реализована на микросервисной архитектуре. Также ввиду различных требований к производительности использовались и реляционные, и нереляционные базы данных.
  • Ввиду специфики проекта требовалось фундаментальное понимание JTA (Java Transaction API).
  • В процессе работы нашей командой предложено достаточно нетипичное использование технологии Apache Solr.

Особенности проекта

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

Технологии: Spring Boot, Swagger, Redis, Apache Kafka, Apache Solr, MongoDB, JTA, XSD, XML, Drools, Robot Framework, Selenide.

Подходы и решения

  • Совмещение традиционных подходов к разработке с микросервисной архитектурой там, где это действительно было обосновано. Такой подход позволил решить проблемы, которые были, но при этом максимально сэкономить средства заказчика.
  • Ввиду большого количества комбинаций ситуаций для обработки на уровне бэкенда, принято решение создать фреймворк для автоматизированного тестирования на основании Robot Framework. Разработка средств автоматизации заняла достаточно большую часть данного проекта.
  • Тестирование сложных UI-компонентов с применением библиотеки Selenide.

Результаты:

  • Разработана бэкенд-часть сложной системы с учётом всех требований по качеству и производительности, выдвинутых заказчиком.
  • Проведено комплексное автоматизированное тестирование бэкенд-части системы.
  • Учтены требования по пиковым нагрузкам на систему. После реализации необходимых работ замерена производительность разработанных компонентов.
  • Создан полный набор скриптов для сборки и установки компонентов приложения, а также применена контейнеризация.

Достижения компании на проекте

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

Свяжитесь с нами, чтобы обсудить Ваш IT-проект

    Имя *

    Название компании

    Email *

    Телефон

    Чем мы можем Вам помочь? *

    * – Обязательные поля для заполнения