The building-blocks model is structured in a primarily functional way. Building-block types are defined for each type of infrastructure service. Within each organization, several variants of a building-block type will typically occur, depending on the environment. The building-blocks model recognizes the following service groupings:
A set of infrastructure services that, at a general, logical level, provide a certain kind of infrastructure functionality, such as middle-ware, storage, network, and client.
In this context, a functionally demarcated domain (business context) in an organization’s infrastructure landscape, such as “hospital workstations.” Environments differ from each other primarily in the types of functionality that they offer. A further subdivision can be made according to location types, if infrastructure services at each location are different enough to justify a further breakdown.
An infrastructure service or set of closely related infrastructure services that, in the context of an environment, provides uniform and delineated infrastructure functionality, such as “backup storage.” Several variants of a certain type of building block might occur within an organization, depending on the diversity of environments and locations. (For example, file and print services at a small location might be implemented differently from a large location.)
Elements are technical components, functions, and/or protocols that are used to construct building blocks, such as TCP/IP or Linux.
Quality attributes, such as “response time,” describe constraints on how a building block functions, and they are regarded as nonfunctional requirements. Quality attributes influence the elements that are used to construct a building block, and they can be applied to environments on a global level.