I have two segments of enterprise network - green (with access to the Internet) and red (internal network). So, it works like this: Internet ↔ Green ↔ Red.
Each of two segments has it's own pack of Red Hat Fuse, Red Hat AMQ (or ActiveMQ), Apache Camel - let's call this pack 'Suite' for simplicity. This suite is the same in both segments and used for integration. All traffic between Green and Red is passed through Suite-Suite pair. Suite on one end receives traffic, packs it somehow, sends through the message broker (AMQ), and then suite on the other side unpacks it and sends it to the desired node. So, Suite-Suite is used like some kind of firewall and isolation/inspection software.
Sadly for general traffic transfer case, Suite-Suite transfer is a requirement. I know it hurts performance and it's not not elegant.
The question is: how can general-purpose TCP traffic (i.e., http and gRPC traffic) be wrapped by AMQ/ActiveMQ and be carried transparently between segments?
How can this communication be organized? For example, I think about putting traffic in something like SOCKS5 tunnel, and then wrapping SOCKS5 traffic for AMQ (by converting it to AMQP or alike).
I also know that one can write connectors for AMQ with Apache Camel, so it can be done like this: Traffic ↔ Interceptor ↔ Suite ↔ AMQP or other AMQ-AMQ protocol ↔ Suite ↔ Decoder & Sender ↔ Traffic.