Just talking about internal applications or intranet web apps... At some companies I've seen their business-logic piece (Model in MVC/VM in MVVM) on one (or both) sides of a Web Service. And on the other side of the web service is the Persistence.
MVC/MVVM > Service Layer > Persistence
This is only for intranet/internal application customers, and both the web or app code, and the persistence (usually ORM) dlls both sit on the same server, or even in the same folder.
I'm used to seeing internal apps and intranet websites that reference a business-layer... then that business-layer connects to persistence. So the app itself is persistence-ignorant.
But with my own apps, if something needed to be exposed externally, that something is opened up via a web service. But otherwise, everything stays internal.
Is there a reason for why I've seen a couple different companies do this? They didn't seem to know the answer themselves.