With a pattern the almost impossible becomes possible
Date: 2024-03-22 22:01
How does she do that?
It was early January. Together with my girlfriend I stayed in a beautiful castle somewhere in Flanders. December was the wettest on record and January thought 'I can do better'; rain was forecast for the whole day. We decided to stay in the castle for the time being. We would kill time with games, among other things. There was a beautiful billiard table in the front room. With a father as a pub owner, I used to play this a lot. My girlfriend chose a different pastime. The day before we had seen a nice copy of the game solitaire in the games cupboard. With this game the idea is to remove the marbles from the board from a starting position until there is one marble left. It is especially clever when this last marble is in the middle of the board. I have also played this game often in the past. I don't remember ever finishing it. I wished her good luck, and got to work with the cue and billiard balls.
Twenty minutes later I came to see how my girlfriend was probably frustrated, bent over a board with 33 marbles, trying to solve this puzzle. To my surprise, she indicated that she had succeeded. To prove it, she placed the marbles on the board, and then I watched her turn the board three times and quickly remove the marbles until one marble remained in the center. 'How do you do that?!' was my question. Her answer was simple, 'I found a video on YouTube. Perform the same actions on each quarter until the marbles form the letter T. From then on it's simple.
Every IT problem is unique
Patterns are part of our daily lives. We use patterns even though we don't always realize it. A pattern has the following characteristics, a description of a problem and a description of what to do to solve the problem^.
In recent decades, many patterns relating to IT problems have been recorded. Is it that easy, IT architecture? I make sure I have access to the patterns, study them and apply the solution. In a game of Solitaire the problem is always the same. With an IT problem, every problem is unique. We cannot assume that the author of the pattern had your unique problem in mind. The main purpose of a pattern is to help the architect make decisions that solve the specific problem. Do we add a correlation id to my messages or do I use a routing slip? Or should we choose both? Do we archive all messages in a message store or do we only archive the metadata of the messages? Do we define a canonical data model for the definition of the contracts of the services or do we only define the canonical key values?
A pattern about patterns
Perhaps there is such a thing as a meta-pattern for the IT architect.
Problem
Designing an IT landscape is complex. Wrong decisions can lead to major costs for the organization or failure to take advantage of opportunities offered by the market (market party) or dissatisfied citizens (implementing agency).
Solution
The IT architect bases his decisions on patterns. He assesses whether the patterns are properly applied in his organization and whether they have the desired effect.
Application
The IT architect ensures that he has access to elaborations of patterns. The IT architect regularly browses through the patterns and studies the patterns that apply when making a decision.
The IT architect has regular contact with designers and developers to learn from the application of the patterns.
Impact
The IT architect must reserve time for studying patterns. Books full of patterns are not always the nicest books. It is sometimes difficult for the IT architect to persevere. The IT architect is present at day starts and listens. He is present at sessions in which the teams demo the realized work.
Sources: ^ Enterprise Integration Patterns, 2005, Gregor Hohpe, Bobby Woolf.
More information:
- Messaging Patterns Overview - Enterprise Integration Patterns
- Enterprise Patterns
- SOA Design Patterns, 2008, Thomas Erl.
- Marble Solitaire - You tube