This is not to say that what I consider to be an SOA is DOA. Far from it :-) However, I do find myself searching for an alternative term for it these days because the SOA term has become diluted to be point of content-freeness.
I've written about the bits that I believe are criical to make the term SOA mean anything in the past. In ultra summary form:
- Services are business processes that exchange documents to get their work done
- The document exchange is temporally decoupled.
- The documents have shared semantics expresed in a combination of human (narrative) and machine readable (XML) form.
- Documents express business level intent. For example, "Here is a purchase order" rather than "add_purchase_order(...)".
- Services are "connected" via protocols for asynchronous document exchange, not for synchronous functionality invocation.