SOA evolution

In my previous post, I talked about how I feel SOA encourages rigid design. Of course, in some situations, you may not really have a choice. When creating Business-to-Business (B2B) integration, interfaces will naturally be much more rigid. There is no way around it, SOA or SOA-not.

Ian Robinson recently published an article on Martin Fowler’s webpage titled Consumer-Driven Contracts: A Service Evolution Pattern. The article gives some very clever ideas of how to make the consumers drive the service definition instead of doing this on the provider side (this is related to Lean Software Development, by the way). The article also goes through some of the challenges of a contract-oriented interface.

As I said, for B2B integration, contracts may be essential. However, for internal integration in an organisation, it seldom is. When I have the choice, I’d rather not have to incur the cost of developing and maintaining. The cost in time spend on contractual interface is relatively simple, but the cost in lost agility is substantial.

About Johannes Brodwall

Johannes is Principal Software Engineer in SopraSteria. In his spare time he likes to coach teams and developers on better coding, collaboration, planning and product understanding.
This entry was posted in SOA, Software Development. Bookmark the permalink.