SOA has got into its stride
Contrary to what some have said… Service Oriented Architecture (SOA) is not only not dead, but how many companies are actually building their solutions. Many are reaping the rewards of a well thought-through Service Oriented Architecture.
The muddled early years
A few years ago, it was not uncommon to come across enterprises in the middle of rethinking their approach to SOA. Many had in effect (and mistakenly) assumed that putting a Web Service interface onto their back-end systems immediately gave them a nicely formed SOA. Oh dear… in some cases, this led to the vast majority of these web-services never being reused.
Given that reuse is precisely what SOA is aimed at achieving, this was pretty bad news. In a nutshell: SOA is different from approaches to integration that preceded it (like Enterprise Application Integration - EAI) in that it focusses on the creation and management of reusable services as specific assets.
The lightbulb comes on
That was a while back: it’s now much more common to see enterprises in which good Service Oriented Architecture results in high proportions of reuse, service consumers nicely insulated from the vagaries of evolving services, and a solid position for an enterprise service as a precious resource, with proper regard to which (internal and external) organisations exploit it.
You don’t get something for nothing
The owners of a service benefit: they can ensure that their service does what it needs to do and, crucially, that its contribution to the business is well understood. This very last and - strictly - nontechnical point is incredibly important: if it’s not possible to demonstrate who is using a service, then the funding for the maintenance of that service is going to get rather close scrutiny, and it may simply disappear. This is why the technical capability of managing the consumers of a service goes beyond technical benefits, and right to the heart of whether or not that service will continue to exist at all!
…but you get something useful
The consumers of a service benefit from knowing that they are ‘safe’ to reuse a reliable, well managed and maintained resource (see my funding point above).
The future looks interesting
SOA has quietly extended itself to nicely accommodate Event Driven Architecture, allowing for flexible and nicely decoupled systems.
…a teaser on API management
API management has come up on the inside. Some argue that it’s fundamentally the same as SOA, while others argue equally that it’s fundamentally different. There are people I respect deeply in both camps, but I disagree with both of them. I’ll try to explain my view in a later article. It boils down to this: at the very base, it’s very hard to argue that the computer science is fundamentally different between API management and SOA, but there are sufficiently many systematic differences in the requirements that they are going to end up looking rather different.