Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: CSD2
    • Fix Version/s: CSD2
    • Component/s: Spec
    • Labels:
      None
    • Proposal:
      Hide

      The current <Interfaces> element requires a reshape and extensions. A reshape is required to achieve consistency with the usual practice that "coherent entities" have a single interface only, (ii) to allow implementation artifacts not only for operations, and (iii) to rename some language elements to comply with common terminology. Extensions are required to better support REST APIs as interface implementations.

      Show
      The current <Interfaces> element requires a reshape and extensions. A reshape is required to achieve consistency with the usual practice that "coherent entities" have a single interface only, (ii) to allow implementation artifacts not only for operations, and (iii) to rename some language elements to comply with common terminology. Extensions are required to better support REST APIs as interface implementations.
    • Resolution:
      Show
      http://www.oasis-open.org/apps/org/workgroup/tosca/download.php/45532/TOSCA-v1.0-wd04.zip accepted by TC.

      Description

      We propose to drop the <Interfaces> element of node types and support (at most) a single <Interface> for a <NodeType> element. This interface will consist of one of more operations. The implication is that the current <Operation> element must be renamed to better reflect its purpose; because its purpose is to define scripts as operations of node types, we propose to rename todays <Operation> into <ScriptOperation>. As a result of the renaming, an <Interface> consists of <Operation>s that may be either an operation of a port type (i.e. a WSDL operation), a REST API, or a script operation.

      The current <REST> element does not suffice to support the variety of REST APIs found in the industry. The proposal is to extend the current definition accordingly. Beside allowing to define the HTTP method to be used, both, abs_path and absolte_URI variants of request URIs must be supported. The optional body of the request message and the response message must be specifiable. Next, a pure URI variant of passing parameters must be supported, i.e. the new syntax must support to define a URI query string. Also, key HTTP header fields that are relevant for the request must be specifiable.

      Finally, not only script-based operations require implementation artifacts. For example, a REST API may be represented by a WAR file implementing the REST API. This implies to factor out the corresponding <ImplementationArtifacts> element into the embracing (new) <Operation> element.

        Attachments

          Activity

          Hide
          leymann Frank Leymann (Inactive) added a comment -

          I added a revision of the proposal for resolving issue TOSCA-4: http://www.oasis-open.org/apps/org/workgroup/tosca/download.php/45499/latest

          This revision changed the syntax of the <Interface> element to reflect the requirement for:
          multiple interfaces of a node type,
          (ii) naming interfaces,
          (iii) specifying dependencies of an implementation artifact.

          Also, the corresponding text explaining the syntax has been changes and further extended.

          List item (iii) is new and has not been discussed in the TC. Its justification is as follows: an operation that is supposed to hide environment dependencies must be able to either declare its assumption about the TOSCA container environment it is running in, or (ii) to discover the capabilities of this environment. An example of such a dependency is the interface available in the environment to handle images.

          Alternative is reflected in the proposed syntax: the implementation artifact simply lists a set of URIs that declare these dependencies. A TOSCA environment (knowing its capabilities) can then select during binding of a plan the matching implementation artifact for a task in a plan.

          Alternative (ii) would require a to define and standardize a corresponding API that would have to be supported by TOSCA environments. Furthermore, the need to use this API would make writing operations a bit more cumbersome, or might even require to change existing implementations of operations. Thus, alternative is considered to be preferable.

          Show
          leymann Frank Leymann (Inactive) added a comment - I added a revision of the proposal for resolving issue TOSCA-4 : http://www.oasis-open.org/apps/org/workgroup/tosca/download.php/45499/latest This revision changed the syntax of the <Interface> element to reflect the requirement for: multiple interfaces of a node type, (ii) naming interfaces, (iii) specifying dependencies of an implementation artifact. Also, the corresponding text explaining the syntax has been changes and further extended. List item (iii) is new and has not been discussed in the TC. Its justification is as follows: an operation that is supposed to hide environment dependencies must be able to either declare its assumption about the TOSCA container environment it is running in, or (ii) to discover the capabilities of this environment. An example of such a dependency is the interface available in the environment to handle images. Alternative is reflected in the proposed syntax: the implementation artifact simply lists a set of URIs that declare these dependencies. A TOSCA environment (knowing its capabilities) can then select during binding of a plan the matching implementation artifact for a task in a plan. Alternative (ii) would require a to define and standardize a corresponding API that would have to be supported by TOSCA environments. Furthermore, the need to use this API would make writing operations a bit more cumbersome, or might even require to change existing implementations of operations. Thus, alternative is considered to be preferable.
          Hide
          lippa02 Paul Lipton (Inactive) added a comment -

          At this time, I presume WD04 will be folded into CSD02. If not, I will change the version assignment.

          Show
          lippa02 Paul Lipton (Inactive) added a comment - At this time, I presume WD04 will be folded into CSD02. If not, I will change the version assignment.
          Hide
          lippa02 Paul Lipton (Inactive) added a comment -

          Re-opening to resolve issue in JIRA as per minutes of 2012-04-29.

          Show
          lippa02 Paul Lipton (Inactive) added a comment - Re-opening to resolve issue in JIRA as per minutes of 2012-04-29.
          Hide
          lippa02 Paul Lipton (Inactive) added a comment -

          Resolved and all spec changes approved as per minutes of 2012-04-29 meeting.

          Motion: Approve http://www.oasis-open.org/apps/org/workgroup/tosca/download.php/45532/TOSCA-v1.0-wd04.zip and close TOSCA-4.

          Show
          lippa02 Paul Lipton (Inactive) added a comment - Resolved and all spec changes approved as per minutes of 2012-04-29 meeting. Motion: Approve http://www.oasis-open.org/apps/org/workgroup/tosca/download.php/45532/TOSCA-v1.0-wd04.zip and close TOSCA-4 .
          Hide
          lippa02 Paul Lipton (Inactive) added a comment -

          This issue should have been marked closed, not resolved. No additional proposal/product needed.

          Show
          lippa02 Paul Lipton (Inactive) added a comment - This issue should have been marked closed, not resolved. No additional proposal/product needed.

            People

            • Assignee:
              leymann Frank Leymann (Inactive)
              Reporter:
              leymann Frank Leymann (Inactive)
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: