##  Overview
There are a number of different definitions of middleware. Most commonly, middleware is defined as a software that enables communication and management of data in distributed Applications. It can also be described as the software layer that lies between the operating system and applications on each side of a distributed computing system in a network, i.e. enterprise application integration, data integration, message-oriented middleware (MOM), object request brokers (ORBs), and enterprise service bus (ESB). Database access services such as transaction processing monitors, ODBC, and JDBC are often considered middleware as well.
