Some good advice in this article on SOA: Interview and Book Excerpt: Nicolai Josuttis, “SOA in Practice”.
Some quotes, first about user-interfaces:
The most critical misuse of SOA I currently see is to use SOA to separate user-interfaces from business logic.
Avoid SOA when you can:
Because the prices of distribution usually is high, in general I recommend to avoid SOA where you can avoid it. But there are enough requirements where you have to connect distributed systems with different owners.
Not all logic needs to be implemented in BPEL:
Of course, over time you will use different BPEL engines and other ways to orchestrate services (including implementing them in your favorite programming language).
It’s not that you shouldn’t use SOA, it’s that you should only use it when required. SOA is a solution for distributed, heterogenous systems owned by different owners.
Hope his book is as interesting as this interview.
