Three-tier architecture benefits: Which statement best captures a key benefit of adopting a three-tier (presentation, application, data) architecture in enterprise systems?
-
ANew modules can be built to support specific business needs
-
BPerformance improves for compiled SQL statements
-
CResults in a thinner client and database server
-
DAll of the above.
Answer
Correct Answer: All of the above.
Explanation
Introduction / Context:Three-tier architecture separates responsibilities into presentation (UI), application (business logic), and data (DB). This separation improves maintainability, scalability, and the ability to evolve systems without disrupting all layers.
Given Data / Assumptions:
- Business logic can live on an application server.
- Multiple client types (web, mobile) may consume the same services.
- The database focuses on persistence and set-based processing.
Concept / Approach:
Modularity enables adding new business modules (APIs/services) without altering clients extensively. Centralizing logic on an app tier lightens the client and can reduce ad-hoc burdens on the DB, effectively making both “thinner.” While compiled SQL performance mainly depends on the database, three-tier designs facilitate pooling, caching, and optimized call patterns that indirectly improve performance of repeated statements.
Step-by-Step Solution:
Abstract business rules into services on the app tier.Share services across multiple UIs; keep clients thin.Use connection pooling/caching to reduce DB round-trips.Verification / Alternative check:
Measure throughput after introducing an app tier with pooled connections and cached results; observe reduced DB contention.
Why Other Options Are Wrong:
Options A and C are true on their own; B is plausible via better call patterns and reuse—hence “All of the above.”
Common Pitfalls:
Assuming three tiers automatically improve performance without proper design; duplicating logic across tiers.
Final Answer:
All of the above.