Программное обеспечение на Mule для интеграции внутренних систем
Бизнес составляющая проекта
Суть нашей работы на проекте заключалась в быстром внедрении каналов сбыта для глобальной сети SaaS поставщиков, и интеграция с CRM и системами предоставления сервиса (provisioning). Наша команда непосредственно принимала участие в разработке ПО, функция которого состоит в предоставлении различным предприятиям лицензий на свободное программное обеспечение GNU/GPL. В дальнейшем полученные токены используются потребителями как инструмент многофакторной аутентификации.
Задача команды ДжазТим состояла в проектировании интеграционного слоя, отвечающего за связь и синхронизацию различных высокоуровневых систем и баз данных между собой. Помимо этого разработаны два UI портала, которые дают конечным пользователям возможность для удобного поиска и обработки данных.
Техническое описание проекта
Проект включает в себя множество различных слоев и компонентов, разработанных с использованием технологии Mule, современных фреймворков и java core. Помимо взаимодействия между собой компоненты на различных уровнях сотрудничают с платформами других сервисов (рис.1), что позволяет объединять различные информационные системы на основе принципов обмена сообщениями, сопоставления данных, управления сообщениями, надежности и защиты (использование https и опциональных коннекторов).
Подготовленные интеграционные решения дают возможность при внесении малозатратных изменений работать с любым элементом корпоративной архитектуры заказчика.
Обязанности команды ДжазТим
В процессе работы команда ДжазТим выполняла следующие задачи:
- разработка интеграционных слоев, обеспечивающих взаимодействие между поставщиком GPL лицензий и конечными системами;
- миграция имеющихся решений заказчика из среды Mule 3 в Mule 4;
- разработку новых компонентов (backend и UI);
- модульное, end-to-end и нагрузочное тестирование;
- применение классического CI/CD пайплайна (получение исходного кода из репозитория, сборка проекта, выполнение тестов, развертывание готового решения, отправка отчетов);
- проведение исследований, направленных на дальнейшее улучшение функционала, к примеру применение OAuth 2.0;
- улучшение производительности и времени отклика компонентов;
- ежедневная поддержка развернутых приложений;
- ведение технической документации.
Технологии
Stack: Mule Runtime 3, Mule Runtime 4, Java, Apache Maven, Spring, VueJS, CSS, HTML.
Infrastructure: CloudHub Engine, Anypoint platform, SonarQube, BitBucket, Jenkins.
Test Automation Libraries: MUnit, JMeter.
DB: Salesforce, MySQL, Snowflake.
Protocols: HTTPS, JDBC.
Other libraries: Apache commons libraries, Log4j.
Скриншоты
Особенности проекта
- Высокий уровень ответственности на каждом шаге, так как даже маленькое изменение может повлиять на длинную цепочку интеграций, обработку и конечное состояние бизнес объекта.
- Распределённая команда в разных часовых поясах и странах.
- Высокий темп развития проекта, частые релизы в продакшн.
Результат проекта
- Были реализованы все требования заказчика.
- Проведено тестирование, подтверждающее надежность и высокую работоспособность примененных решений.
- Программный продукт позволил интегрировать внутренние системы конечного заказчика между собой и внешними сервисами.
- Заказчик остался доволен как результатом всех итераций, так и финальным продуктом в целом.
- Разработали и внедрили в компании технологическую практику по Mule технологии.
Достижения компании на проекте
- Был создан удобный UI портал для быстрого поиска и визуализации транзакций, что позволило получать информацию о состоянии бизнес объектов на той либо иной стадии обработки.
- Участие со своими наработками в HackDay заказчика. Над проектом трудилось много распределенных команд, что привело к использованию различных подходов и методов при обработке транзакций, ошибок и нотификаций. Была разработана система, позволяющая унифицировать эти процессы.
- Командой предложено и внедрено применение на проекте ряда best practices: code style, branch и deploy strategies, а также функциональное тестирование mule компонентов.
- Успешно выполнена миграция компонентов с Mule 3 на Mule 4.
Свяжитесь с нами, чтобы обсудить Ваш IT-проект