Software that provides an interface between applications, allowing them to send data back and forth to each other asynchronously. Data sent by one program can be stored in a queue and then forwarded to the receiving program when it becomes available to process it. Without using a common message transport and queueing system such as this, each application must be responsible for ensuring that the data sent is received properly. Maintaining communications between different types of applications as they are revised and eventually replaced with newer architectures creates an enormous programming burden in the large enterprise. Rules and Formatting Engines A message broker is either a complete messaging system or software that works with existing messaging transports in order to add routing intelligence and data conversion capabilities. A rules engine analyzes the messages and determines which application should receive them, and a formatting engine converts the data into the structure required by the receiving application. Examples are MQSeries Integrator which extends MQSeries, e-Biz Integrator (successor to MQSeries Integrator) and Rendezvous (see MQSeries Integrator, e-Biz Integrator and TIB/Rendezvous). Similar to E-Mail Messaging middleware and e-mail messaging systems provide similar transport functionality. The primary difference is that messaging middleware deals with transactions between programs, whereas e-mail messaging deals with memos between people. See messaging system and publish and subscribe messaging.