- An architectural pattern is a set of architectural design decisions that are applicable to a recurring design problem and parameterized to account for different software development contexts in which that problem appears.
- Architectural patterns represent the highest-level patterns in our pattern system. They help you to specify the fundamental structure of an application.
- Every development activity that follows is governed by this structure-for example, the detailed design of subsystems, the communication and collaboration between different parts of the system, and its later extension.
- Each architectural pattern helps you to achieve a specific global system property, such as the adaptability of the user interface.
- Patterns that help to support similar properties can be grouped into categories.
Distributed Systems
- This category includes one pattern. Broker and refers to two patterns in other categories
- The Broker pattern provides a complete infrastructure for distributed applications.
- The Microkernel and Pipes and Filters patterns only consider distribution as a secondary concern and are therefore listed under their respective primary categories.
Interactive Systems
- This category comprises two patterns, theModel-View-Controller pattern well-known from Smalltalk, and the Presentation-Abstraction-Control pattern.
- Both patterns support the structuring of software systems that feature human-computer interaction.
Adaptable Systems
What does Three-Tier Architecture mean?
- A three-tier architecture is a client-server architecture in which the functional process logic, data access, computer data storage and user interface are developed and maintained as independent modules on separate platforms.
- Three-tier architecture is a software design pattern and a well-established software architecture.
- Three-tier architecture allows any one of the three tiers to be upgraded or replaced independently. The user interface is implemented on a desktop PC and uses a standard graphical user interface with different modules running on the application server.
- The relational database management system on the database server contains the computer data storage logic. The middle tiers are usually multitier.
The three tiers in a three-tier architecture are:
Presentation Tier:
- Occupies the top level and displays information related to services available on a website. This tier communicates with other tiers by sending results to the browser and other tiers in the network.
Application Tier:
- Also called the middle tier, logic tier, business logic or logic tier, this tier is pulled from the presentation tier. It controls application functionality by performing detailed processing.
Data Tier:
- Houses database servers where information is stored and retrieved. Data in this tier is kept independent of application servers or business logic.
The main benefits of the 3-tier architectural style are:
Maintainability.
Because each tier is independent of the other tiers, updates or changes can be carried out without affecting the application as a whole.
Scalability.
Because tiers are based on the deployment of layers, scaling out an application is reasonably straightforward.
Flexibility.
Because each tier can be managed or scaled independently, flexibility is increased.
- Availability.
Applications can exploit the modular architecture of enabling systems using easily scalable components, which increases availability.
- Consider the 3-tier architectural style if the processing requirements of the layers in the application differ such that processing in one layer could absorb sufficient resources to slow the processing in other layers, or if the security requirements of the layers in the application differ.
- For example, the presentation layer should not store sensitive data, while this may be stored in the business and data layers.
- The 3-tier architectural style is also appropriate if you want to be able to share business logic between applications, and you have sufficient hardware to allocate the required number of servers to each tier.