A group of leading SOA evangelists recently met in Rotterdam to agree an "SOA Manifesto
". This work resulted in a list of guiding principles that have been documented here
Initial feedback has been positive, although one common theme through many comments has been the lack of detail. However it provides a similar level of detail as the popular Agile Manifesto
, and therefore I don't see this as a major issue at this stage.
The main purpose of this meeting was to establish the high level principles. I think it is how these principles are subsequently applied that will determine the success of this manifesto.
There are a number of ways in which the SAVARA project can help support these guiding principles:
"SOA can be realized through a variety of technologies and standards."
One of the goals of SAVARA is to provide a methodology and tool framework that can accommodate various technologies and standards, in a way that can deliver a testable architecture where the different artifacts can be validated against each other.
"Identify services through collaboration with business and technology stakeholders."
The SAVARA methodology covers the complete development lifecycle, helping to capture the requirements from the business and technology stakeholders, through defining the architecture, to service identification/analysis, design, implementation and deployment.
"Verify that services satisfy business requirements and goals."
This is the main aim of a testable architecture, to ensure that the artifacts at each stage of the development lifecycle are valid compared to artifacts from preceding stages, thus ensuring that the deployed services can be shown to indirectly satisfy the original business requirements.
"Evolve services and their organization in response to real use."
Through a detailed understanding of the behaviour of a system, from requirements through to implementation, it makes it easier to accommodate changes in requirements and understand the impact of the changes on a production environment. This manageability is critical to enable a system to evolve as efficiently as possible without introducing risk to the business.
"Reduce implicit dependencies and publish all external dependencies to increase robustness and reduce the impact of change."
SAVARA enables the behavioural dependencies to be understood, thus significantly reducing the potential impact of change.