Hi tmforum community,
I have some questions regarding the intended usage of the
TargetProductSchema sub-resource (see TMF620):
1) According to the documentation the
TargetProductSchema is "
the reference object to the schema and type of target product which is described by product specification."
From my understanding, this is related to the concept of "schema based extension" as described in TMF630 (API Design Guidelines).
So, I assume that the
@type that is defined in the
TargetProductSchema determines the
@type of the
Product resource (e.g. in the Product Inventory API) and thus the
Product.
@type attribute would be set to the
@type attribute of the
TargetProductSchema of the related
ProductSpecification.
Is this assumption correct?
2) My second question is related to the external JSON schema that can be referenced via the
@schemaLocation attribute.
The APIs are generally specified in Swagger/Open API format and in order to add new sub-types of entities, we could add the polymorphic type definitions to the Swagger specifications.
This means that the type hierarchy would be completely defined in the API specification.
What would be the purpose of separate JSON schemas in this case?
3) If the product attributes are defined using the CharacteristicSpec/Characteristic pattern in the
Product Specification, then we can
use the
ProductSpecificationCharacteristicValueUse to select or restrict a specific value on the
Product Offering level.
Is there a similar mechanism that can be used for attributes that come from the static (schema-based) type definitions?
Thanks and best regards,
Martin
------------------------------
Martin Honert
Deutsche Telekom AG
------------------------------