Define middleware software. How is it implemented?

Note: Subject is Grid Computing.