View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009164 | 10000-006: Mappings | Spec | public | 2023-09-21 23:56 | 2024-02-06 17:41 |
Reporter | David Levine | Assigned To | Randy Armstrong | ||
Priority | high | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.05.02 | ||||
Target Version | 1.05.04 RC1 | Fixed in Version | 1.05.04 RC1 | ||
Summary | 0009164: Description of reversible vs non-reversible JSON encoding is unclear (Part 6, 5.4.1) | ||||
Description | The spec mentions reversible vs non-reversible many times in many places, but there is no formal definition of what these terms mean. These should be defined in the Terms & Definitions section of part 6. It reversible means the client can access all the metadata in the Server, then it should say so explicitly. If so, then it's not clear why "reversible" was chosen to mean this. The paragraph of the use cases is confusing and assumes knowledge that many engineers may not have: "...two important use cases for the JSON encoding: Cloud applications which consume PubSub messages and JavaScript Clients. For the Cloud application use case, the PubSub message needs to be self-contained which implies it cannot contain numeric references to an externally defined namespace table. Cloud applications also often rely on scripting languages to process the incoming messages so artefacts (sic) in the DataEncoding that exist to ensure fidelity during decoding are not necessary. " The sentence "Cloud applications which consume PubSub messages and JavaScript Clients." reads like these are part of the same use case (it needs a comma). It explicitly states the first use case, but the second use case subject to misinterpretation. The first use case also mentions scripting languages, so using JavaScript as the 2nd use case example is confusing. re: "...Cloud applications also often rely on scripting languages..." From the examples in the encodings that follow, it appears that the reversible form assumes the client can access all the metadata in the Server, so data can contain values that refer to other entities within the Server, such as tables of namespaceURIs, serverURLs, etc. The non-reversible form assumes the client does not have access so additional or alternate forms of data must be sent, such as a namespaceURI instead of the index to it. If this is the case, why not just say so? As written, one must read through the different data type encodings to get a sense of why there are 2 types of encodings and where they are used. fyi: I asked other engineers who work with OPC what reversible vs non-reversible meant and they did not understand it either. One must really study this section to begin to understand what it means. | ||||
Tags | No tags attached. | ||||
Commit Version | 1.05.04 RC | ||||
Fix Due Date | 2023-11-15 | ||||
|
Added terms to 1.05.04 3.1.6 |
|
Agreed to changes in web meeting. |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-09-21 23:56 | David Levine | New Issue | |
2023-09-26 15:09 | Jim Luth | Assigned To | => Randy Armstrong |
2023-09-26 15:09 | Jim Luth | Status | new => assigned |
2023-09-26 15:11 | Jim Luth | Commit Version | => 1.05.04 RC |
2023-09-26 15:11 | Jim Luth | Fix Due Date | => 2023-11-15 |
2023-10-18 02:28 | Randy Armstrong | Status | assigned => resolved |
2023-10-18 02:28 | Randy Armstrong | Resolution | open => fixed |
2023-10-18 02:28 | Randy Armstrong | Note Added: 0020205 | |
2024-02-06 17:41 | Jim Luth | Status | resolved => closed |
2024-02-06 17:41 | Jim Luth | Fixed in Version | => 1.05.04 RC1 |
2024-02-06 17:41 | Jim Luth | Note Added: 0020776 |