Model-based evaluation of the middleware services and protocols & architectural patterns