4.2 The architectural style for the middleware