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

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

Создание коммерческого Mule коннектора к системе управления мастер-данными

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

Задача проекта, в котором участвовала команда Jazzteam, состояла в проектировании, разработке и внедрении Mule коннектора, являющегося оберткой над облачной системой управления мастер-данными (MDM), выступающей в роли платформы как сервиса (PaaS). Система позволяет создавать промышленные приложения, которые производят глубокую автоматизированную аналитику (в том числе и предиктивную) на основе данных о клиентах, продуктах, услугах, персонале, технологиях, материалах и т.д. Разработанный нами коннектор значительно упрощает процесс создания Mule-приложений, работающих с системой за счет автоматического обновления токенов доступа к API и динамического DataSense. Делая вызовы API через коннектор, пользователь может загружать данные в систему и удалять их из системы, осуществлять поиск данных на основе фильтров, устанавливать отношения между данными.

В качестве основного средства для построения коннектора использовался Anypoint Connector DevKit. Каждая операция коннектора использует Jersey-client для вызовов API. Ответы со стороны приложения возвращаются в формате JSON. При помощи Jackson-mapper происходит отображение этих ответов в Java-объекты, которые коннектор и выдает на выходе.

В ходе разработки компания ДжазТим выполнила работу по реализации основного функционала коннектора (запросы к API), динамического DataSense, функционального, системного и юнит-тестирования. Коннектор был полностью подготовлен для прохождения сертификации со стороны компании MuleSoft.

Технологии

Java, Mule, Mule ESB, Mule DevKit, Anypoint Connector, Anypoint Studio, SonarQube, Maven, BitBucket, Jersey, Jackson, Mockito, Jayway JsonPath, Apache JMeter, TestLink.

Скриншоты

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

  • Распределённая команда в разных часовых поясах из разных стран (Северная Америка, Азия, Европа).
  • Кастомный модуль аутентификации, который обеспечивает получение и обновление токена доступа к API.
  • Поддержка метаданных. Каждый клиент системы имеет для своего аккаунта различные типы данных объектов системы. Коннектор способен выгружать эту информацию и отображать ее для коннектора (динамический DataSense).
  • Высокая производительность. Коннектор изначально рассчитан для работы с большим объемом данных. По требованиям заказчика коннектор не должен уступать в производительности чистым вызовам API более чем на 10%. Для выполнения этого условия в Anypoint Studio были построены тестовые flow, на которых производилось нагрузочное тестирование.

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

  • В сжатые сроки все задачи были выполнены.
  • Была создана необходимая сопроводительная документация приложения, показывающая пользователям все особенности использования коннектора.
  • Для подготовки коннектора к процедуре прохождения сертификации было создано большое количество разнообразных тестов — функциональных, системных, юнит-тестов с процентом покрытия не ниже 70%.
  • Заказчик остался доволен результатом всех итераций.
  • Коннектор соответствует требованиям для прохождения сертификации http://mulesoft.github.io/connector-certification-docs/advanced/index.html.

Достижения команды

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

Dmitriy KuznetsovDmitriy KuznetsovVP Integration and Cloud Solutions, Infoview Systems Inc, разработка интеграционных проектов, помогающих заказчикам встраивать инновационные сервисы и системы в существующие корпоративные решения на базе мейнфреймов, Ливония, США

ДжазТим participated in Mulesoft connector development project for our customer’s cloud-based master data management and analytics system. The final product has addressed all functional, quality, performance, and security requirements. The ДжазТим performed their tasks efficiently and on time.

I appreciate their professionalism and sense of ownership. The project has been successfully released to production, and am very pleased with the outcome.

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

    Имя *

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

    Email *

    Телефон

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

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