Open APIs

 View Only
  • 1.  Characteristic-Based or Schema-Based

    TM Forum Member
    Posted Aug 02, 2022 06:21
    Edited by Arash Zolfaghari Aug 02, 2022 07:08
    Hi All,

    TMF620 Product Catalog Management API User Guide has a "Characteristic-Based or Schema-Based" section. Currently we use characteristic based entities but it has some restriction specially when attributes and their value has relationship together. So we wanted to investigate on schema based characteristic. May i request you kindly share more information in this matter? As it's described very shortly on the "TMF620 Product Catalog Management API User Guide" document.
    Below you can find some examples which i think it's more easier to configure using JSON schema:

    When a product has two different storage class which each one has different storage size:

    Class A: [10 TB, 20 TB]
    Class B: [5TB, 10TB, 15TB]
    In order to not create two different productSpecification for above configuration, of course we can use charValue relationship in Characteristic-Based. But we found schema based chars easier. So needed more info please.




    ------------------------------
    Arash Zolfaghari
    Tecnotree
    ------------------------------


  • 2.  RE: Characteristic-Based or Schema-Based

    TM Forum Member
    Posted Aug 02, 2022 23:11
    Our preference is also to use of schema based, unless we encounter any short comings for some edge use-cases. Will revert back with our analysis once we are done.

    Is it always "Characteristic-Based or Schema-Based"?

    Or can we choose to use Schema-Based as our preference and if we hit JSON schema limitation for some future use-cases, can we use "Characteristic-Based" for a subset of Characteristics. i.e., "Schema-Based" and/or "Characteristic-Based"




    ------------------------------
    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.
    ------------------------------



  • 3.  RE: Characteristic-Based or Schema-Based

    TM Forum Member
    Posted Aug 03, 2022 01:27
    Actually in the document it's mentioned to be always or. But i think it can be extend to support both of them. Characteristic has an "valueType" attribute which can be string, number, boolean etc. It can be extended to have Schema option as well..

    ------------------------------
    Arash Zolfaghari
    Tecnotree
    ------------------------------



  • 4.  RE: Characteristic-Based or Schema-Based

    TM Forum Member
    Posted Aug 03, 2022 02:26
    I was the author of this short section in the Resource Catalog API user guide (and it has found its way into other Catalog API user guides 🙂).

    As in everything in life, there are advantages and disadvantages to both approaches. We at Amdocs have been doing Product Ordering software for almost 25 years, and long before REST, SOAP, TMF Open API, etc. were thought of we have dabbled with both approaches.
    • Dynamic catalog-driven approach was loved by customers because it gave shorter time to market.
    • But completely catalog-driven UI was not so usable. And eventually (e.g. at provisioning/network layer) you need to transform into concrete APIs
    Interesting to note that the MEF has taken a schema-based approach in their line-of-business-specific extensions to TMF Open APIs in the product, service, resource domains. See for example here: https://www.mef.net/resource-tag/lso-sonata/

    ------------------------------
    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.
    ------------------------------



  • 5.  RE: Characteristic-Based or Schema-Based

    TM Forum Member
    Posted Aug 03, 2022 22:00
    Edited by Srinivasa Vellanki Aug 03, 2022 22:06
    @Arash Zolfaghari, Thank you will consider extending as suggested so we can benefit form both the patterns.

    Thank you Jonathan for contributing with this section and sharing the same now.

    Do you see any possible issues if we use both the patterns ("Characteristic-Based and/or Schema-Based") in a single API?

    Decisions made years ago might be based on technology constraints(e.g., lack of No SQL) that exist then. Do you think this might be the case?

    So we intend to re-assess and use the pattern that suits us the best based on current technology landscape.

    ------------------------------
    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: Characteristic-Based or Schema-Based

    Posted Aug 05, 2022 11:23
    Dear All,
    Not in the context of JSON Schema but rather XML Schema (for non TMF APIs) we had some product orders that used name value pairs  whilst other product models used schema.

    The main issue with a schema based approach we found was the number of different places in the IT infrastructure where  the schema were installed.
    We had API gateways and ESBs that used the schema to extract information from orders as they passed through. It meant every time the product model changed people had to reprogram their middleware. 

    Ideally we wanted these components to ignore the product model schemas and only use the order schema but it seemed that when people imported the one schema the entire library was loaded.

    Perhaps the story is better with JSON schema?

    ------------------------------
    Derrick Evans
    ------------------------------