ARC201 – Patterns and Anti-Patterns for Service-Oriented Architecture (SOA)

 

 

I can only say wow! Ron Jacobs is a brilliant speaker, entertaining and very informed, an expert to say the least. A couple of his insights into SOA and what he thinks works and doesn’t work for SOA were real eye openers for me. Not because I didn’t understand the principles behind SOA or the problems with implementing SOA but because I do understand SOA and I realise it isn’t just about choosing the right technology and then claiming that we are service-oriented!

 

I will try and compress some of what he said in a short list, mainly to remind myself of this from time to time:

 

 

  • Don’t loosely couple everywhere: tightly coupled components and services have a place in our architecture too they just aren’t service-oriented in the SOA sense.
  • Rely on explicit behavior over implicit behavior: a service will do what the contract says it will. Just because it happens do something more right now (like ordering the returned data) doesn’t mean you should create a dependency on this implicit behavior.
  • Business Processes are a good starting point for identifying your services: is this performed as multiple business processes then it is probably multiple services.
  • Everything changes when we cross an external boundary: just like everything changes when we cross an international border in real life. Languages change, laws change, the weather, everything. But we should strive to make crossing the external boundaries as friction-free as possible.
  • Think about services like paper-based business processes: what does the paper form like look? That’s our message. Who do we send it to? That’s our service. What do we expect them to do with it? That’s our contract and policy.

 

Start with the business process:

 

 

  1. Decide on a process
  2. Decompose the process
  3. Create the contract
    a. Define the messages – messages define what we can do
    b. Define the operations – operations move the process from one state to another

 

If anyone who reads this has the opportunity to see Ron speak on this topic then don’t miss it. Here at Tech-Ed he will be holding the same session again on Friday.

 

Technorati tags:

Leave A Comment...

*