Approaches To Middleware