[Moims-sc] M&C Book revision
Serge Lacourte
serge.lacourte at scalagent.com
Fri Dec 8 16:13:04 UTC 2023
Dear all,
I am about to release the new version of the M&C Book to the working
group. However I would like to get first your opinion about an API
change, which impacts several operations.
With the move from COM objects to MAL v2 objects, I initially changed
the API of several operations to accept a List<ObjectRef> parameter
(instead of COM objects identifiers). Then we agreed in WG to change
this API into a single domain and a list of keys, for a subset of those
operations, namely:
* Parameter: getReportingConfiguration, enableReporting,
disableReporting, setReportingPeriod
* Alert: getAlertConfiguration, enableGeneration, disableGeneration
* Aggregation: getReportingConfiguration, enableReporting,
disableReporting, setReportingPeriod
It looks now inconsistent with a few other operations, which still use a
List<ObjectRef> parameter, namely
* Parameter: getValue, setValue
* Aggregation: getValue, removeAggregation
We have a choice then:
1. change the API of those 4 operations in the same way, to get a more
homogeneous API
2. keep it as it is now
3. revert to a "List<ObjectRef>" API for all operations
My preferred choice is 1. Here is a table to explain the alternatives
and help you make your choice:
definitions: List<ObjectRef>
domain: List<Identifier>
keys: List<Identifier>
explicit List of ObjectRef to the Definition objects concerned by the
operation
implicit List of ObjectRef to the Definition objects concerned by the
operation, built as
- single domain field shared by all ObjectRef
- each key field from the input list
- version field set to 0
pros
standard usage of the MAL v2 ObjectRef
more user friendly? (reason for the WG choice in the first place?)
cons
Gives access to older versions of a Definition object, which is a
drawback if this should never be allowed.
Only the latest version of the Definition object is accessible.
Operating over an old version is not possible.
cons More verbose with the possible duplication of the domain field,
and the provision of a possibly useless version field
Limits the list to Definition objects that share the same input domain.
Operating over objects from different domains would require multiple calls.
Thank you for your feedback.
Best regards,
Serge
--
Serge Lacourte
Directeur general
ScalAgent Distributed Technologies SA
tel. +33 4 76 29 79 81
mobile. +33 6 86 47 41 06
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/moims-sc/attachments/20231208/5eb73658/attachment.htm>
More information about the MOIMS-SC
mailing list