SOA Patterns > Service Governance Patterns > Version Identification
Version Identification (Orchard, Riley)
How can consumers be made aware of service contract version information?
Problem
When an already-published service contract is changed, unaware consumers will miss the opportunity to leverage the change or may be negatively impacted by the change.
Solution
Versioning information pertaining to compatible and incompatible changes can be expressed as part of the service contract, both for communication and enforcement purposes.
Application
With Web service contracts, version numbers can be incorporated into namespace values and as annotations.
Impacts
This pattern may require that version information be expressed with a proprietary vocabulary that needs to be understood by consumer designers in advance.
Principles
Architecture
Service
Because the service contracts express versioning information, Consumer A can proceed to invoke version 3 of the service contract because it was designed to be compatible with that specific version.
Related Patterns in This Catalog
Canonical Versioning, Compatible Change