Гарда Тех Солюшнс Групп
Ранее: Crosstech Solutions Group / CTSG
Май 2023 — сентябрь 2026
Java Backend Developer
Продукты информационной безопасности.
DAM/DBF — мониторинг и защита баз данных
Одним из самых интересных проектов для меня стала разработка системы класса Database Activity Monitoring / Database Firewall (DAM/DBF). Такие решения помогают контролировать обращения к базам данных, анализировать SQL-запросы и выявлять действия, которые могут нарушать политики безопасности.
На этом проекте у меня была своя основная зона ответственности — микросервис обработки SQL-трафика. Я занимался его разработкой и развитием, постепенно погружаясь в задачи, с которыми раньше практически не сталкивался. Именно здесь началось моё знакомство с Kafka Streams, которая впоследствии стала одной из основных технологий в моей работе.
Самой интересной и одновременно непростой частью оказалась обработка входящих данных. SQL-операции не всегда приходили в виде готовых запросов: прежде чем их анализировать, нужно было собрать связанные данные, восстановить целостную картину и подготовить её к дальнейшей обработке. Для решения этих задач я использовал Kafka Streams, работал с агрегацией, состоянием потоков и другими механизмами потоковой обработки.
Когда данные были подготовлены, начинался следующий этап — разбор SQL. Для этого я использовал ANTLR4, работал с грамматиками PostgreSQL, MySQL и Oracle, учитывал особенности их синтаксиса и постепенно расширял возможности парсера. Результат этой работы использовался для проверки операций на соответствие политикам безопасности и последующего анализа активности пользователей.
Со временем значительная часть работы сместилась в сторону развития и оптимизации микросервиса. Приходилось разбираться в поведении системы под нагрузкой, искать узкие места, пересматривать отдельные решения и добиваться более стабильной обработки данных.
Хотя основной моей специализацией оставался backend, я также работал с пользовательским интерфейсом на Jmix. В основном дорабатывал существующие экраны, когда новые возможности моего микросервиса требовали изменений в UI.
Кроме того, на этом проекте я разработал сервис уведомлений с отправкой сообщений по электронной почте. Он создавался как отдельный компонент, который могли использовать и другие продукты компании.
Jay Data — система маскирования данных
Jay Data — продукт для маскирования и обезличивания конфиденциальных данных, позволяющий использовать их в разработке и тестировании без раскрытия исходной информации.
Моя работа над проектом была связана преимущественно с развитием и оптимизацией существующих компонентов. Я занимался исправлением ошибок, переработкой механизма импорта конфигураций и переводом отдельных микросервисов с Jmix на классический Spring.
При таком переходе мы не ограничивались заменой технологий, а попутно пересматривали существующую реализацию, искали возможности упростить код, устранить лишние операции и повысить производительность.
Страница продуктаIDM — управление учётными записями и правами доступа
Ещё одним проектом, в разработке которого я участвовал, стала система класса Identity Management (IDM). Такие решения помогают компаниям централизованно управлять учётными записями сотрудников, их правами доступа и взаимодействием с различными корпоративными системами.
Мы подключились к проекту на раннем этапе его развития. Основной задачей команды была разработка и настройка интеграционных возможностей продукта под требования заказчика. Прежде чем приступить к полноценной разработке, пришлось достаточно глубоко разобраться в устройстве существующего решения, его возможностях и ограничениях.
Большая часть моей работы была связана с интеграциями. Я разрабатывал компоненты на Java, которые обеспечивали взаимодействие IDM с внешними информационными системами, занимался их настройкой, отладкой и тестированием. Это был интересный, хотя временами довольно непростой опыт: нужно было учитывать особенности взаимодействия разных систем и добиваться их корректной совместной работы.
Отдельной задачей стала организация тестирования интеграций. Чтобы не зависеть от доступности инфраструктуры заказчика, я с нуля разработал вспомогательный сервис, имитирующий поведение внешней системы. Он позволял управлять тестовыми данными и проверять различные сценарии взаимодействия. Со временем сервис стал полезен не только разработчикам, но и команде QA, аналитикам и Product Owner — каждый мог использовать его для проверки необходимых сценариев без обращения к реальной инфраструктуре заказчика.
Помимо разработки, я участвовал в развёртывании и демонстрации продукта в инфраструктуре заказчика. Позднее проект передали другой команде, и я помогал новым разработчикам разобраться в проделанной работе, особенностях интеграций и процессе развёртывания системы.
Страница продукта