Uploaded image for project: 'OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC'
  1. OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC
  2. TOSCA-47

For type definitions (NodeTypes, RelationshipTypes, etc.) name and targetNamespace should be used as joint unique idenfier

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: CSD03
    • Fix Version/s: None
    • Component/s: Spec
    • Labels:
      None
    • Proposal:
      Hide

      For all Type definitions in TOSCA use the combination of @name and @targetNamespace as identifier and remove @id.

      For all Templates (NodeTemplate, RelationshipTemplate, etc.) keep the current scheme, i.e. use @id as unique identifier (in the same XML document!), keep name optional for human readability.

      Show
      For all Type definitions in TOSCA use the combination of @name and @targetNamespace as identifier and remove @id. For all Templates (NodeTemplate, RelationshipTemplate, etc.) keep the current scheme, i.e. use @id as unique identifier (in the same XML document!), keep name optional for human readability.

      Description

      When working on wd-10 in response to TOSCA-18 and adding more details to the spec for covering requirements and capabilities it occurred to me that the spec could be improved by changing the identifier scheme for type definitions (NodeTypes etc.) by making name and targetNamespace the only identifying properties and using id only in the "template system" (i.e. for NodeTemplates etc.).

      I realize that we had a long discussion on the use of id in context of TOSCA-21 and came to the conclusion to keep the current scheme. However, in TOSCA-21 we looked at both Templates and Types in the same discussion. While for Templates the conclusion is still perfect, a slight change for Types could bring some improvement.

      Some reasoning: In XML schema, objects are commonly identified by (local) name and targetNamespace which together form the QName of a type. Other spec use a similar approach. So if we do the same and use (local) name and targetNamespace to identify types, we would be fully in line here.
      Another point: the use of id (of type xs:ID) and references to it by means xs:IDREF is very useful when elements in an XML document are linked. This is the case in the template space, where we want to be able, for example, to have a RelationshipTemplate point to its source and target.
      However, we never reference a type by id but always use QName (since we want to be able to import common type definitions from separate files). So here we really do not make use of ID and IDREF.

        Attachments

          Activity

            People

            • Assignee:
              thomas.spatzier Thomas Spatzier
              Reporter:
              thomas.spatzier Thomas Spatzier
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: