Skip to content

Latest commit

 

History

History
45 lines (27 loc) · 1.86 KB

request-specs.md

File metadata and controls

45 lines (27 loc) · 1.86 KB

Platform A and B are any ORD/RDM platforms, e.g. workflow managers, ELNs etc. A registry is used to gather all existing mappings between schemas identified by IRIs

DIAGRAM1.png

In case multiple mappings are present, a human has to intervene, because of the following problem:

DIAGRAM2.png

Diagram 2: Example case for multiple possible mappings.

endpoints

The minimal communication between platforms can be reduced to six endpoints.

  • GET/types
  • GET/oftype/{type} --> maybe response, probably RO-crate {type=ma:PlatformTypesSet}
  • GET/{id}
  • POST/entry
  • POST/entries
  • GET/responseto/{handle}

For HTTP content type "handle":

In the header of the HTTP request, the HTTP content type (of type mime type) is used to specify the expected respose to trigger the asynchronous communication through handles (see diagram 3) or through the synchronous file exchange (.eln format). If a handle is expected, content type is application/json, else if eln-file-format is expect, content type is application/zip. Also both content types can be specified in combination.

Each handle based reqest includes the following processes:

DIAGRAM3.png

exact role of the registry: The exact role of the registry can be flexible, if the endpoints are attached to the IRIs. Also there is no necessity for a central registry in this case.

ma:PlatformTypesSet := {[{type1, URL/endpoint1}, {type2, URL/endpoint2}, ...]}

DIAGRAM4.png

Diagram 4: no central registry

DIAGRAM5.png

Diagram 5: central registry

DIAGRAM6.png

Diagram 6: vitrual registry querying multiple endpoints