These middleware are implemented in a variety of ways, such as transaction processing monitors, message servers, or application servers. The middleware perform the function of queuing, application, execution, and database staging. In addition, the middleware adds scheduling and prioritization for work in progress.