C'è un'interessante intervista con Werner Vogels che riguarda in parte il modo in cui Amazon fa architettura orientata ai servizi:
For us service orientation means encapsulating the data with the business logic that operates on the data, with the only access through a published service interface. No direct database access is allowed from outside the service, and there’s no data sharing among the services.
Non lo capisco. Perché hanno bisogno di "racchiudere" un database in qualche livello se già può essere utilizzato come servizio da un altro servizio tramite gli adattatori di database? Amazon lo fa solo perché ha bisogno di esporre il database a terze parti o per altro?
Perché "non è consentito l'accesso diretto al database"? Quali sono i vantaggi di una tale decisione architettonica?