Middleware sits between operating systems and applications to simplify development of applications that leverage services from other programs. It provides messaging services so applications can communicate using frameworks like SOAP, REST, and JSON. Middleware connects disparate applications through services for concurrency, transactions, threading, and messaging, with more advanced implementations in integration platforms that add governance and risk management.