ServiceStack dovrebbe essere il livello di servizio in un’applicazione MVC o dovrebbe chiamare il livello di servizio?

Sto creando un sito Web MVC e intendo anche creare un’API Web da utilizzare sia all’interno del sito Web sia potenzialmente da terze parti.

Dai controller MVC chiamerò in un livello di servizio che conterrà la logica aziendale, agirà su modelli di dominio, eseguirà la convalida, effettuerà chiamate di servizi esterni alle infrastrutture, ecc. Il livello di servizio a sua volta chiamerà i repository per qualsiasi interazione di database.

Ora mi piace l’aspetto di ServiceStack e intendo utilizzarlo per l’API Web: sembra più maturo dell’API Web MV.NET di ASP.NET . La mia domanda è: dovrei avere la chiamata dell’API ServiceStack nel mio livello di servizio sopra, simile ai controller MVC, o dovrei renderlo il livello di servizio, servendo sia i client Web che i controller MVC?