Singer describes how data extraction scripts called “taps” and data loading scripts called “targets” should communicate, allowing them to be used in any combination to move data from any source to any destination. Send data between databases, web APIs, files, queues, and just about anything else you can think of.