When Should You Version an Asset?
It is not necessary to version an asset to make minor changes to its metadata (for example, the addition of a supporting document, a change in the Description attribute, the addition or removal of a particular classifier or association). Nor should you generate versions for each incremental revision of an asset that is produced during its development cycle.
You should only add a new version of an asset to the registry when you have a new implementation of the asset that is incompatible with the asset's existing consumers. For example, if a provider updates or intends to update a Web service in a way that breaks the existing applications that use the service, then you should create a new version of the asset in the registry. Such changes would include modifications to the namespace assignments, message descriptions, interface definitions and/or operation signatures in the service WSDL. It would also include changes to the implementation of the service that do not explicitly affect the WSDL, but nevertheless affect the way in which an existing consumer application interacts with the service. For example, a service that returns an expanded set of result codes or generates a different form of customer ID might break an existing consumer application even if the interface defined in the service WSDL did not change. In short, you want to create a new version of a service asset for any new implementation of the service that is incompatible with consumers of the existing service.
Note: | Be aware that sometimes versioning one asset will necessitate the versioning of another. For example, if an XML schema changes, and that schema is imported by a Web service, you will need to generate a new version of the XML schema and a new version of the Web service that references it. |
If a provider creates an implementation of a service that does not introduce compatibility issues with consumers of the existing service (for example, bug fixes or performance improvements), you do not need to generate a new version of the service asset in CentraSite. Likewise, you do not necessarily need to version a service if a provider simply adds operations to the existing implementation. You can represent this type of change by just updating the existing asset in the registry.