Inizierò a sviluppare un'applicazione nel prossimo futuro. Questa applicazione è composta da:
-
Sistema di back-end. Questo sistema fornisce API da utilizzare dal client. Questo il sistema si connette all'archivio dati e all'API di terze parti.
-
Archivio dati: può essere archivio dati relazionale o nosql.
-
Cliente: il client sarà un sito Web e applicazioni mobili.
Le mie ragioni sono qui sotto:
-
Voglio impedire la query SQL duplicata e le chiamate API di terze parti lato dell'applicazione del sito Web. L'applicazione e il sito web saranno sviluppato da diversi sviluppatori. Solo sistema di back-end sviluppatori che possono effettuare query o chiamare API di terze parti. Tutto il sito gli sviluppatori devono utilizzare solo l'API fornita dal sistema di back-end
-
A mio parere, il sito Web è anche un client come il cellulare applicazione. Se le app mobili ottengono i loro dati dal sistema di back-end API, perché il sito web non dovrebbe essere lo stesso.
-
Ho sentito che twitter sta usando un'idea simile (posso però sbagliarmi). Suo il sito Web utilizza l'API di Twitter proprio come la loro applicazione mobile.
La mia preoccupazione principale per questa architettura è che le prestazioni del sito Web saranno inferiori rispetto a Se il sito Web può effettuare query o chiamate API di terze parti direttamente.
Ci sono altri pro e contro che dovrei pensare?