I livelli di maturità REST e DDD sono problemi ortogonali.
Il tuo linguaggio onnipresente non si preoccupa se è riflesso in profondità nel carico utile di un messaggio SOAP, in un URI di risorsa o in un tipo di contenuto specifico del dominio, purché rimanga pervasivo e coerente nel suo Contesto Limitato.
Se il tuo Contesto Limitato include sia le parti client che quelle server, HTTP ti ostacolerà inevitabilmente, interrompendo la continuità semantica tra il client e il Servizio Applicazione. Se aderisci alla Prima legge degli oggetti distribuiti , non c'è modo di aggirarla. Durante la lettura o la programmazione del codice client, non sarà mai così fluido e facilmente individuabile come la chiamata di un metodo chiamato dopo un concetto di dominio su un oggetto chiamato dopo un concetto di dominio. Ci sarà sempre un disadattamento di impedenza tra i comandi del protocollo HTTP ei verbi o comandi di dominio.
Se il BC termina a livello di applicazione e / o agisce come fornitore o servizio di host aperto su altri sistemi, HATEOAS potrebbe fornire una lingua pubblicata più chiaramente espressa e rilevabile (sotto forma di un Domain Application Protocol) rispetto agli altri livelli, con meno sforzo. Ma le implementazioni di livello 0, 1 o 2 ben documentate possono rimanere perfettamente valide in base ad altri criteri contestuali.