Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page Properties
hiddentrue


Status

Status
colourYellow
titleprogress

Priority1
Note
AssigneeInga | Andreas D.

Ressources

(Info) https://wiki.optimal-systems.de/pages/viewpage.action?pageId=57442949    

Remarks

  • Antje: Cleaning up the Tutorial → moving things to Concepts

Not needed anymore:

In modern data processing chains, asynchronous operations become more and more popular. Concerning the administration of such complex procedures, a status measure is essential. The lifecycle of any object needs to be documented with a view to a general knowledge on the current state of progress, and in order to enable the prosecution of interrupted processes. If the object status would be located in the metadata, each pass through a multi-stage processing chain would create a completely new version of the whole object, that needs to be stored in addition to the previous one. In contrast, the tags are treated separately. They always have a state and a unique traceid, which is a basis for external support as well as a possibility to control asynchronous operations. These additional features are stored together with the object, but they are completely independent on the metadata and on the object's version. In fact, they are always available for the current version. The management and modification of tags neither creates a new version nor triggers events that become due when objects are modified. The so assigned processing status reflects a concrete state of the object and serves as the basis for further transactionstable entry:

traceidString

Unique process number of any tag operation. If not specified in the request, a random String value will be set after the tag operation.

In a tag update or delete request, the request parameter traceIdMustMatch can be set to true. The operation will be done only if the traceid of the call matches the current traceid of the requested tag. After such update processes, the traceid of the updated tag will be the same as before.

Per default, traceIdMustMatch is set to false.

optional, specified by means of the HTTP header X-B3-TraceId

Handling of the traceid

The traceid is a unique process number that provides the possibility to retrace tag operations and tune the update or deletion permissions for the tag.  In the HTTP header, the request parameter traceIdMustMatch can be changed from its default value false to true. Thus, two different scenarios are possible:

  • Call with traceIdMustMatch=false (default)
    The endpoint either sets the used-defined value or a random string as new traceid for the tag.
    In case of a tag deletion, the endpoint removes the tag from the corresponding object without checking the current traceid of the tag to be deleted.
  • Call with traceidMustMath=true
    An update or deletion endpoint takes the traceid from the request and compares it to the current traceid of the requested tag. The update or deletion operation will be performed only if the values are matching. Thus, the tag can only be updated or deleted if the previous traceid is known to the caller.
    In case of a tag creation, this condition would never match and should therefore not be used.


Excerpt

Tags are used to describe the status of an object within a process chain independently of the object's metadata, which means no need of definition in the schema and no triggering of new versions.

...