Context: If you’re building a server-side enterprise application, it must support a variety of different clients, different browsers – web and mobile, and native mobile applications. Such an application must also expose an API for 3rd parties. It should also integrate with other applications via web services or a message broker. Normally the application handles requests (HTTP requests and messages) by executing business logic, accessing a database, exchanging messages with other systems and returning an HTML/JSON/XML response. Logical components are corresponding to different functional areas of the application.
Exponential advances in technology have rephrased industrial outlook and presentation. The emergence of tools, frameworks, languages, plug-ins, programming best practices, methodologies, and architecture has disrupted the traditional coding practices and allowed unbundling of the tiered growth. The related products and services have become more accessible, available, and affordable to a larger population.