Wednesday, October 03, 2007

Low-Tech Approach to Understanding SOA

Dan North published a splendid article explaining SOA by describing a 1950 business scenario and then translating it into technology-agnostic SOA terms.

A PDF can be found here. In this PDF Dan comes up with a few tips:

DO

1. Have a user

  • Embedded in the business (he should not be a technical person)
  • Who cares about the outcome
2. Pass around forms and documents, not objects (or representations of objects)
3. Remember that calling across the network takes time
4. Use coarse-grained services rather the a lot of little calls


Don't

1. Design for what you don't need
  • Does it really need to be available 99.999% of the time?
  • This includes security, availability - in fact all the “-ilities”
2. "Phone home" i.e. don't make service calls to things that are available locally
  • Better still, don’t expose them as services in the first place
3. Create a service if you only have one client

4. Expose your privates
  • In other words, avoid putting implementation details into the message
5. Have transactions across multiple service calls
  • Instead package all the calls into a single, coarse-grained service call


No comments: