OIAm Building Blocks Model functions and relationships
previous: The Building Blocks Model structure | up: table of contents | next: Best Practices and Architectural Products |
Each dimension and component of the Building Blocks Model has its own function and they are all related to each other in a certain way. To explain the working of the Building Blocks Model, the functions and relationships of the various dimensions and components are explained below.
Working Area
At the highest level of abstraction, the Building Blocks Model envisages a subdivision of an organization’s infrastructure landscape into Working Areas. Working Areas are aligned to the different areas of expertise typical to the infrastructure field. This dimension is used to allocate knowledge and assign responsibility for each facility within a particular area to architects, specialists and engineers with expertise in that area.
The standard Working Areas defined within the Building Blocks Model are:
- Server embraces a broad Working Area focused on (logically) centralized delivery of processing and computing capabilities. Around servers there are countless facilities in the form of generic, centralized applications and management tools. They will usually be facilities that form part of an operating system or are closely associated with it. Examples are directory services, mail facilities, management and monitoring facilities;
- Middleware is a Working Area focused on applications that fulfill generic functions to support business applications and, as such, do not have a purpose of their own. They include messaging facilities and database management systems;
- Storage is a Working Area that provides numerous different types of permanent and semi-permanent data storage;
- Network is a Working Area for the transmission of data, controlled and conditioned or otherwise, between systems;
- Client Realm has the infrastructure that provides various user interfaces as its Working Area. These include (mobile) workstations and printers.
Environment
At the next level of abstraction, Environments within each Working Area can be discerned. An Environment is a functionally demarcated domain and offers its own distinct type of functionality coupled to the way its facilities and services can be used. Environments can also differ from each other as a result of the requirements the services must satisfy (both functionally and in terms of Quality Attributes). An example is a hospital that has identified three Environments within its Working Area “Client realm”: “office workstations”, “medical workstations” and “visitor workstations”. Another example is an organization that within its working area “network” has defined an “office LAN”, a “server LAN”, a “demilitarized zone” and a “WAN” Environment. Within Environments a further distinction can be made according to location types (such as a Head Office LAN and a Service Point Office LAN) if the infrastructure services differ so much as to justify a further subdivision. The different variants of Building Blocks will then be defined from location to location.
The purpose of defining Environments is to make a structural distinction between Building Block variants. Per Environment, relevant Quality Attributes and their value are determined on a global level. To achieve the fullest possible standardization, it is important to keep the number of Environments as small as possible. Only after domains have been identified with an abundantly clear difference in functionality will separate Environments be defined for them.
Building Block
A Building Block is a logical infrastructure facility defined by a functional description, which includes the purpose, offered facility and method of use of the Building Block. The functional definition of a Building Block will be discussed and agreed with the other architecture disciplines. The Quality Attributes which will determine which characteristics the infrastructure service must satisfy will be one of the prime subjects in this discussion. The relevant types of Building Blocks (including the necessary variants) will be decided on for each type of Environment. The table below (reproduced from the Building Block Type Overview) contains frequently used Building Block Types for each Working Area:
Client Realm (CR) | Middleware (MW) | Network (NW) | Security + Support (SS) | Server (SE) | Storage (ST) |
Organizations are obviously free to choose their own way of distinguishing categories and defining their own Building Blocks, as is appropriate for their own infrastructure landscape. The Building Blocks’ primary description must always be functional and logical to avoid a technical and product orientation. Definitions of Building Blocks included in the Reference Architecture are considered to be organization-wide. These are the Building Blocks which will be used when starting a project (for example, whilst preparing an Impact Analysis and the Project Start Architecture).
Element
A Building Block consists of one or more technical components referred to as the standard (and preferred) Elements. The description of a Building Block includes the hardware, software, protocols and standards which preferably should be used when constructing the Building Block. Variants of a (type of) Building Block can consist (partly) of different elements, depending on the requirements which the envisaged Environment (in which the Building Block will be used) imposes on an infrastructure facility.
The composition of a Building Block variant will be decided on in cooperation with infrastructure specialists. This will bring in specialists at an early stage of the architecture and engineering process, allowing the architecture documentation to become sufficiently specific and with unambiguous specifications. This is not only important for the architectural process; it also provides procurement departments with enough information to make an informed choice during the selection process. As specialists are already involved during the architecture phase, the engineering phases in projects will speed up. By defining and using Elements, OIAm has created an explicit place for technical specifications in the architectural process.
Quality attribute
Quality attributes determine the 'capability' of a building block (infrastructure service). Quality Attributes shape building block types and variants, and are of prime importance in selecting the correct Building Block. The most relevant Quality Attributes, together with their appropriate weightings, will be determined during the architectural process. During the engineering and building processes, Quality Attributes will be specified and quantified in greater detail
previous: The Building Blocks Model structure | up: table of contents | next: Best Practices and Architectural Products |