Higher number of vulnerability points Requires complete rebuild during upgrades / migrations Lower compatibility with different operating systems Outdated client versions Bad use of database connections Heavyweight Client Applications
we can introduce a middle layer that’s in-charge of data. Industry calls this component “API” Tablets Desktop Clients Mobile Clients Web Clients Database Layer
shared by multiple clients through HTTP Controlled environment due to residence in server environment More efficient usage of database connections Application Programming Interface Improved security of database server Rebuilding GUI clients is now a separate business from API upgrades Updates are decoupled to client applications
long running tasks Can often run in trouble especially with long running queries Single point of failure Could fall victim to inefficient scaling of resources