You remember patterns don't you? They are defined by WikiPedia as:
"A pattern is a form, template, or model (or, more abstractly, a set of rules) which can be used to make or to generate things or parts of a thing, especially if the things that are generated have enough in common for the underlying pattern to be inferred or discerned, in which case the things are said to exhibit the pattern."
What I am seeing in the world of SOA are architectural patterns that are beginning to emerge around problem/requirements patterns and solution patterns, and perhaps it's time we began to take notice of these patterns to speed development and increase the chances of success.
In using patterns we are learning from the successes and mistakes of others by understanding both the problem and solution patterns, and the relationships between them. For instance, say you're embarking on SOA for a particular domain. That domain will have certain problem/requirement patterns, such as:
Critical information movement.
Need for transactions.
Light weight process execution requirements.
Use of existing systems.
From these problem patterns we can find architectural solution patterns that match up, perhaps including:
Use of messaging system with service abstraction to address information movement requirement.
Use of transactional middleware, and standards supporting transaction, such as WS-Transaction.
Not using a process integration or orchestration layer at this point, because it makes the architecture too complex.
Use of legacy abstraction technology, allowing older proprietary interfaces to appear as standard Web services interfaces.
You get the idea. Again, a pattern is a something that repeats, both the problem and the solution, and in essence we're using experiences of others, as well as experiences within our own organizations.
So, why are we not doing this today? The problem is that you need to have access to those experiences, which is not the case today. However, we could create a database of SOA patterns if everyone would agree to contribute, but chances are there are too many legal and cultural obstacles. I can't help but thinking there should be a way around that, considering the benefit.
Posted by Dave Linthicum on March 31, 2006 11:02 AM







![[VoiceIndigo Mobilize - Listen to podcasts on your mobile phone]](http://www.voiceindigo.com/ht/images/mobilize_logo_sm.gif)


