...
- Using document storage, it involves only the ORM layer, it does not change the functionality of the application
- Business logic could be optimized reducing the number of access to DB: read one time a service template and using it during the elaboration rather then fetch data from data from DB for each single search (load a property, load a list of ToscaNodeTemplate ecc..)
- After migration to document storage, it will possible to adjust flexibility of Tosca Service Template Handling (POLICY-3236); as new feature it will impact the business logic of the application
...
A service template could have references to other service templates.
- We could consider Service templates references to each other as a DAG ( directed acyclic graph), where Service templates are nodes, and a references as edges. Cyclic references are not allowed.
- Should be available a functionality to load a full version of the service template that contains own tosca entities and also all tosca entities referenced from other service templates
- A service template cannot be deleted if there are references to it
- Any Tosca Entities in a common service template cannot be deleted if there are references to that service template
- Any Tosca Entities in a common service template cannot be change "namespace", "type" and "type_version" if there are references to that service template
- Any Tosca Entities in a common service template could be change values if there are not automation compositions in it and in all references to that service template
- A Tosca Entity could be add in a common service template if there are not automation compositions in it and in all references to that service template
- Functionality as create, update and delete of a ToscaEntity in a service template should be validated and restricted to the service template itself. (Example: update property values of a service template should never update property values from other service templates referenced)
- To reduce the complexity, could be useful to save additional information about the service template:
- A full version of the service template that contains own tosca entities and also all tosca entities referenced from other service templates. it will be used in read-only for business logic purpose
- A table to save relations between service templates
- A table to save relations between service templates and automation compositions (with all service templates referenced)
...