Architectural pattern

An architectural pattern is a general, reusable resolution to a commonly occurring problem in software architecture within a given context.[1] 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. There are two main categories of architectural patterns: monolithic and distributed.[2]

The use of the word "pattern" in the software industry was influenced by similar concepts as expressed in traditional architecture, such as Christopher Alexander's A Pattern Language (1977) which discussed the practice in terms of establishing a pattern lexicon, prompting the practitioners of computer science to contemplate their own design lexicon.

Usage of this metaphor within the software engineering profession became commonplace after the publication of Design Patterns (1994) by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides—now commonly known as the "Gang of Four"—coincident with the early years of the public Internet, marking the onset of complex software systems "eating the world"[3] and the corresponding need to codify the rapidly sprawling world of software development at the deepest possible level, while remaining flexible and adaptive.

Architectural patterns are similar to software design patterns but have a broader scope.

Definition

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".[4][5]

Architectural style

Following traditional building architecture, a software architectural style is a specific method of construction, characterized by the features that make it notable.

An architectural style defines: a family of systems in terms of a pattern of structural organization; a vocabulary of components and connectors, with constraints on how they can be combined.[6]

An architectural style is a named collection of architectural design decisions that (1) are applicable in a given development context, (2) constrain architectural design decisions that are specific to a particular system within that context, and (3) elicit beneficial qualities in each resulting system.[1]

Some treat architectural patterns and architectural styles as the same,[7] some treat styles as specializations of patterns. What they have in common is both patterns and styles are idioms for architects to use, they "provide a common language"[7] or "vocabulary"[6] with which to describe classes of systems.

The main difference is that a pattern can be seen as a solution to a problem, while a style is more general and does not require a problem to solve for its appearance.

Analysis

Software is managed by its problem space into which solutions may be applied. The table below shows how software is considered across various problem spaces, defined by a sub-domain and addressed with corresponding software design patterns and solution patterns. Sub-domains can be incorporated into the analysis of other sub-domains, for example, solving an Artificial Intelligence problem is first approached as a Data Architecture problem.

Sub-domain area Architecture pattern Software 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
Analytics and business intelligence
  • Transactional reporting
  • Operational analytics
  • Business analytics
  • Predictive analytics
  • Prescriptive analytics
  • Streaming analytics
  • Data science and advanced analytics
  • NLP
  • 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
Artificial intelligence

Examples

Some examples of architectural patterns:

See also

References

  1. ^ a b Taylor, R.N.; Medvidović, N.; Dashofy, E.M. (2009). Software architecture: Foundations, Theory and Practice. Wiley. ISBN 9780470167748.
  2. ^ a b c d e Fundamentals of Software Architecture: An Engineering Approach. O'Reilly Media. 2020. ISBN 978-1492043454.
  3. ^ Andreessen, Marc (20 August 2011). "Why Software Is Eating The World". The Wall Street Journal. Retrieved 25 April 2020.
  4. ^ 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. Archived from the original on 2011-09-22. 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.
  5. ^ "Architectural Patterns: Definition". AAHN INFOTECH (INDIA) PVT. LTD. Archived from the original on 2012-06-23. 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".
  6. ^ a b Shaw, M.; Garlan, D. (1996). Software architecture : perspectives on an emerging discipline. Prentice Hall. ISBN 9780131829572.
  7. ^ a b "Ch. 3: Architectural Patterns and Styles". Microsoft Application Architecture Guide (2nd ed.). Microsoft Press. October 2009. ISBN 9780735627109.

Bibliography

Read other articles:

ABS House, las oficinas centrales de la Australian Bureau of Statistics. La Australian Bureau of Statistics (ABS) es la oficina australiana de estadística. En un principio fue denominada Commonwealth Bureau of Census and Statistics (Oficina de Censo y Estadística de la Mancomunidad), y comenzó su actividad el 8 de diciembre de 1905. La Constitución australiana dio al gobierno el poder de recoger la información del censo y estadística. El trabajo de la ABS es ayudar al gobierno australia...

