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.