From past few months I am working on projects in latest dot net frameworks.
I feel that in latest dot net versions \"services\" are encouraged over components. Is
Something else to consider -- just because functionality is exposed as a "service" doesn't mean that it has to be hosted somewhere or exposed as a webservice.
You could very well access a service directly, in memory.
Exposing related functionality as a service is more about the interaction between various pieces of your application. It doesn't say anything about how you deploy/access these pieces.