The terms event-driven and message-driven often appear in conversations and lectures about communications between software systems. But besides the names, how do these two approaches actually differ?