Middleware is the glue which binds two separate applications. A classic use of middleware is between a client and a database. This middle layer can act as an intermediary and provide such functionality such as holding passed data until a sytem is back online so no information gets lost in the transaction.