-Now that we have discussed a few foundational aspects - -2
-of software architectures, and we have looked at some real - -3
-world examples that help us to illustrate some of these - -4
-points, to discuss some of these aspects. I want to - -5
-introduce and define the different elements that compose a software - -6
-architecture and also talk about architectural styles. So let's start - -7
-by discussing a software architecture's - -8
-elements. A software system's architecture - -9
-typically is not, and should not be, a uniform monolith. - -10
-On the contrary, an architecture should be a - -11
-composition and interplay of different elements. In particular, - -12
-as we quickly mentioned at the beginning of - -13
-the lesson, there are three main types of elements - -14
-in an architecture. Processing elements, data elements, and - -15
-interaction elements. Processing elements are those elements that implement - -16
-the business logic and perform transformations on data. - -17
-Data elements, also called information or state, are those - -18
-elements that contain the information that is used - -19
-and transformed by the processing elements. And finally, - -20
-the interaction elements are the glue that holds - -21
-the different pieces of the architecture together. Now, - -22
-the processing elements and the data are contained - -23
-into the system components, whereas the interaction elements - -24
-are maintained and controlled by the system connectors. - -25
-And components and connectors get all cooked together - -26
-into a systems configuration, which models - -27
-components, connectors and their relationships. So - -28
-now, let's look at components, connectors - -29
-and configurations in a little more detail. -- cgit 1.4.1