Open APIs

 View Only
  • 1.  TMF641 serviceRelationship

    TM Forum Member
    Posted Aug 21, 2019 11:30
    Hello,

    I presume that a service "hierarchy" can be built thanks to serviceRelationship(s):

     "ServiceRelationship": {
                "type": "object", 
                "description": "Describes links with services of the same category (useful for bundled services)", 
                "required": [
                    "relationshipType", 
                    "service"
                ], 
                "properties": {
                    "relationshipType": {
                        "type": "string", 
                        "description": "The type of relationship (e.g. depends on, enables)"
                    }, 
                    "service": {
                        "$ref": "#/definitions/ServiceRef", 
                        "description": "The service being referred to"
                    }, 
                    "@baseType": {
                        "type": "string", 
                        "description": "When sub-classing, this defines the super-class"
                    }, 
                    "@schemaLocation": {
                        "type": "string", 
                        "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", 
                        "format": "uri"
                    }, 
                    "@type": {
                        "type": "string", 
                        "description": "When sub-classing, this defines the sub-class entity name"
                    }
                }
            },

    However, according to the standard, the relationshipType value is a free string (i.e. not an enumerated list). But if such values are not standard, how two applications can inter-operate correctly, without knowing upfront the semantics of the values?

    For example, let's say that a service order is sent by application A towards application B. The ordered service is made of 2 sub-services (e.g. children) with a simple containment relation. Application A uses the relationshipType value "contains" to describe this containment. Note that it could use "child", "contain", "subservice" or whatever instead, as the value is not standard. Then application B, receiving the service order, to be able to understand the service structure must know the meaning of "contains" and know how to deal with it.

    Also, I was not able to find any examples of service order request bodies to illustrate things like serviceRelationship, orderRelationship, supportingService, supportingRessource, etc... I think that a good set of examples would be very helpful.

    Thanks



    ------------------------------
    Alexandre Meynaud
    Hewlett Packard Enterprise
    ------------------------------


  • 2.  RE: TMF641 serviceRelationship

    TM Forum Member
    Posted Aug 22, 2019 02:50
    Hi Alexandre

    The most recently published Service Order Management spec includes examples for service orders showing relationships, probably the examples could be improved and this is a continuing process. If you take a look (for example) at the latest Product Catalog spec (here, under member approval phase) you will see that we tried to do better :) .

    Regarding the valid value lists for relationship type, this comment applies to all fields in the model where you could logically expect a list of valid values, such as status, etc. Many of these fields are being converted from String to strongly-typed with value list. But it needs to be done carefully, and in a way that can be extended. I would say that currently there is a tacit assumption that for any API implementation at a particular deployment (CSP) there will be an agreement as to the valid values as part of the integration effort. But I am raising this particular field (relationshipType) as a JIRA issue so that the Open API team can consider if we can reach a list of core valid values that make sense - presumably different lists will be needed for the different entities Product, Service, Resource, etc.

    Hope it helps

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    ------------------------------



  • 3.  RE: TMF641 serviceRelationship

    TM Forum Member
    Posted Aug 22, 2019 03:46
    Thanks Jonathan for the quick reply, it is helpful and makes sense. I will have a look at the latest updates of the specs with new examples.
    In the meantime, if some forum members would like to share some Service Order request examples (from existing implementations or projects) it could be quite useful, in order to reach a common interpretation of the standard. I am currently trying to construct such requests, and I can probably post some samples here if anyone is interested.

    Best regards

    ------------------------------
    Alexandre Meynaud
    Hewlett Packard Enterprise
    ------------------------------



  • 4.  RE: TMF641 serviceRelationship

    TM Forum Member
    Posted Aug 22, 2019 04:26
    Thanks Alexandre
    The Open API initiative is indeed a collaborative effort, and I am sure that the leaders of the initiative ( @George Glass, @Pierre Gauthier) would welcome contributions of real business examples, hopefully examples that are valid against the swagger schema :) .​​

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    ------------------------------



  • 5.  RE: TMF641 serviceRelationship

    Posted Sep 10, 2019 04:59
    Hi @Alexandre Meynaud,
    Can you please share a few sample​ requests?

    Thanks,
    Dibyarup

    ------------------------------
    D Basu``
    Architect
    India
    ------------------------------



  • 6.  RE: TMF641 serviceRelationship

    Posted Sep 12, 2019 04:13
    String type definition for Relationship type is also a active consideration for work in ODA on mapping TOSCA to SID. I would like to be involved in the consideration of the CR you mention @Jonathan Goldberg

    ------------------------------
    Paul Jordan
    BT Group plc
    ------------------------------