It may be that we mean slightly different things here. I am not talking so much about the software architecture, but about the fact that the API between "front-end" and "back-end" should be the public interface. That does require a certain software architecture, though, of course ...