Вопрос или проблема
Я объясню свой кейс использования. Мы разрабатываем веб-приложение для отображения аналитической панели для наших клиентов. Показываемая информация связана с KPI и метриками, извлеченными через процесс ETL из их баз данных.
Из-за архитектурного решения мы хотим, чтобы наше веб-приложение получало доступ к серверной части только через веб-сервисы, чтобы была четкая разделение между фронтендом и бэкендом. Таким образом, нам нужен REST API, который будет возвращать необходимые данные при отправке запроса.
Например, предположим, что наша факт-таблица касается заработных плат сотрудников, и мы хотим показать график со средними зарплатами сотрудников по годам, сгруппированными по категориям сотрудников. Мы отправили бы запрос типа GET на http://api.example.com/salaries?group-by=year&group-by=employee-category&operation=average
. Он должен возвращать запрашиваемые данные в формате XML или JSON, что-то вроде примера ниже.
Мы думали о использовании Qlik или Power BI, но похоже, что их API являются Javascript API, которые должны выполняться на клиентской стороне, а единственные REST API, которые у них есть, предназначены для управления.
Знаете ли вы BI программное обеспечение, которое предлагает такой REST API из коробки?
Пример ответа:
[
{
"year":2012,
"salaries":[
{
"category":"rookie",
"salary":30000
},
{
"category":"senior",
"salary":45000
}
]
},
{
"year":2013,
"salaries":[
{
"category":"rookie",
"salary":35000
},
{
"category":"senior",
"salary":47000
}
]
}
]
Logi Analytics предоставляет REST API для данных. Он также может визуализировать данные полным образом, но вы также можете получить данные и создать свою собственную визуализацию.
Вас конкретно интересует их модуль Discovery и концепция DataView.
.
Ответ или решение
Для решения вашей задачи, связанной с реализацией REST API для получения данных из BI системы, можно рассмотреть несколько вариантов программного обеспечения, способных удовлетворить вашим требованиям.
Основной принцип заключается в том, чтобы обеспечить взаимодействие между фронтенд-частью вашего веб-приложения и backend, предоставляя отчеты и визуализацию данных по ключевым показателям и метрикам. Это взаимодействие должно быть четко разделено с помощью REST API.
Варианты BI систем с поддержкой REST API
-
Logi Analytics: Как вы уже упомянули, Logi Analytics предоставляет REST API для работы с данными. Его модуль Discovery и концепция DataView позволяют осуществлять запросы для агрегирования данных, как в вашем примере с средними зарплатами сотрудников. Вы можете легко интегрировать его в ваш стек технологий, получая данные в формате JSON или XML.
-
Tableau: Tableau имеет обширные возможности для работы с REST API. Хотя основное его использование связано с визуализацией данных на клиентской стороне, Tableau REST API поддерживает управление данными и дает возможность запросов к различным наборам данных. Это может потребовать дополнительной настройки для вашего конкретного случая.
-
Apache Superset: Это open-source BI платформа, предоставляющая REST API для извлечения данных. Она хорошо интегрируется с различными источниками данных и предоставляет мощные инструменты для анализа, которые могут быть полезны для формирования нужных отчетов.
-
Metabase: Metabase предлагает API для доступа к аналитическим данным. Это решение может быть полезно вашей команде благодаря его способности обрабатывать сложные аналитические запросы и легкости в интеграции.
Преимущества и рекомендации
-
Гибкость и масштабируемость: Выбор BI системы с REST API позволит вашему приложению быть более гибким и масштабируемым. Например, Logi Analytics и Tableau предоставляют возможности расширяемости, что позволяет адаптировать их под растущие потребности бизнеса.
-
Интеграция и автоматизация: REST API позволяет интегрировать BI решения в вашу текущую архитектуру без значительных изменений, обеспечивая автоматизацию всех аналитических процессов.
-
Форматы данных: Обеспечьте поддержку JSON и XML форматов, что позволит вашему приложению более эффективно обрабатывать и отображать полученные данные.
Заключение
Ваш кейс представляет собой классический пример задачи интеграции BI системы с использованием REST API. Изучив возможности Logi Analytics, Tableau и других решений, вы сможете сделать обоснованный выбор, который будет вписываться в архитектуру вашего приложения, сохраняя при этом его производительность и удобство использования. Выбор конкретного решения будет зависеть от специфических требований вашего приложения и доступных ресурсов.