Разработка приложения для отслеживания корректности ввода больших корпоративных данных
Клиент
Международная сеть фирм, предоставляющих аудиторские, налоговые и
консультационные услуги. Клиентами являются компании, стремящиеся выявить пробелы или несоответствия в большом потоке собственных корпоративных данных или желающие провести оценку процессов, лежащих в основе систем корпоративного управления.
Проект
В крупных компаниях с большой и сложной структурой и большим потоком данных очень важно иметь механизм, который бы контролировал корректность передаваемых и обрабатываемых данных. Клиент принял решение создать программное приложение, которое впоследствии компания могла бы продавать своим клиентам. Данное приложение
отслеживает корректность ввода больших корпоративных данных в реальном времени и оповещает участников процесса в случае допуска ошибок.
Ключевая функция приложения – быстро донести до пользователя с помощью различных графиков и диаграмм, что валидность вводимых данных сохраняется на должном для конкретной системы заказчика уровне. В случае нарушения всем заинтересованным лицам рассылаются оповещения: как самим «нарушителям», так и создателям конкретных правил.
Ход проекта
На момент включения нашей компании у заказчика уже были сформированные маркетинговая и технологическая идея приложения, создана диаграммная архитектура и разработана демоверсия продукта. От нашей компании требовалось взять на себя весь процесс разработки финальной версии продукта. В рамках проекта была проведена реструктуризация кода существующей пилотной версии. Решена задача распределения данных для разных клиентов с помощью принципа мультиарендности путем нескольких баз данных. Стабилизация кода способствовала улучшению производительности, устойчивости
передачи данных и отзывчивости клиентского приложения.
Выполненные задачи
- Исправление ошибок клиентской части приложения;
- Изменение внутренней структуры приложения для упрощения дальнейшей разработки;
- Добавление ключевого функционала по управлению рисками и бизнес-правилами;
- Обновление структуры таблиц БД для поддержки миграции данных из одной базы в другую;
- Добавление функционала, отвечающего за ежедневный пересчет основных показателей и сохранение результатов для подсчета статистики;
- Добавление функционала миграции объектов системы между БД;
- Увеличение производительность клиентской части приложения.
Особенность проекта
Одна из особенностей проекта заключается в использовании технологии Node.js. Node.js является кроссплатформенной серверной технологией. Для проекта были важны следующие ее особенности:
- возможность разрабатывать приложения для Linux, Windows серверов;
- хорошая масштабируемость;
- клиентское single-page приложение написано на AngularJS. NodeJS обеспечивает «бесшовную» интеграцию с AngularJS с использованием REST подхода и AJAX для управления данными;
- удобный событийно-ориентированный движок для взаимодействия между клиентом и сервером;
- самое важное – все больше заказчиков интересуются этой технологией.
Результат проекта
Разработка заняла шесть месяцев. Нам удалось успешно решить все поставленные задачи. Приложение запущено в продуктив и используется примерно у 10 клиентов компании заказчика. В настоящее время продолжается совершенствование приложения.
Технологическая основа проекта
• Node.js – сервер. Цель: передача и обработка данных из базы данных для web-клиента.
• MSSql Azure – хранение данных.
• Angular.js, Highcharts.js – отображение, создание бизнес-процессов, статистики. Графики и диаграммы для наглядного представления.