Stavo pensando l'architettura di un'applicazione web che sto progettando sulla costruzione e mi sono ritrovato a pensare molto su una parte fondamentale della domanda. Dal momento che voglio creare, ad esempio, un'applicazione Android per accedervi, stavo già pensando di avere un'API.buona pratica: API REST come interfaccia tra il livello di interfaccia e il livello aziendale?
Dato che desidererei avere un'API esterna alla mia applicazione sin dal primo giorno, è una buona idea usare quell'API come interfaccia tra il livello dell'interfaccia (web) e il livello aziendale della mia applicazione? Ciò significa che anche l'interfaccia principale della mia applicazione accederà ai dati tramite l'API. Quali sono gli aspetti negativi di questo approccio? prestazione?
In termini più generali, se si sta creando un'applicazione Web a cui è probabile che sia necessario l'accesso in diversi modi, è un buon progetto architettonico avere un'API (servizio Web) come interfaccia tra il livello di interfaccia e livello aziendale? REST è un buon "strumento" per questo?
Ho effettivamente 2 domande lì, grazie per la separazione delle risposte. Più tardi mi sono reso conto che avrei dovuto separare questa domanda SO in 2. –
1) Il motivo principale per considerare l'API era il fatto di avere più di 1 cliente che accede al livello aziendale (app web e app Android). Stavo anche chiedendo se questo fosse un approccio che ha senso prendere in generale quando si costruisce un'app web che si prevede sia accessibile tramite diversi client (app mobili, ecc.) Poiché potrebbe risparmiare molto tempo dopo. So che saranno più generali, ma questo vale anche per molte buone pratiche di progettazione. –
Assolutamente, se si prevede di lavorare con più di 1 client, un'API tra questi livelli è un ottimo approccio. – JustABitOfCode