The underlying middleware is represented by