Home > Design Patterns > Version Identification
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.

Architecture

Service
Version Identification: 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.

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

Related Patterns in Other Catalogs

Format Indicator

Related Service-Oriented Computing Goals

Increased Intrinsic Interoperability, Reduced IT Burden