0mq communication with external components

I think this is the right place to start this topic, but feel free to send me somewhere else if this is not the best place to discuss.

I have an HPC use case where the HPC code is already using 0mq for communication, and we would like to provide interactive plots of intermediate results in JupyterLab.

Of course, we can communicate any way we want to outside of Jupyter, and then provide a mechanism of choice to transfer data to the kernel. However, the kernel does communicate via 0mq and there appears to be some level of expected developer usage of the channels. From my interpretation of the docs, this is primarily to communicate between a front-end and the kernel.

Is there a significant advantage here in using kernel channels to communicate with non-Jupyter components? Are there significant disadvantages?

I realize that we can also do this in other ways (JupyterLab custom extensions, etc), but wanted to find out from the experts if it makes sense to directly use kernel communication channels to implement this?