Dave Linthicum writes about why patterns can be key to SOA solutions. Being a patterns enthusiast and practitioner, I agree with what’s been said in spirit. But, having been through the process of identifying and documenting the enterprise Java patterns, I am cringing at one thought he expressed there of creating a database of SOA patterns. I am afraid that I don’t buy this approach entirely. Such a database is going to cause more problems than solve anything.
Patterns don’t live in isolation, they really create a network amongst them (of inter-relationships) that increases the value of the set of patterns as a whole. A single pattern itself, while useful, has limited applicability. Whereas with a set of patterns and relationships, you can start understanding the key pattern heuristics and eventually lead to a pattern language, which is the ultimate goal of any patterns practitioner. This was the hardest part of pattern discovery in our (me, Dan & John) enterprise patterns work, where you can see one such example of pattern relationships (and here) to help you better understand the community of patterns, rather than just a single pattern.
For an example of a patterns database, take a look at the Server Side patterns database, while commendable and has incredible participation, the patterns submitted there lack such a language of relationships and thereby exist at multiple levels of abstraction which do not inter-relate very well.