Open APIs

 View Only
  • 1.  Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Jul 29, 2022 21:33
    Per SID Features are represented as Characteristics. Please refer to section 2.2.20 of GB922_Product_v21.0.0. Same has been clarified by on the forum thread https://engage.tmforum.org/communities/community-home/digestviewer/viewthread?GroupId=43&MessageKey=ad1195d0--4c17-aed3-13af4b047d68&CommunityKey=019f32c2-82b7-427f-8156-f9262fe138fe&tab=digestviewer

    However in Open API we have both the entities Characteristics and Features.

    Are both relevant?

    If so appreciate if the purpose of Characteristics and Features is clarified.

    Thank you

    ------------------------------
    Srinivasa Vellanki
    Reliance Jio Infocomm Ltd
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of my employer or TM Forum.
    ------------------------------


  • 2.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Jul 31, 2022 05:39
    Hi Srinivas

    Features were introduced into the Open API Resource models (catalog and inventory), I think originally by @Vance Shipley, to give a more intent-focused interface as against individual characteristics.
    Later, they were added also the Open API Service models.​
    It's an implementation choice whether to use Characteristics or Features for any particular functionality.
    Hope it helps.

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
    ------------------------------



  • 3.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Jul 31, 2022 22:28
    Thank you Jonathan

    Can you please give a small example to explain "intent-focused" interface. Ordering an Internet Service of bandwidth: 100MB with QoS: Premium, is this what you meant by "intent-focused". Can we not achieve "intent-focused" interface only using Characteristics (with-out Features). 

    Was suspecting previously due to lack of support for Characteristics with datatype as data structures(e.g., QoS made of Latency, Jitter, etc..) might have lead to need for entities (like Features). Now I see in Open APIs we can have JSON Schema defined for datatypes of Characteristics, so there may not be need for Features. Think we are aligned on this as this is for implementation to choose if they use only Characteristics or both Characteristics & Features.

    ------------------------------
    Srinivasa Vellanki
    Reliance Jio Infocomm Ltd
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of my employer or TM Forum.
    ------------------------------



  • 4.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Aug 01, 2022 01:39
    @Srinivasa Vellanki,

    Features were introduced in TR255B to provide intent-based configuration. Characteristics are explicit, if you provide a value of 100Mbs you expect that to be the value used. You could combine that with a Feature for QOS allowing the specific bandwidth value to be determined by other factors.

    POST /resourceFunctionActivation/v4/resourceFunction
    {
       "activationFeature": [
          {
             "name": "qos",
             "featureCharacteristic": {
                {
                   "name": "bandwidth",
                   "value": "medium"
                },
                ...
             ]
          }
       ],
       ...
    }​

    201 Created
    {
       "resourceCharacteristic": [
          {
             "name": "bandwidth",
             "value": "100MBs"
          },
          ...
       ],
       ...
    }​


    ------------------------------
    Vance Shipley
    SigScale
    ------------------------------



  • 5.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Aug 01, 2022 09:59
    Thank you Vance.

    In the example I provided QoS Product Characteristic was set to "Premium" which was intent and QoS at Service level would result in certain value for Service Characteristics latency, jitter and packet loss. Was not missing Feature.

    ------------------------------
    Srinivasa Vellanki
    Reliance Jio Infocomm Ltd
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of my employer or TM Forum.
    ------------------------------



  • 6.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Aug 02, 2022 00:54
    @Vance Shipley Have you considered some capabilities of a Service also in the feature? For e.g. InternationalRoaming in a Mobile Service....can this be represented as a Feature?​

    ------------------------------
    Varun Nair
    Telstra Corporation
    Note: This is an opinion based on my research and not an official TMF response.
    ------------------------------



  • 7.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Aug 02, 2022 01:42
    Edited by Vance Shipley Aug 02, 2022 01:44
    Sure @Varun Nair, if you're looking for a declarative method to influence configuration rather than an explicit method.  If  internationalRoaming: true is a Characteristic value supplied in a POST to instantiate a Service then it is explicitly configured. If internationalRoaming: permissible is a supplied Feature value you may be declaring the intent that, all things considered, roaming may be allowed. You may however query the active instance in Inventory and discover Characteristic value internationalRoaming: false​ due to other factors.

    The idea here is that explicit configuration should succeed or fail, not be negotiated.  If you set a Characteristic value to 42, and read it back as 73, it would violate the principle of least astonishment. While configuration with Characteristics is explicit, Features provide a declarative, intent-based, method to influence configuration.

    Note that in my examples I've been using the same name for a Feature and Characteristic however the is no such requirement.

    ------------------------------
    Vance Shipley
    SigScale
    ------------------------------



  • 8.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Aug 02, 2022 22:57
    Thank you @Vance Shipley, this use-case might help understand and analyse the r​ational for feature. Will revert back if any further clarifications are needed.

    ------------------------------
    Srinivasa Vellanki
    Reliance Jio Infocomm Ltd
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of my employer or TM Forum.
    ------------------------------



  • 9.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Sep 12, 2022 07:40
    Hi @Vance Shipley,

    As per the example you have provided, my understanding is that the feature may OR may not result in explicit characteristic configuration on the service/resource​. Meaning, if consumer has provided the intent in the service request via Feature and zero or more featureCharacteristics, then in the response the service characteristics may or may NOT result in explicit configuration....it simply depends on the feature requested. Is this correct?

    Thanks,
    Anu

    cc: @Ambily Narayanan Unni, @Amita Giriya, @Radhika Desai​​​​

    ------------------------------
    Anu Aulakh
    Telstra Corporation
    ------------------------------



  • 10.  RE: Characteristics vs Features - SID & Open API Alignment

    TM Forum Member
    Posted Sep 12, 2022 18:16
    Yes, @Anu Aulakh, Features are independent of Characteristics.  In my examples I have used a relationship between similarly named Features and Characteristics as an implementation choice but no such requirement exists. You may have Features with no corresponding Characteristics.​

    In my examples I have attempted to illustrate the different concepts.  When you set a Characteristic value of 42 in a request you expect 42 in the result or the operation to fail. A Feature is an expression of intent and as such you would expect it to have an observable impact somewhere however where is undefined, it could be on some relationship, with Characteristic being an obvious example.



    ------------------------------
    Vance Shipley
    SigScale
    ------------------------------