N-tier architecture (often referred to as multi-tier architecture) describes a method of dividing an application into three or more physical or logical tiers to provide for ease of maintenance and flexibility. Any architecture that utilizes a 3-tier architecture (presentation, application/business logic and database layers), which componentized one or more of the logical tiers is said to be n-tier. Typically this componentization occurs in the business rule tier, however this is not a requirement. An n-tiered application is designed to integrate a diverse collection of reusable, component based services into a unified system. The layers may operate in multiple configurations, using any number of physical systems. This architecture provides a flexible and scalable solution for meeting the State's current and future requirements. Example: an application that uses middleware to service data requests between a user and a database.