L'accesso diretto al database si accoppia strettamente allo schema. Qualsiasi modifica su entrambe le estremità influisce sull'altra. Ma ha le virtù di essere semplice e richiede meno hop di rete.
Un servizio Web significa migliore astrazione e accoppiamento più libero tramite un ulteriore livello di riferimento indiretto. Un servizio Web può fungere da amministratore unico dei dati. Scoprirai andando direttamente contro il database quando è solo la tua app, ma se arrivano altre app e richiedono gli stessi dati aumenterai le possibilità che abbiano bisogno di modifiche allo schema un giorno. Queste modifiche influiranno anche sulla tua app. Il costo è più latente.
Un servizio Web può essere un buon posto per centralizzare l'autorizzazione e la sicurezza. Un database può fare anche questo, quindi forse è un lavaggio.
La prestazione è un'altra considerazione; normalmente sarà molto più veloce accedere direttamente al database – Cocowalla