Channels

A channel is a connection between two paries. Each party uses a Connection node to communicate with the other party.

The Connection node contains the following fields:

Name

A name for the partner.

Channel active

Indicates if the channel is active. If it is inactive, it will reject all requests from the partner.

Partner identifier

A unique identifier for the partner's end of the channel.

Remote partner

Indicates that the partner is remote to this server.

Partner node

For a local partner (remote partner not set), the partner's channel node.

This can be set using a link or entering a node reference (but not both). If a link is given, a node reference for the link is derived.

Partner URL

For remote partners, the URL of the partner's channel.

Partner key

The public key from the partner that can be used to check partner signatures.

Channel identifier

A unique identifier for this end of the channel.

Key pair

Link to key pair to be used to sign messages sent to the partner.

The channel has to keep track of all its associated workers. It does this by holding within it a Channel Worker for each worker, the local reference of which is derived from the Process identifier used to identify the process.

Each Channel Worker contains within it a record of each request sent to or from the worker, held as a Channel Event. This records the data sent from or to the partner, both in its raw form (with signatures) and in its decoded form. This provides a complete audit trail of the collaboration. Holding the raw data, with signatures, provides a non-repudiable record of exactly what the partner sent.