Architecture refers to a very broad concept that creates a lot of confusion in the IT world. Why is it that such a common term is so vague? In this article we will give you an explanation for it. [caption id="attachment_12957" align="alignright" width="373"] definition of system architecture[/caption]
According to the IEEE the architecture is “the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment [ and the principles guiding its design and evolution.]”. As you can see from this definition architectures refers to systems. A system is a set of interacting components forming an integrated whole, providing external visible properties and functions. So architecture is the way that the components and their interactions are organized to provide the functions and properties required by the outside world and so fulfill the mission of the system.
As the components of a system interact in a certain way, each system has an architecture, intended or unintended. Anybody who modifies the organization of a system, is called an architect. An architect attempts to organize the components and interactions in a system in such a way that the system will be able to deliver the required visible functions and properties in order to make it a successful.
So why is architecture vague? Architecture is vague because systems have endless aggregation and decomposition. A single application is a system. The application itself is part of a collection of applications with interactions that form the enterprise IT system. The enterprise IT system, is part of the company. The company is a system, where people work and interact with other people and applications to provide the services and goods to the outside world.
[caption id="" align="alignright" width="244"] architecture is endless as systems are endless[/caption]
The collection of interacting companies form another system. In the opposite direction, and application is running on a computer. The computer is a system. Within the computer, there are components that are systems in themselves: The CPU, the power supply etc. It goes on and on in both directions until we get to the universe or on the other side of the spectrum the quark.
Even within a single system you will find many different types of components and interactions, each with a different fundamental organization. For example, within the human body you will find the digestive system, the respiratory and circulatory system, musculoskeletal system, the nervous system, etc.
The endless number of different systems and large number of variations of components and interactions within a single system means that there is no such thing as “the architecture”. making it an ambiguous term to people.
What architectures have in common is their purpose: The prime purpose of any architecture is to deliver the functions and properties of the system that are required by the external entities. The first and foremost priority of the architect is to get clear and unambiguous descriptions of these requirements. Once the goal of the system is clear, you can evaluate different types of architectures (fundamental organizations) and choose the best one.