
Я работаю в «Инфосистемы Джет» около 7 лет, большую часть из которых проектировал и внедрял BI-решения и системы, на них построенные: ситуационные центры, информационно-аналитические системы и всё, что создано, чтобы собирать и анализировать данные. За это время у меня накопился ряд историй и наблюдений на тему особенностей BI-проектов, о которых хотелось бы рассказать.
История 1
Заказчик – крупная территориально распределенная компания. Задача – собирать информацию, формировать отчеты, контрольные панели, а также автоматизировать пару бизнес-процессов. Планировали собрать всё это из решений разных вендоров. Так мы думали до тех пор, пока не явились на установочную встречу.
На ней выяснилось, что от нас требуется реализовать полноценный ситуационный центр с огромным количеством кастомного кода и скрестить порядка 10 вендорских решений, часть из которых уже внедрены. И, что самое неприятное, надо было написать ядро системы с нуля, потому что использовать систему управления метаданными выбранного BI-решения было невозможно. Нам просто не хватало того, что было доступно «из коробки».

Проблема заключалась также в том, что часто требовались довольно сложные отчеты. С этим кое-как удалось справиться штатными функциями вендорских решений. Потом выяснилось, что нужны еще и контрольные панели (дэшборды), причем размером на всю стену (3x9 видеокубов), обновляемые в реальном времени и часто динамической структуры (вылезать за пределы видеостены или предлагать пользователю скроллинг, разумеется, непозволительно).
В этом проекте контрольные панели нам в итоге пришлось реализовать вручную, на чистом HTML/JS, без использования BI-функциональности вендора. Решение оказалось вынужденным, безусловно плохо поддерживаемым. Кстати, именно те наработки дали толчок к созданию нами собственной BI-системы.
Вернемся к видеостене: вся эта красота дополнялась миксом из BI-отчетов, офисных документов, экранов ВКС, ГИС, кусков нашей кастомной функциональности вроде модуля реагирования на инциденты, управления поручениями, дежурной сменой и т.д. Вроде справились и даже начали развивать новое для себя направление – информационно-аналитические системы. Как выяснилось, классический BI-подход к ним далеко не всегда применишь. Как раз об этом будет следующая история.
История 2
Прошли годы, и наконец-то произошел серьезный сдвиг в части требований к BI-платформам. Заказчикам надоело, что BI-решения по сути являются в подавляющем большинстве автономными, оторванными от общей ИТ-инфраструктуры инструментами. Требовались сопряженные между собой НЕмонолитные решения. Никто не хотел «садиться на иглу» одного вендора. Заказчики требовали свободы и потенциальной заменимости одного решения другим.
Рынок осознал, что физически невозможно в одном решении совместить все те функции, которые нужны заказчику, именно с теми возможностями, которые предлагает вендор. В частности, это начали понимать госструктуры, министерства и прочие ведомства. Требовалось что-то, что позволит за приемлемый бюджет и небольшие сроки обеспечить не только визуализацию и анализ данных, но и автоматизацию бизнес-процессов аналитики.
В особенности это коснулось ситуационных центров высших должностных лиц на разных уровнях управления. К ситуационным центрам стали предъявлять всё больше требований. Наличие видеостен и коммутаторов к ним перестало быть достаточным условием. Требовалась серьезная аналитика, которая должна была быть удобной, простой, понятной и, главное – быстрой, поскольку решения в СЦ должны приниматься за секунды. Тогда мы и пришли к выводу, что нужно делать собственную подсистему. Сначала она еще не была отдельным продуктом, не имела названия, но имела четко очерченную функциональность и архитектурные принципы.
Мы провели ряд пилотных проектов в субъектах РФ, шлифуя нашу платформу. Мы объединили BI-функции с функциями автоматизации процессов, не пытаясь охватить все возможные процессы организаций: нашей целью было создание информационно-аналитической системы, задачи которой не в том, чтобы, к примеру, автоматизировать складской учет, а в том, чтобы дать топ-менеджменту и аналитикам инструменты, с помощью которых можно понять, что происходит в организации, что с этим можно сделать, как оценить правильность действий и спрогнозировать, к чему они приведут. И об этом в третьей истории.

Пример дашборда.

