En

JazzTeam Software Development Company

Agile Java Development

Централизованная система онлайн продажи билетов в реальном времени

Краткое описание проекта: cистема предназначена для централизации онлайн-продаж билетов на различные мероприятия. Платформа предоставляет следующие возможности:

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

В качестве сервера приложения использовался WildFly. Приложение предоставляет REST API сервисы для доступа к своему функционалу. API реализовано с использованием библиотеки RESTEasy. Обмен данными между клиентом и сервером производится в формате JSON, что позволяет унифицировать API для всех платформ. Запросы, получаемые REST-сервисами, проходят проверку уровня доступа, за это отвечает фреймворк Picketlink. Далее следует валидация запроса с помощью Bean Validation API.

Приложение использует API Facebook, Google, Vkontakte для регистрации/авторизации через социальные сети.

Взаимодействие с базой данных осуществляется с помощью Hibernate.
В качестве БД использована PostgreSQL. Одновременно происходит работа с двумя БД. Для сокращения времени доступа к некоторым данным используется распределенный кэш Infinispan и технология для индексации баз данных для ускорения поиска по некоторым таблицам (Apache SOLR).

Приложение способно по запросу генерировать отчеты с использованием технологии Birt. Генерация возможна в нескольких форматах: HTML, XLS, PDF. Стандартная подсистема логирования WildFly в приложении заменена на Logback. Утилита Hawtio позволяет собирать и визуализировать информацию о состоянии приложения и сервера.

Работа над проектом была разбита на несколько фаз. Фаза - анализа, и несколько фаз разработки. На каждой фазе разработки велась работа над реализацией определенных use cases.

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

На фазах разработки были реализованы в полном объеме все необходимые части функционала back-end составляющей проекта. Составлена подробная техническая документация, применен фреймворк Swagger, позволяющие визуализировать документацию и компоненты системы, для лучшей синхронизации команды разработчиков.

Технологии: Java, EJB, JAX-RS/RestEasy, JPA/Hibernate, Picketlink, Wildfly (JBoss), PostgreSQL, Facebook/Google+/Vkontakte API, Eclipse BIRT, Hawtio, Swagger, TestNG, Logback, Quartz, Redmine, Microsoft Project

Скриншоты:

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

Результат проекта:

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