En

JazzTeam Software Development Company

Agile Java Development

Система учета, анализа и принятия решений по финансовому состоянию клиентов и абонентов

Бизнес составляющая проекта

МФД (Многофункциональный финансовый диспетчер) - это продукт, который входит в группу биллинг и финансы. Эта группа обеспечивает бизнес процессы по расчету услуг, информированию клиентов, формированию нотификаций клиентов для телеком компаний, мобильных операторов и прочих крупных заказчиков в телекоммуникационной сфере.

Продукт МФД предназначен для принятия решений о формировании управляющих воздействий на внешние системы на основании анализа финансовых данных и ключевых характеристик клиентов, полученных из различных источников данных.

Функции МФД:

МФД - это система для отслеживания и анализа биллинговой и финансовой информации по клиентам и абонентам и реагирование на эту информацию путем взаимодействия со сторонними отправителями/получателями (продуктами или внешними системами).

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

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

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

Проект включает в себя три приложения:

  1. HTTP-server c RESTful API сервисами,
  2. сервер, принимающий/отправляющий RabbitMQ сообщения,
  3. приложение для восстановления/актуализации NoSQL локальной базы данных.

В реализованной конфигурации МФД получает RabbitMQ сообщения от многочисленных отправителей в крупной биллинговой системе.

Происходит анализ поступившей информации от внешних отправителей с помощью бизнес-правил, написанных на фреймворке Drools. Далее, в соответствии с реализованной бизнес-логикой, МФД приступает к управлению фичами/услугами абонентов, а также отправкой заявок на создание/удаление различных нотификаций (sms сообщения, e-mail, fax, phone).

После принятия решений МФД отправляет ответные RabbitMQ сообщения в соответствующие внешние продукты. На следующем этапе продукт сохраняет измененные бизнес-объекты (абонентов) в локальную NoSQL базу данных Couchbase, которая служит для быстрого доступа к абонентам.

Также у МФД есть специальный инструмент для восстановления/актуализации NoSQL базы в случае, например, запуска в новом окружении и/или восстановления после аварий.

Какие работы выполнялись командой в части разработки:

Какие работы выполнялись командой в части тестирования:

За время работы на проекте QA командой было создано более 3000 автотестов.
Технологии, которые использовались для создания и запуска авто-тестов:
Java SE + JDBC, Spring, XML, JSON и др., Robot Framework, PostgreSQL, Oracle, TestNG, Allure Framework, CI (Jenkins, TeamCity, VRA), Maven, Git.

Технологии, используемые на проекте

Stack: Groovy, Java SE 7, Java SE 8, Spring, Apache Maven, Apache Tomcat.
Infrastructure: Jenkins, Git, IntelliJ IDEA,Teamcity, Stash, TestRail, Jira, Confluence.
Frameworks: RabbitMQ, Drools, Akka, Apache Karaf, Apache Zookeeper, Apache CXF.
Test Automation libraries: Robot Framework, JUnit + Mockito, TestNG, Allure Framework.
DB: PL/SQL (Oracle database), Couchbase.
Other libraries: Apache HTTP Client, Logback, Slf4j, Jackson, Xstream, Fiddler.

Скриншоты

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

Работа над продуктом в составе сложной многокомпонентной системы велась с участием нашей команды на протяжении более двух лет.

Хочется отметить ряд особенностей, которые сопровождали нашу работу на данном проекте:

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

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

Отзывы клиентов


Александр Золотарев, начальник лаборатории Биллинг и финансы, Peter-Service Inc, Компания-разработчик программного обеспечения для телекоммуникационной отрасли, Санкт - Петербург, Россия

С компанией JazzTeam мы работаем уже много лет. За это время команда JazzTeam стала для нас не только исключительными разработчиками и тестировщиками, но и верными партнерами, друзьями.
Способность выявлять скрытые проблемы и тут же устранять их максимально оперативно и качественно - мне кажется, это естественная составляющая любого проекта, в которых принимает участие JazzTeam.
Стабильная и уверенная работа команды, обдуманные действия, четко поставленные вопросы - это то, что делает JazzTeam профессионалами своего дела.
Отдельно хочется выделить менеджмент команды, который установил высокую планку ответственности и с каждым днем лишь повышает её: наши требования не только слышали, но и слушали, и, что главное, реализовывали именно в том виде, который нам необходим.
Сотрудничество с JazzTeam - это удовольствие, безграничное доверие, которое ребята заработали не словом, а делом и крепкая дружба. Искренне верю, что наше плодотворное сотрудничество продолжится и будет лишь совершенствоваться. Хочу поблагодарить каждого участника команды и пожелать удачи и дальнейших профессиональных успехов!