Die Art und Weise, wie TMF Resourcen erweitert werden, ist abhängig vom Einzelfall.
Die bis jetzt behandelten Einzelfälle werden als Pattern hier beschrieben:
Regel
Folgende Regeln gelten für die Abbildung von Feldern entweder als Characteristics oder als Strongly-Typed-Property:
- Im TMF Standard enthaltene Felder sollen verwendet werden, wenn sie semantisch der gewünschten Informationm entsprechen
- Als Chracteristic werden abgebildet
- Felder, die ausschließlich zur Abwärtskompatibilität mit bestehenden APIs (WITA, S/PRI und WBCI) benötigt werden
- Beispiel: LineId wird so lange benötigt, bis alle Seller die product.id verwenden
- Felder, die ausschließlich für bestimmte Seller benötigt werden
- Beispiel: Vormieterdaten für die DTAG
- Felder, die ausschließlich zur Abwärtskompatibilität mit bestehenden APIs (WITA, S/PRI und WBCI) benötigt werden
- Als Strongly-Typed-Property werden abgebildet:
- Felder, die nur für bestimmte Ausprägungen benötigt werden
- Beispiele:
- Technologie des Hausanschlusses für FTTC oder zukünftig für andere Hybrid-Produkte
- HardwareId zur Identifikation der Line (z.B. DSL-Mac für DTAG-VDSL, ONT-SN für PON-Produkte)
- Beispiele:
- Felder zur Steuerung des Ablaufen:
- Beispiel: Expressentstörung
- Felder, die nur für bestimmte Ausprägungen benötigt werden
Hinweise
Während alle Felder einer Resource im Swagger unmittelbar erkannt werden können, sind Felder, die über das Characteristics-Pattern abgebildet sind, nur ersichtlich, wenn die entsprechende Resource (im Fall des Trouble Tickets "CharcteristicSpecification") abgefragt wird.
Wenn für eine Managed Resource das Characteristic / Specification Pattern eingesetzt wird, darf eine Characteristic nur verwendet werden, wenn der Name der Characteristic in der CharacteristicSpecification persistiert ist.
Die FIT API definiert die zulässigen Characteristic (Beispiel: Product Test Specification Model)
Verwendung des Characteristic/Specification Patterns in der FIT API
Product
siehe AR16_Produktabbildung Strongly Typed vs. Char/CharValue Pattern
ProductOrder
Es gibt für die ProductOrder keine Specification.
Daher wird die ProductOrderCharacteristicSpecification neu eingeführt.
Daher wurde entschieden, Ändernugen, also hinzugefügte oder gelöschte Felder, direkt in der Resource vorzunehmen, ohne Subtypen.
Warum wird für die PO kein FIT-eigener Subtyp verwendet?
Trouble Ticket
TMF621 Trouble Ticket Management API enthält folgende Klassen:
- TroubleTicketSpecification
- CharacteristicSpecification
- CharacteristicValueSpecification
Somit ist eine Erweiterung per Characteristic.Pattern oder Abbildung in der Resource Trouble Ticket oder einer Subklasse möglich.
Da das Trouble Ticket auch für andere Use Cases, als für Entstörung verwendet wird (z.B. Clearing), werden neue Felder für die Entstörung in einen Subtypen von Trouble Ticket geschrieben.
Als Guideline wurde festgehalten, wie folgt vorzugehen:
- Lässt sich das neue Feld über bestehende Felder oder Referenzen bereits abbilden? Beispiele
- Können die verschiedene Arten der Expressentstörung über das Feld priority abgebildet werden? Nein, die Semantik von priority ist, dass es vom LE gesetzt wird, anhand der severity → Abbildung als neue Property
- Optionale Serviceleistung: Wird in der PO als POI abgebildet, da es eine Produktposition dazu gibt. Kann im Troubel Ticket ohne Schema-Anpassung als RelatedEntity abgebildet werden
- Abbildung als Characteristic:
- wenn ein Feld aus Gründen der Datenmigration mitgenommen wird. Beispiel: FrageId aus dem Fragenkatalog
- wenn ein Feld als reiner Payload übertragen wird. Beispiel: Lage der TAE
- Abbildung als neue Property: Wenn das Feld zur Steuerung verwendet wird. Beispiel: Expressentstörung
ProductOrderTest
analog TroubleTicket
Agreement
analog TroubleTicket