What is application architecture?
When we start building an application, we have a set of requirements, and we try to design a solution that we feel will fulfill all the requirements. This design is known as application architecture. One important factor to consider is that your architecture should not only take care of current requirement, but should also anticipate expected future changes and take them into consideration. Quite often, there are some unspecified requirements, known as non-functional requirements, that you need to take care of. Functional requirements will be given as part of the requirements document, but architects or senior developers are expected to figure out non-functional requirements themselves. Performance needs, scalability needs, security requirements, maintainability, enhanceability, availability of applications, and so on, are some of the important non-functional requirements that need to be considered when architecting a solution.
The fact that makes the skill...