Так это выглядит на экране.
История 3
Задача – автоматизация проектов по ремонту сложной, отчасти военной техники и анализ хода исполнения этих проектов. Средняя длительность каждого такого ремонта – 1 год. Использовать MS Project и ему подобные – нельзя. Причем не только по причине импортозамещения, а еще и ввиду того, что объем кастомизации, который требовался заказчику, был слишком велик. В первую очередь это касалось ограничений, валидаций, уникальных бизнес-процессов, да и самой структуры данных.
И снова мы обратились к нашей платформе, добавив к ней еще одну собственную разработку, подсистему управления проектами. Написана она была нами чуть ранее, с нуля, и использовалась в пилотных проектах, но требовала основательной настройки (благо заказчик довольно четко понимал, что именно ему нужно). Отличало эту подсистему то, что благодаря возможностям базовой платформы оказалось на удивление быстро внедрить и растиражировать весь комплекс. От момента постановки задачи до ввода в эксплуатацию прошло 3 месяца. Речь идет не только о самом учете и актуализации планов ремонта, но и об отчетах разного вида, часть из которых, к слову, довольно изощренные.
Например, потребовалось создать так называемую «Производственную диаграмму». Ее цель – мониторить загрузку цехов и выявлять «узкие места». С виду это обычный BI-отчет, в котором сведены в виде дерева и выстроены в единую временную шкалу все активные проекты, каждый из которых – полноценная разворачиваемая диаграмма Ганта. Если кто-то мне подскажет, где найти что-то похожее у «мастодонтов» BI-платформ либо среди OpenSource-компонентов, я пожму ему руку.
Мы проанализировали потребности в визуализации, и с грустью поняли, что нужно писать свой визуализатор. Думаю, ни для кого не секрет, что заказчикам уже давно не интересны стандартные графики и «бублики». Пора признать, что все больше задач требует индивидуального подхода и индивидуальных решений. Безусловно, решения вендоров позволяют наращивать их платформы, но, во-первых, не всегда в нужном объеме, а во-вторых, какими усилиями?
Как быть?
Я считаю, пришло время гибридных решений, которые для простых задач предоставляют понятные и удобные пользовательские интерфейсы, а для более сложных – дают своего рода каркас, или фреймворк, с использованием которого уже реализуется то, что надо, причем без ограничений со стороны вендора. Если только это не архитектурные ограничения (конечно, важность последних неоспорима).
Сделать такую BI-платформу – настоящее искусство, и я не утверждаю, что мы ее уже сделали. Это лишь то, к чему мы стремимся. Если кто-то уже сделал что-то подобное, буду благодарен, если вы поделитесь своим опытом в комментариях к этому посту.
Следующим постом я расскажу об архитектуре нашей платформы Jet BI и технических подробностях решения.
Альберт Нурутдинов, архитектор «Инфосистемы Джет»
mBlaze
Доброго дня. Честно больше похоже на рекламу. Если же предметно:
Итого, нужно как всегда подготовить данные, а дальше подготовить библиотеку кейсов с шаблонами и каждый уважаемый себя бизнес мог легко выбрать из библиотеки свою панель для анализа.:)
aanurutdinov
Борис, спасибо за обстоятельный комментарий, со многими пунктами согласен, правда, с некоторыми оговорками.
Разумеется растет, как и в целом растет рынок. Я ни коим образом не умаляю востребованность вендорских решений. Для многих компаний и задач их будет более чем достаточно. Однако когда речь идет о комплексном решении, где вдобавок порой нужно еще реализовать то, что никто из BI-вендоров для лишь одного заказчика добавлять не будет, возникают проблемы. Главная — ничего с этим не поделаешь, ибо если мы отбрасываем opensource, то свободного пространства для кастомизации у заказчика (и даже, к сожалению, у внедренца) практически нет. Если же opensource нас больше не пугает, то с высокой вероятностью на первом же повороте врезаемся в риск под леденящим душу названием «поддержка».
Не совсем… Вернее, если смотреть на это лишь как на инструмент визуализации, а не анализа, то вы правы. Даже приведенный мной в статье дэшборд это иллюстрирует, там чистая классика. Однако суть была не в этом. Есть инструменты визуализации, которые позволяют гораздо быстрее понять, что не так (или, наоборот, что все идет как надо). Они интерактивные, интуитивные, и, главное (тут можно смахнуть скупую слезу) — кастомные. Их нет в «коробке», и чтобы их добавить, недостаточно знать, как устроена коробка. Вендор имеет свой «roadmap» и в большинстве случаев один заказчик с каким-то (по мнению вендора) экзотическим требованием) в расчет не берется. И не только мы, как внедренцы, сталкиваемся с этой проблемой, уверен, вы тоже, с высокой долей вероятности, «упирались» в ограничения платформенных решений.
Не согласен. Архитектурные ограничения — это всегда хорошо, иначе все рано или поздно развалится. Я планирую описать архитектуру в следующем посте здесь же на хабре, там уже будет удобно поговорить по «конкретике», пока предлагаю поставить этот вопрос «на паузу».
А здесь согласен. Однако, мы — системный интегратор и автоматизируем бизнес-процессы, у нас много «напильников», но мы, с одной стороны, не хотим их коллекционировать, а, с другой, обязаны довести проект до успешного завершения. А бывают проекты, как говорится, «типовые». У нас так и получилось — фреймворк, куда можно добавлять новые функции. Для типовых задач — типовые инструменты, для нетиповых — добавление новых модулей.
Мы, собственно, и не пытаемся сделать монолит, я бы сказал, напротив, все дополнительные компоненты имеют архитектурно слабую связанность и легко подключаются и отключаются, как детали в конструкторе. Однако после подключения легко настроить потоки данных от них к BI-ядру. Часть этих потоков доступна из коробки, часть конфигурируется под конкретные задачи в рамках создания отчетов либо контрольных панелей. Хранилище — тоже не «черный ящик» (в отличие от некоторых BI-систем, на которые я не буду показывать пальцем), а вполне стандартная OLAP-схема с понятной структурой, к которой, разумеется, можно подключить тот же excel. Я вообще в целом по 4-му пункту не вижу никаких архитектурных противоречий, если уточните, при прочтении какой части статьи у вас оно возникло, дайте знать. Хорошего дня :)