ISP Telecom:Улучшение логики и архитектуры для TPP

ISP Telecom — национальный поставщик передовых телекоммуникационных решений, разработанных для удовлетворения высоких требований в секторах оптовой торговли, VOIP и ISDN PRI. Компания предлагает решения, адаптированные к конкретным потребностям клиентов.
www.isptelecom.net/

О клиенте


ISP Telecom работает как зарегистрированный CLEC в Канаде с 1998 года. Некоторые из их продуктов включают SIP Trunking, агрегированные PRI, DID и LNP для VOIP, а также гибкие системы выставления счетов. ISP Telecom зарекомендовала себя как поставщик качественного сырья в мире VOIP.

 

Челлендж

Перед нашей командой была поставлена ​​задача интегрировать сторонний сервис для скачивания файлов и получения результатов обработки. У стороннего сервиса не было API, только веб-интерфейс. Поэтому в начале разработки у нас было два варианта:

1. написать парсер, который будет загружать файлы через веб-интерфейс с помощью связок Nokogir + Mechanize;

2. анализировать запросы, которые веб-интерфейс отправляет на сервер при загрузке и обработке файлов, и использовать эти API-запросы.

Был выбран второй вариант.
Работая над проектом, мы столкнулись с несколькими проблемами. Веб-интерфейс отправлял много разных запросов, и было сложно понять, за что отвечает каждый запрос. Мы решили проанализировать js-код, чтобы понять, как обрабатываются эти запросы.

В итоге мы использовали специальные библиотеки для реверс-инжиниринга, чтобы упростить js-код. Наконец-то мы смогли разобраться, как работает этот сервис, и успешно реализовали API для скачивания файлов и получения результатов обработки.

Наш вклад

Несмотря на трудности, с которыми столкнулась наша команда при решении поставленных задач, мы реализовали многопоточность для файлов, структурировали логику платформы, улучшили дизайн, сделали интерфейс удобным, разработали микросервисную архитектуру.Мы подключили несколько плагинов и оптимизировали их под нужды клиента. Мы также оптимизировали плагины RedmineUP и обновили Redmine до последней версии.

Технологии


Gentoo Linux, Ruby, Ruby on Rails, IMAP