Architectural pattern

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For the use of the word "pattern" in the field of architecture, see Pattern (architecture).

An architectural pattern is a widely recognised and reused solution to a recurring design problem in the field of software architectures. The concept of an architectural pattern has a broader scope than the concept of design pattern. The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a business risk. Some architectural patterns have been implemented within software frameworks.

Definition[edit]

Even though an architectural pattern conveys an image of a system, it is not an architecture. An architectural pattern is a concept that solves and delineates some essential cohesive elements of a software architecture. Countless different architectures may implement the same pattern and share the related characteristics. Patterns are often defined as "strictly described and commonly available".[1][2] For example, the layered architecture is a call-and-return style because it defines an overall style to interact. When it is strictly described and commonly available, it is a pattern.

Examples[edit]

Here is a list of Architecture Patterns, Design Patterns, and Solution Patterns in the Application and Information Architecture Domains.

Sub-Domain Area Architecture Pattern Name Design Patterns Solution Patterns Related Patterns
Data Integration/SOA
  • One-Way
  • Synchronous Request/Response
  • Basic Callback
  • Claim Check
Data Architecture
  • Custom Applications Databases
  • Packaged Application Databases
  • ETL
  • EAI
  • SOA
Business Intelligence
  • Transactional Reporting
  • Operational Reporting
  • Analytical Reporting
  • Transactional Reporting Data Access
  • Operational Reporting Data Access
  • Analytical Reporting Data Access
  • Analytical Dashboard Data Access
  • Operational Dashboard Data Access
  • Data Mining
  • ETL
  • EAI
  • TDS
  • Operational Data Store
  • Data Mart
Master data management
  • Master Data Hub
  • Master Data Replication
  • Master Data Services
  • Master Data Synchronization
Data Modeling
  • Modeling Standards
  • Naming Conventions

Some additional examples of architectural patterns:

See also[edit]

References[edit]

  1. ^ Chang, Chih-Hung; Lu, Chih-Wei; Lin, Chih-Hao; Yang, Ming-Feng; Tsai, Ching-Fu (June 2008). "An Experience of Applying Pattern-based Software Framework to Improve the Quality of Software Development: 4. The Design and Implementation of OS2F". Journal of Software Engineering Studies, Vol. 2, No. 6. the Third Taiwan Conference on Software Engineering (TCSE07). pp. 185–194. Retrieved 2012-05-16. "Furthermore, patterns are often defined as something "strictly described and commonly available". For example, layered architecture is a call-and-return style, when it defines an overall style to interact." 
  2. ^ "Architectural Patterns: Definition". AAHN INFOTECH (INDIA) PVT. LTD. Retrieved 2012-05-16. "Even though an architectural pattern conveys an image of a system, it is not an architecture as such. An architectural pattern is rather a concept that solves and delineates some essential cohesive elements of a software architecture. Countless different architectures may implement the same pattern and thereby share the related characteristics. Furthermore, patterns are often defined as something "strictly described and commonly available"." 

Bibliography[edit]

Avgeriou, Paris; Uwe Zdun (2005). "Architectural patterns revisited:a pattern language". 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany, July. 

Buschmann F., Meunier R., Rohnert H. & Sommerlad P. & Stal M. (1996). Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons. 

Bass L., Clements P., Kazman R. (2005). Software Architecture in Practice: Second Edition. Addison-Wesley.