TM Forum Community

 View Only
  • 1.  Use of SID to define data model in ODS

    Posted Jan 18, 2024 09:28

    Hi,

    Has anyone come across a scenario where they have used SID models to define data model for the ODS layer in a data warehouse architecture. My question was,

    1. Is it recommended to use SID models to model entities in the DWH ODS layer if the operational data in the source systems is not necessarily compliant with SID?
    2. If there are entities which are not part of the standard business entities defined in SID how do we model such entities

    Regards,

    Shishil


    #AIandData

    ------------------------------
    Shishil Shetty
    Epam Systems Ltd
    ------------------------------



  • 2.  RE: Use of SID to define data model in ODS

    TM Forum Member
    Posted Jan 19, 2024 08:39

    Hi Shishil

    My take on this is that:

    • The TMF Information Framework is a conceptual, logical, and highly-normalized model covering most (if not all) of the business of digital and communications service providers.
    • The entities in the SID have relatively few properties/attributes, many relationships, and many inheritances.
    • It may be quite challenging to map the SID structures directly into persistent storage, whether relational, document, or other.

    So by all means use the SID entity names in your DWH model, but for performance and readability, don't follow slavishly the SID structures.

    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: Use of SID to define data model in ODS

    Posted Jan 22, 2024 08:35
    Edited by Shishil Shetty Jan 22, 2024 08:47

    Hi Jonathan,

    Thank you for your suggestion, I plan to extend SID entities to define my own. I agree on your point of using the SID structures as is, in some cases they seem to be an overkill. My idea was to skip such entities but I read in one of the SID user guides that it is not advisable to do so. 

    Regards,

    Shishil



    ------------------------------
    Shishil Shetty
    Epam Systems Ltd
    ------------------------------



  • 4.  RE: Use of SID to define data model in ODS

    TM Forum Member
    Posted Jan 19, 2024 23:31

    Based on our experience  in using SID (which is not in DWH ODS), there few things you might wanna do:
    1. find the right pattern and classes in SID
    2. extend the SID by extending your classes or add more attributes as desired

    Mapping non-SID data model data to SID data model can be complicated but it can be done even the most difficult ones. Personally, I would first define how to handle relationship: should use relationship by a class or using attribute? When I design and implement our SID module in our product, I support both but during solution development I found that using attribute is much simpler in terms of software complicity (software itself and database design if you use database). Once you have designed your SID extension the mapping would be straightforward using the mapping rules designed.

    This is a big topic and whatever you choose to do will have long term implications in your system so spend enough time to design it will return very good benefit to you. However, the benefits are probably to prevent bad results would happen down the road and not likely to be extra values besides you will have good system.

    Good luck.



    ------------------------------
    Fazhong (David) Deng
    OSSEra
    ------------------------------



  • 5.  RE: Use of SID to define data model in ODS

    TM Forum Member
    Posted Jan 22, 2024 07:06
    Edited by Dave Milham Jan 22, 2024 07:32

    Interestingly this topic has come up in he NaaS and ODA Production teams for integrating assets using IETF and BBF interfaces using Yang/ Net/RestConf

    When we were developing MTOP MTOSI Program we developed a tool called JOSIF for transforming SID to concrete interface models for Web Services/ XML and JMS.   The tooling was based on the Eclipse Atlas Transformation engine (ATL)  But there was a great slide pack that described the processes need to go from SID to an Concrete API interface which are quite general.  If I can find it I could contribute back into ODA Production Team for review.



    ------------------------------
    Dave Milham
    TM Forum, Chief Architect
    ------------------------------



  • 6.  RE: Use of SID to define data model in ODS

    Posted Jan 22, 2024 08:55
    Edited by Shishil Shetty Jan 22, 2024 10:25

    Hi David,

    Thank you for your response, (1) and (2) from your response is exactly what I plan to do. wrt modelling relationships even I feel attribute is the easier way of doing it. I do see some entities defined in SID related using classes though. do you have any pointers as to which approach for modelling relationships can be taken in which situation -> 1:1 relationship as attribute and 1:N as entity?

    Regards,

    Shishil

    Regards,

    Shishil



    ------------------------------
    Shishil Shetty
    Epam Systems Ltd
    ------------------------------



  • 7.  RE: Use of SID to define data model in ODS

    TM Forum Member
    Posted Jan 22, 2024 11:46

    I contributed the Slides to the Component and Canvas team that hosts the ODA Production and modeling teams

    1. TAC-810   MTOP MTOSI JOSIF mapping guidelines from SID to Interface data models
    2. NOTE This set of slides was developed for an MTOSI Josif workshop in 2014. the material was presented publicly by HP based on work in the MTOSI JOSIF team So I think the content is RAND but has a copyright notice which I think is on the specific slides not the content or concepts.


    ------------------------------
    Dave Milham
    TM Forum, Chief Architect
    ------------------------------



  • 8.  RE: Use of SID to define data model in ODS

    TM Forum Member
    Posted Jan 25, 2024 06:59

    On checking I had omitted the modelling guideline slides from post 

    1. TAC-810   MTOP MTOSI JOSIF mapping guidelines from SID to Interface data models

    which I have now corrected

    The additional ( first ) slide pack shows the JOSIF tool chain which gives a good insight to what a more modern transformation tool IDE would need to do.



    ------------------------------
    Dave Milham
    TM Forum, Chief Architect
    ------------------------------



  • 9.  RE: Use of SID to define data model in ODS

    TM Forum Member
    Posted Jan 22, 2024 22:23

    Hi Shishil,

     

    In programming level, has_a is to user attribute to implement relationship (always contains the target object) while use_a is to have separate object to implement the relationship. Using middle object for relationship adds another level of complexity so I don't recommend. For example, a simple case of device, card, port, you can implement them in different object then reference from device to cards and cards to ports. You can also implement them inside single object of devices which has attribute "cards" and a card can have attribute of "ports".

     

    In API, you probably want to clearly separate the attributes from relationships so that other system would be able to know the differences. Mapping internal SID implementation to API data stream or from API data stream to internal SID objects are quite straightforward if above design is done.

     

     

    David