N-tier application architecture provides a model by which developers can create flexible and reusable applications. By segregating an application into tiers, developers acquire the option of modifying or adding a specific layer, instead of reworking the entire application. A three-tier architecture is typically composed of a presentation tier, a domain logic tier, and a data storage tier. This model provides for several layers built around one core database. When information enters such a solution, it interacts with all layers subsequently, from top to bottom. Each tier has specific tasks: data validation, reformatting, demonstration, storing. This software system architecture focuses on the segregation of presentation and data processing, scalability, and security.