En

JazzTeam Software Development Company

Agile Java Development

Разработка системы интеграции для торговой компании

Mule SoftКраткое описание проекта: заказчик является владельцем международной розничной системы по продаже товаров и комплектующих к ним. Главной проблемой заказчика являлось отсутствие глубокой интеграции между различными компонентами системы, так как у заказчика они в большинстве случаев работали обособленно: в разных странах у разных дистрибьюторов функционировали различные ERP системы, которые требовали к себе разного подхода от E-Commerce системы. Также на стороне заказчика присутствовали PIM (Product Information Management) и CRM (Customer Relationship Management) системы.

Перед командой JazzTeam была поставлена глобальная задача – создать для E-Commerce системы отдельный компонент, который бы связывал ее с другими частями системы вне зависимости от того, какая ERP система применяется дистрибьютором.

Этот компонент получает запросы от клиентов из E-Commerce системы и передает их в системы нижнего уровня (ERP, CRM и PIM), возвращает данные от них, а также обеспечивает их сценарное взаимодействие друг с другом.

Система обмена данными разработана нами на платформе Mule ESB и включает в себя два слоя:

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

  1. E-Commerce – систему, отвечающую за хранение и обработку данных клиентов.
  2. CRM (Customer Relationship Management) – систему, отвечающую за хранение данных о клиентах.
  3. ERP (Enterprise Resource Planning) – системы, отвечающие за обработку заказов в определенных странах, а также за хранение данных о покупках, наличии товара на складах.
  4. PIM (Product Information Management) – систему, отвечающую за хранение больших объемов информации о товарах.

Для конечного пользователя система выглядит как сайт, где пользователь должен иметь возможность:

  1. Ознакомиться со всеми товарами с учетом их иерархии и классификации, просмотреть изображения товаров, получить детальную характеристику определенного товара.
  2. Получить информацию о наличии товаров на складах, а также у дилеров.
    Посмотреть, когда будут доставлены товары, которых нет в наличии.
  3. Получить сведения об официальных дилерах: контактную информацию, местоположение на карте, время работы, оказываемые услуги.
  4. Купить товар и его комплектующие или аксессуары:
    • выбрать способ доставки;
    • оплатить заказ онлайн или оформить рассрочку платежа;
    • получить скидку;
    • получить информацию о комиссии за услуги дилеру.
  5. Заказать определенные услуги онлайн:
    • сборку;
    • кастомизацию;
    • ремонт.
  6. Посмотреть свои заказы, отслеживать статусы заказов онлайн, зарегистрировать гарантию, увидеть свои достижения.

Технологии:

Stack: Mule ESB, Apache Maven, REST API, RAML, SFTP, VirtualM, Java 8
Infrastructure: Git, Anypoint Studio, Jira, Confluence, CloudHub, Slack, Microsoft Azure DevOps
Test Automation libraries: MUnit + Mockito
DB: DB2, MSSQL, CassandraDB

Скриншоты:

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

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

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