Television channel M1CountryUkraineBroadcast areaUkraineHeadquartersKyiv, UkraineProgrammingPicture format1080i до г не на 45 не 67 (HDTV)(downscaled to 576i for SDTV)OwnershipOwnerStarlight MediaSister channelsM2ICTVSTBNovyi KanalHistoryLaunchedDecember 27, 2001LinksWebsiteM1 (Ukraine)AvailabilityTerrestrialZeonbudMX-2 (14) M1 is a Ukrainian music television channel. The channel shows lifestyle and music related programs. M1 is a part of Starlight Media broadcasting group, created b...

College with campuses in Truro, Penzance, and Carnon Downs Truro College redirects here. For the Wesleyan Methodist institution which operated between 1879 and 1931, see Truro School. This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of view. (January 2022) (Learn how and when to remove this template message) Truro and Penw...

  لمعانٍ أخرى، طالع ريتشارد تومسون (توضيح). ريتشارد تومسون   معلومات شخصية الميلاد 7 يونيو 1985 (38 سنة)  بورت أوف سبين  الطول 188 سنتيمتر  الجنسية ترينيداد وتوباغو  الوزن 79 كيلوغرام  المدرسة الأم كلية كوين الملكية  [لغات أخرى]‏  الحياة العملية المهنة...

Bento Gonçalves. Jendral Bento Gonçalves da Silva, (23 September 1788 – 18 Juli 1847), adalah pemimpin revolusioner Tatter dan presiden Republik Piratini (1836 - 1845). Ia dianggap sebagai salah satu paling penting dalam sejarah Rio Grande do Sul. Artikel bertopik biografi Brasil ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.lbs

?Rosa carolina Біологічна класифікація Домен: Еукаріоти (Eukaryota) Царство: Рослини (Plantae) — Судинні (Tracheophyta) — Покритонасінні (Angiosperms) — Евдикоти (Eudicots) — Розиди (Rosids) Порядок: Розоцвіті (Rosales) Родина: Розові (Rosaceae) Підродина: Розанні (Rosoideae) Триба: Roseae Рід: Шипшина (Rosa) Вид: R. carolina Біноміал

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Senangan Jaya, Ketungau Tengah, Sintang – berita · surat kabar · buku · cendekiawan · JSTOR Senangan JayaDesaNegara IndonesiaProvinsiKalimantan BaratKabupatenSintangKecamatanKetungau TengahKode pos7...

Ernst Kundt Ernst Kundt (15 de abril de 1897 – Praga, 15 de febrero de 1947). Fue un político alemán y nacionalsocialista. El 3 de abril de 1927 fue nombrado jefe de „Deutschpolitischen Arbeitsamtes“ (Departamento de trabajo político alemán) y jefe de „Arbeits- und Vertretungszentrale des Deutschtums in der Tschechoslowakei (Jefe de la central trabajadora de la identidad alemana en Checoslovaquia). El 1938 fue diputado y portavoz del partido de los alemanes sudetes de Konrad Henle...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أكتوبر 2023) فاطمة بنت محمد بن عبدالوهاب معلومات شخصية الجنسية سعودية الديانة الإسلام تعديل مصدري - تعديل   فاطمة بنت محمد بن عبد الوهاب، داعية وعالمة دين وعلوم شرعي

نسبة الاراضي الصالحة للزراعة في الأرض الأرض الصالحة للزراعة (من الارابيليس اللاتينية،) طبقا لتعريف واحد، هي الأراضي التي يمكن حرثها واستخدامها لزراعة المحاصيل. في بريطانيا، كان تقليديا يتناقض مع الأراضي القابلة للرعي مثل الأراضي التي يمكن استخدامها لتربية الأغنام ولكن لي

Real Sociedad Basisdaten Name Real Sociedad de Fútbol Sitz San Sebastián, Spanien Gründung 7. September 1909 Farben weiß, blau Präsident Jokin Aperribay Website realsociedad.eus Erste Fußballmannschaft Cheftrainer Spanien Imanol Alguacil Spielstätte Estadio Anoeta Plätze 39.500 Liga Primera División 2022/23 4. Platz Heim Auswärts Ausweich Die Real Sociedad de Fútbol („Königliche Fußballgesellschaft“), Kurzform Real Sociedad oder auch La Real, im deutschsprachigen Raum auch Re...

