Methods, systems, and computer program products for abstracting processing layers within a messaging infrastructure so that changes or enhancements can be made to the infrastructure while retaining existing functionality. Message transport implementations are abstracted within a message layer, allowing other layers within the infrastructure to interact with messages in a more generic fashion, largely independent of message transport. Transport examples include named pipes, Transmission Control Protocol (TCP), HyperText Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), etc. A channel layer above the message layer abstracts message exchange implementations, allowing other layers within the infrastructure to send and receive messages in a more generic fashion, largely independent of the message exchange semantics of a specific implementation. Message exchange examples include datagrams, dialogs, monologs, queues, and the like. Above the channel layer and message layer, a service layer abstracts the binding implementations that bind message exchange implementations to user code implementations.