Difference between external task and signallable activity

I have a simple use case where a service task would send a message (to external queue) and wait to receive a message back from another queue.

I am right now confused between external task and signallable activity. Which one to use? Can I have external task client embedded within the workflow webapp (spring boot)?