Open APIs

 View Only
  • 1.  TMF633 - Self referencing ServiceSpecification

    TM Forum Member
    Posted Jun 26, 2024 06:15
    Hi!
    In our service catalog (TMF633 v4) we want to define a service, which can have a reference to another service instance of the same type and we want to order the service via TMF641 (version 4). For example: I want to create a new line, which is redundant to an existing line. 
     
    My question is: how can I define the serviceSpecification in the service catalog with a reference to itself, assuming that the service catalog entry should be created with a POST /serviceSpecification request?
    The problem is, that we can't define an id for the new serviceSpecification (in ServiceSpecification_Create), so how can we reference this serviceSpecification in the "serviceRelationship" section?
     
    Intended Use via TMF641 ordering
     
      {
        "@type": "ServiceOrder",
        "serviceOrderItem": [
          {
            "id": 1,
            "action": "add",
            "service": {
              "name": "My Service",
              "serviceSpecification": {
                "name": "LinkService",
                "id": "id_of_serviceSpecification",
                "@type": "ServiceSpecificationRef"
              },
              "serviceRelationship": [
                {
                  "relationshipType": "redundantLine",
                  "@type": "ServiceRelationship",
                  "service": {
                    "id": "some id of existing service instance",
                    "@type": "ServiceRef",
                    "@referredType": "Service"
                  },
              ...
     
    Definition in TMF633
     
    {
      "@type" : "ServiceSpecification",
      "description" : "Some RFS",
      "lifecycleStatus" : "Active",
      "name" : "LineService",
      "version" : "0.1",
      "serviceSpecRelationship" : [
        {
            "@referredType" : "ServiceSpecification",
            "@type" : "ServiceSpecRelationship",
            "name" : "LineService",
            "relationshipType" : "redundantLine"
          }
      ],
      ...
     
    Best regards,
    Johannes


    ------------------------------
    Johannes Krimm
    GIP Exyr GmbH
    ------------------------------


  • 2.  RE: TMF633 - Self referencing ServiceSpecification

    TM Forum Member
    Posted Jun 26, 2024 08:52

    Hi Johannes

    My immediate reaction would be that you'd have to create the service spec in two stages:

    • Create (POST) the service spec without the self-relationship, thus getting an ID in the response body.
    • Update (POST) the service spec with the self-relationship, since you now have the ID that you can add in the relationship reference.

    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: TMF633 - Self referencing ServiceSpecification

    TM Forum Member
    Posted Jun 27, 2024 01:30

    @Jonathan Goldberg meant to say "Update (PATCH)".



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



  • 4.  RE: TMF633 - Self referencing ServiceSpecification

    TM Forum Member
    Posted Jun 27, 2024 02:35

    Thanks @Jonathan Goldberg and @Vance Shipley for the quick responses!

    The following question relates to the topic of ordering (and further on activating) a service, which has been defined that way (if you want me to open a new thread, please just tell me):

    The associated service orders (in my example a first line and the redundant line) should then be ordered also in several steps:

    1. the orchestrating system sends the first request (the service order for the first line)  with "POST /serviceOrder" and thus the "service/id" is implicitely created by the  providing system
    2. the orchestrating system gets the generated service/id with a GET request
    3. the orchestrating system sends another "POST /serviceOrder" request for the redundant line and sets the id of the first line service within the section "serviceRelationship"

    Which means: you could not create those two services with just one "POST /serviceOrder" request with two serviceOrderItems, because you would not be able to set the related service id correctly. But you would rather split this in two orders.

    Did I understand that correctly?

    Thank you very much,

    Johannes



    ------------------------------
    Johannes Krimm
    GIP Exyr GmbH
    ------------------------------



  • 5.  RE: TMF633 - Self referencing ServiceSpecification

    TM Forum Member
    Posted Jun 27, 2024 04:15

    @Johannes Krimm writes:

    > The associated service orders (in my example a first line and the redundant line) should then be ordered also in several steps:

    My immediate response would be that you only need to order the outer Service, given that the Service Specification requires the inner Service, an appropriate compound Service should be instantiated, however I suspect you want to parameterize the inner Service as well.  I'm not too sure what the answer to that would be, I'm not experience with the Order Management APIs.



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



  • 6.  RE: TMF633 - Self referencing ServiceSpecification

    TM Forum Member
    Posted Jun 27, 2024 04:35

    Indeed Vance, thanks for the catch.



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