I learned from a writing teacher who was not a writer at all – he was an engineer. He took an engineer’s approach to writing – or maybe I should say a reverse-engineering approach. That is: He looked at the best examples of the type of writing he was pursuing, analyzed them, and codified their practice. For example, in his class, you weren’t supposed to use forms of the verb phrase ‘to be’. Well, you could, but a point would be deducted each time you did. Oh, how the students moaned. And in turn, he would intone, “When you leave this class, you no longer need employ this method.”
He came to his method through the study of failure – his own failure to succeed at writing. As a youth and into college, he’d dutifully hand-in his English compositions and the teacher would scribble “Awk” – for awkward – all over the paper. “They’d tell me what I did was wrong,” he told us, “but they’d never show me how to fix it.” As a result, when he became a teacher of technical writing, he provided clear and fairly strict rules of writing.
All of which brings us to the issues of the day: What are truly services? How granular must they be? And how precisely granular should they appear? This is essential to success with SOA, but the literature merely says “Write properly composed services” without providing any guidance on how to do this.
In a guest column on SearchSOA.com, Douglas Barry has given a bit of such guidance for those who would create services. Give it a read and comment.
Related SOA development information
Using atomicity to gain SOA granularity – SearchSOA.com