The web and now the mobile web have been powered by the 3-tier architecture of presentation, logic and data. Each tier includes established technologies.
Behind the presentation tier is the logic tier. There are many different ways of building a logic tier for the web. The leading technologies are .NET, Java, PHP, Python and Ruby on Rails.
The web is powered by data. Behind the logic and presentation layers sits the data tier, which has been driven primarily by relational database management servers. The leading DBs include Microsoft SQL Server, Oracle, Postgres, and MySQL.
The data tier is currently undergoing the greatest amount of change and driving change up through the logic and presentation tiers.
This new world looks like a lightweight presentation tier
and a rich set of API-powered data capabilities.
Another vector affecting the traditional application tiers is the growth of mobile applications, which often use web APIs to store data in the cloud, plug into social networks, and help grow the usage of the apps.
Mobile apps often store their data
Working with APIs we don't control.
As app developers who have been working with APIs quickly realize, they don’t own all the APIs. Sometimes app development just stops as a result. Why?
- An API might return big chunks of data that drown the network capacity of a mobile app.
How do we get development going again? With a new logic tier called an API proxy.
The power of the API proxy is that it lets developers change the way an API works without actually owning or controlling that API.
A couple of recent events help illustrate the point.
Twitter drops support for XML. Will every app powered by the Twitter API with XML break? It’s possible, but can be avoided by transforming a JSON API into an XML API using an API proxy – no need to change the original API.
With a rich set of API-powered data capabilities replacing traditional relational database management servers, the landscape for app developers is evolving to one with a lightweight presentation tier, a new set of mobile development platforms, and APIs.