it's usually where you have your core business processing logic

I usually use services for external access. While MVC will contain all my app specific logic, I'll use something like DBService , or FacebookOAuthService for all the external calls to other systems. Or to wrap a third party lib rather than tightly integrating, makes it easier to switch out libs.