We are trying to setup the infrastructure for all our web developments...
We will be building web apps, mobile apps, other plugins for outlook and so on
All these apps will be using the same "data"...
We were thinking for web apps we would use single-page angular apps that talk to an API... Some of these apps are external and some internal...
The question is do we build ONE API that every single app talks to (internal and external)?
If we do so what is this API talking to? Should it talk to the database directly or talk to internal web services that talk to the database directly?
Or in other words...
Design 1 = apps > API > web services > database
Design 2 = apps > API > database
The next question is that my boss wants an API for each app which is puzzling me a little and we have been arguing it back and forth... Does it make sense to have
app 1 > API for app 1 > web services > database
mobile app 1 > API for mobile app 1 > web services > database
Personally, I am leaning towards:
app 1 > API > database
app 2 > API > database
etc...
What are your thoughts?