So I'd like to put forward a few simple rules about keeping things simple.
- A clear picture of what the business wants
- An organisation that is set up to deliver what the business wants
- Technology that is focused on the value, not on the interface
- Interfaces should be fixed
- Interfaces should be verifiable
- Interaction and consumption should be automated and tooled
- XML is for 5% or less of the organisation, people things in simple traversal or object ideas. Sure marshaling is "suboptimal" but so are people, get used to it.
- Rules that are dictatorial, flexibility is great at the edges but rigour and a big stick with nails in it binds everything together.
- Assume people are average or worse, sure you get it, but would 80% of the organisation?
- Don't fight the vendors, you might be smart, they are definitely rich, cope with the fact and use it.
- Pick the most basic pieces that will be true next year, forget the big ideas and deal with reality
- Think tooling, if it can't be tooled then its for the minority, good for you, crap for your career.
- One size doesn't fit all. Understand where the rules apply, and when you are allowed to break them. 5% of people can break the rules, 95% don't need to know its possible.
I've seen too many EAI and SOA projects get into difficulties because clever people tried to be clever and average or worse people were asked to deliver it. For SOA to succeed it must succeed for the majority.
Or as Blaise Pascal said "I have made this letter longer than usual because I lack the time to make it shorter.". Make the time, get it simple, get it concise, that requires a much greater degree of talent than demonstrating how clever you are. KISS SOA is much harder than technology SOA, and its all the more valuable as a result.