Software Architecture is the process which follows the collection of the preliminary business requirements. In this phase we will put together a rough plan for the project, identify the scope, the technologies to be used, the transport protocols, the security requirements and technologies and ensure the existing architecture or the newly selected architecture can support the business requirements. The selected architecture is an abstract layer that defines the interactions between components. Internally to each component or software element a design decision will narrow down the implementation to a more specific pattern, language and technology.