Question :
(a) Discuss about Service Oriented Architecture (SOA), in terms of key principles, benefits and applicability. Also include examples of applications suitable for SOA.
(b) Reflection and Code generation are architectural design strategies that can be used to improve the adaptability of systems. Discuss about these strategies.
(c) Subsystems and layers are two fundamental tools for structuring large scale systems into smaller and more manageable. However, the decomposition of software leads to the creation of dependencies between subsystems. Why it is very important for the architecture team to properly manage dependency?