Description
When horizontal and vertical design elements are intermixed, an unstable architecture results. Vertical design elements are dependent upon the individual application and specific implementations. Horizontal design elements are those that are common across applications and specific implementations.
Context
Derived from: “Jumble”
It takes some time to fully understand the meaning and implications of horizontal and vertical design elements. Horizontal rather talks about technical related and vertical talks more about business functionality. In particular, the Horizontal-Vertical-Metadata (HVM) pattern establishes key principles for software architecture design that could be adapted for EA. The Jumble antipattern describes the most common misuse of these principles.
Consequences
Unstable architecture with unclear possibilities for development.
Solution
The first step is to identify the horizontal design elements and delegate them to a separate architecture layer. Then use the horizontal elements to capture the common interoperability functionality in the architecture.
Tags
soa, microservices, business, application, technology, The Change Preventers