In late October of 2009, seventeen luminaries of the service oriented architecture community came together to debate and hash out a document known as the SOA Manifesto. This paper establishes what was missing amongst the hype: clarity and direction.
SOA prioritizes:
Business value over technical strategy
Strategic goals over project-specific benefits
Intrinsic interoperability over custom integration
Shared services over specific-purpose implementations
Flexibility over optimization
Evolutionary refinement over pursuit of initial perfection
And here are the guiding principles of SOA:
Respect the social and power structure of the organization.
Recognize that SOA ultimately demands change on many levels.
The scope of SOA adoption can vary. Keep efforts manageable and within meaningful boundaries.
Products and standards alone will neither give you SOA nor apply the service orientation paradigm for you.
SOA can be realized through a variety of technologies and standards.
Establish a uniform set of enterprise standards and policies based on industry, de facto, and community standards.
Pursue uniformity on the outside while allowing diversity on the inside.
Identify services through collaboration with business and technology stakeholders.
Maximize service usage by considering the current and future scope of utilization.
Verify that services satisfy business requirements and goals.
Evolve services and their organization in response to real use.
Separate the different aspects of a system that change at different rates.
Reduce implicit dependencies and publish all external dependencies to increase robustness and reduce the impact of change.
At every level of abstraction, organize each service around a cohesive and manageable unit of functionality.
I agree with all of these, but I do have confusion about the first principle: “respect the social and power structure of the organization.” That’s good advice for someone navigating a political structure in business, but what exactly does that have to do with a service oriented architecture? It seems like an auxiliary concern that shouldn’t be included in the guiding principles of the manifesto, yet seventeen people smarter than me decided to stick it at the top. What am I missing?
In any case, I do agree with the manifest, and I’ve signed it. Have you?