Meta-architecture document

from Wikipedia, the free encyclopedia

In software development, a meta-architecture document (MAD) is a cross-project , but pragmatic document that summarizes general, architecture-relevant information. The main objective of the MAD is to outsource generally applicable principles from the project- specific architecture documents ( PADs ) and thus to increase maintainability and reduce the effort for creating architecture documentation.

idea

The main idea of ​​the MAD is the outsourcing of general, architecture-relevant information in a cross-project, but pragmatic document. The direct goal: to minimize the effort involved in documenting software. The indirect goal: standardization of architectures and increased maintainability . A MAD describes a company- specific reference architecture with design specifications, naming conventions and code examples as briefly as possible, free of redundancies and pragmatically .

introduction

Recurring patterns can be seen in the development of software . In addition to general procedures such as separation of responsibilities, abstraction or the formation of layers, patterns and in particular architectures can be further concretized and captured efficiently by taking their application category into account. In the case of a distributed architecture, additional aspects such as B. record transactionality , granularity of the interfaces or distribution . For a classic fat client , on the other hand, aspects such as object orientation , object relational mapping or the synchronization / updating of the clients can be examined more closely .

The patterns, approaches, naming conventions and best practices are documented for each application category (examples: Fat Client , Thin Client , SOA , Smart Client , Rich Internet Application ) and across projects. A company-wide standardization of such architectures would be useful, but can hardly be implemented in practice.

definition

In a MAD, generally applicable concepts, architecture, design patterns and code examples of an application category are collected. The subdivision into application categories is helpful because it allows the architecture of a MAD to be defined more precisely. Objective of this document: Avoid redundancies in project-specific documents and increase maintainability through the standardization of the design and code. The abstract ideas of a MAD are demonstrated with the help of a POC or a simple example application . A MAD is specified and refined in the PAD .

example

A MAD describes in the context of EJB 3 -Programmiermodells not only the categorization of Java EE - pattern , but also their practical implementation (with as few variations) and allowed combination. A MAD is practice-oriented, so that specific requirements such as B. naming conventions, transactionality, logging, distribution or the configuration of the build process etc. are clearly and succinctly described.

See also

literature

  • Deepak Alur, John Crupi, Dan Malks: Core J2EE Patterns. Best Practices and Design: Best Practices and Design Strategies . 2nd Edition. Prentice Hall International, 2003, ISBN 0-13-142246-4
  • Erich Gamma, Richard Helm, Ralph E. Johnson: Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley Longman. ISBN 0-201-63361-2
  • Adam Bien : Enterprise Architectures. Guide to efficient software development . 1st edition. Developer. Press , 2006, ISBN 3-935042-99-X