Как я могу использовать D3 для построения графиков элементов конфигурации и их зависимостей?
Я новичок в D3 и пытаюсь подумать о том, как наилучшим образом реализовать сопоставление наших элементов конфигурации.
То, что я ищу, - это, по сути, древовидная карта (я думаю), но с взаимосвязанными зависимостями.
Данные
Я работаю с элементами конфигурации в стиле ITIL, такими логическими сервисами, приложениями, машинами и т. Д., Которые составляют ИТ-сервис, который мы предлагаем нашим клиентам.
Данные JSON, которые я предоставляю, будут получены из определяемой мной службы WebAPI, поэтому данные могут быть возвращены, однако это необходимо.
Цель
Мне нужно пересечь:
- Имя элемента конфигурации ("Служба A", "Сервер 1", "База данных XYZ" и т. Д.)
- Тип элемента конфигурации (представленный либо значком, либо цветом - не так уж важно сейчас)
- Те вещи с наименьшим количеством иждивенцев наверху
- т. е. сервис представлен всеми составляющими его компонентами - приложениями, БД и т. д., и я бы хотел, чтобы иерархия располагалась в порядке от сервисов вниз.
- Отношения между всеми элементами, которые не являются строго иерархическими.
- Несколько сервисов могут зависеть от одного приложения
- Несколько приложений могут зависеть от нескольких баз данных, которые могут зависеть от одного сервера баз данных.
- Если возможно, возможность сфокусироваться на одной ветви дерева сверху вниз, нажав на нее (хотя это может появиться намного позже)
Разобравшись с этим, я бы хотел настроить что-то простое на GitHub и посмотреть, смогу ли я использовать D3, чтобы внести свой вклад в мир управления ИТ-услугами.
Вопрос
С философской точки зрения, D3 предназначен для поддержки визуализации такого рода, и какой мой лучший путь для этого?
Спасибо!