The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
- The LH client MUST be implemented as an EDC extension
- The LH client MUST be developed against MDS EDC 7.x.x
- The LH client SHOULD NOT interfere with other EDC extensions
- The LH client repository MUST provide a Maven package for the MDS EDC integration
- A LH client MUST report every transaction to the LH server (Phase 1 or 2)
- ... MUST log Contract Agreements
- ... MUST log Transfer init, completed, error ...
- ... MAY log query messages, for the purpose of marking audits ... (Phase 2)
- ... MAY log other messages
- A LH client MUST create a process id while negotiating a contract (Phase 1)
- The process id MUST be accessable (read/write) by provider and consumer.
- The process id MUST be accessable (read) by the specified MDS connector. (Logginghouse server feature)
- A Connector MUST NOT agree on any contract if it is not able to log a message to the shared process id. (Phase 2 - TBC MDS Community Management)
- A LH client SHOULD NOT transfer any data if the transaction cannot be logged to the LH server. (Phase 2)
- different behaviour on contract negotiation and transfer
- A LH client MUST buffer log messages of transfers if the LH server is unreachable. (Phase 1)
- time constraint ... (Phase 2 - TBC)
- mechanism to protect against modification of buffered messages ... (Phase 2 - TBC)
- A LH client MUST push buffered log messages as soon as the LH server is reachable. (Phase 1)
- A LH client SHOULD archive/store LH server transaction reciept. (Phase 1)
- A LH client MAY query their transaction data from the LH server. (Phase 1)
- A LH client MUST expose a query API to enable a connector developler to implement their use case specific functions. (Phase 1)
A transaction is either a contract negotiation action or data transfer action.
A process id is a unique identifier to group each transaction to a contract. The LH server enables a LH client to create a process id with the option to specify the owners.
Is the logging house server that acts a central logging component.
Is the logging house client that should be implemented in each connector.
Is an IDS multipart "logMessage" that is immutable.