Osmar Donizete Cândido Informasi pribadiNama lengkap Osmar Donizete CândidoTanggal lahir 24 Oktober 1968 (umur 55)Tempat lahir Prados, BrasilPosisi bermain PenyerangKarier senior*Tahun Tim Tampil (Gol)1987-1988 Volta Redonda 1989-1990 Botafogo 1990-1995 Estudiantes Tecos 1995 Botafogo 1996 Verdy Kawasaki 1996-1997 Benfica 1997 Corinthians Paulista 1998 Cruzeiro 1998-1999 Vasco da Gama 2000 Universitario Nuevo León 2000 Botafogo 2001 Palmeiras 2002 Reboceros La Piedad 2002-2003 Estudia...

1994 Turkish local elections ← 1989 27 March 1994 (1994-03-27) 1999 → All 3,215 district municipalities and 16 metropolitan municipalities of Turkey   Majority party Minority party Third party   Leader Tansu Çiller Mesut Yılmaz Necmettin Erbakan Party DYP ANAP Welfare Last election 23.13% 21.80% 9.80% Popular vote 6,027,095 5,937,031 5,388,195 Percentage 21.40% 21.08% 19.13% Swing 3.73pp 0.72pp 9.33pp   Fourth party Fifth party S...

International athletics championship event1972 International Cross Country ChampionshipsOrganisersICCUEdition59thDate18 MarchHost cityCambridge, Cambridgeshire, England VenueColdhams CommonEvents3Distances7.5 mi (12.1 km) men 4.35 mi (7.0 km) junior men 2.8 mi (4.5 km) womenParticipation200 athletes from 15 nations← 1971 San Sebastián 1973 Waregem → The 1972 International Cross Country Championships was held in Cambridge, England, at the Coldhams Common on 18 March 1972. A report...

Web framework in JavaScript MeteorDeveloper(s)Meteor SoftwareInitial releaseJanuary 20, 2012; 11 years ago (2012-01-20)[1]Stable release2.13[2]  / 2 August 2023; 4 months ago (2 August 2023) RepositoryMeteor RepositoryWritten inJavaScriptOperating systemCross-platformTypeJavaScript frameworkLicenseMIT License. For dependencies: various including proprietary.Websitewww.meteor.com Meteor, or MeteorJS, is a partly proprietary, mostly free and o...

Indian esports player Ankur DiwakarBorn (1991-04-19) 19 April 1991 (age 32)Bombay, IndiaNationalityIndianOther namesJauntyTankOccupationEsports Athlete Ankur Diwakar (born 19 April 1991) better known by his alias Jauntytank, is an Indian professional esports player. He is the winner of UCypher MTV India Season 1 tournament in India.[1] He represented India in Asian Games 2018[2] and won the South Asian Championship.[3] Esports career Diwakar plays FIFA, Pro E...

Argentine video game developer This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Nimble Giant Entertainment – news · newspapers · books · scholar · JSTOR (June 2017) (Learn how and when to remove this template message) Nimble Giant Entertainment, SAFormerlyNGD Studios (2002-2019)TypeSubsidiaryIndustryVideo gam...

1798 battle during the French Invasion of Egypt Battle of the PyramidsPart of the French Campaign in Egypt and Syria during the War of the Second CoalitionThe Battle of the Pyramidsby Louis-François LejeuneDate21 July 1798LocationEmbabeh, EgyptOttoman Empire30°5′N 31°12′E / 30.083°N 31.200°E / 30.083; 31.200Result French victoryBelligerents French Republic Ottoman Empire Mamluks[1][2][3] Arab irregulars[1][2][3]C...

Afghan footballer Najim Haidary Haidary in 2023Personal informationFull name Abdul Najim Haidary[1]Date of birth (1999-12-26) 26 December 1999 (age 23)Place of birth Amsterdam, Netherlands[1]Height 1.85 m (6 ft 1 in)[1]Position(s) Central-defender, left-back, defensive midfielderTeam informationCurrent team ArianaNumber 34Youth career0000–2018 Excelsior RotterdamSenior career*Years Team Apps (Gls)2018–2019 BVV Barendrecht 3 (0)2019–2022 FC Den...

У этого термина существуют и другие значения, см. Улица Машиностроителей. УлицаМашиностроителей Общая информация Страна Россия Регион Свердловская область Город Екатеринбург Район Орджоникидзевский Жилой район Уралмаш Протяжённость около 3150 м Метро  Уралмаш Прежн...