the general-purpose middleware is represented by