Patent ID: 7200676

Claim:
A computer program product implementing a messaging infrastructure which abstracts various processing layers within the infrastructure, wherein the infrastructure provides a base level of messaging functionality, and wherein the abstract processing layers are extensible such that changes or enhancements can be made without necessarily having to re-implement the base level of messaging functionality provided in other abstract processing layers, the computer program product comprising one or more computer readable media carrying computer executable instruction in the form of program modules, the program modules being interchangeable at each processing layer such that any program module corresponding to one processing layer can be used without necessitating the use of certain programming modules corresponding to different processing layers, the program modules comprising: one or more messaging layer modules providing for endpoint-to-endpoint transmission of one or more messages and implementing support for one or more message transport protocols, the one or more message layer modules selectable for use in communicating without necessitating the use of particular channel layer modules and particular service layer modules; one or more channel layer modules providing message exchange semantics on top of the one or more message layer modules, the one or more channel layer modules selectable for use in communicating without necessitating the use of particular messaging layer modules and particular service layer modules; and one or more service layer modules providing one or more programming models on top of the one or more channel layer modules for interacting with the messaging infrastructure by exposing one or more features of the messaging infrastructure to be accessed by software designed to use the messaging infrastructure, the one or more service layer modules selectable for use in communicating without necessitating the use of particular messaging layer modules and particular channel layer modules.