An Enterprise Service Bus (ESB) is a software architecture model used for designing and implementing communication between mutually interacting software applications in a Service-Oriented Architecture (SOA). It acts as the infrastructure 'bus' for integration.