...
The coordination layer offers communication through a message broker and a data transmission via https. This is illustrated in the below figure. In general communication is initiated and actions are coordinated via the message broker, while the actual transmission of data is done via data transmission.
There are is no intelligence in the Coordination Layer and it is the clients that are responsible for choices that involves intelligence e.g. in chooing choosing an alternative pillar for request of data (according to Service Level Agreement).
...
All communication via the Coordination layer starts via a Topic that is send to all. It is up to the individual subscribers to determine whether it is a message that concerns them, for example a Get GetTime message does only concern the pillars involved in a certain service level agreement.
...
The Get operation can begin by asking pillars who will be the fastesfastest, or it can start by actually sending a get message for a specific default pillar.
In the strict interpretation of single operations this will be seen as two operations
- GetTime
- Get
An the The difference between the two get scenarios will be that teh the first will both consist of a GetTime and a Get opertationoperation, while the later will only consist of a Get.
The below figure illustrates the messages of the two operations illustrated, where messages belonging to the same communication in an operation is placed edge to edge. note that it only includes messages on the message bus, i.e. excluding the actual data transmission.
...
Since each communication is started via a (SLA) topic this means that the GetTime and the Get is sent to a Topicis sent to a topic. The Get operation is addressed to a specific pillar queue, but it usually preceded by a GetTime, such that the comunication is started via a topic. This is illustrated in the below sequence diagram
<TBD> See http://wiki.statsbiblioteket.dk/BitmagasinWiki/Sekvens1
The advantages are:
- the Get operation works communications work similar for the two different operations and scenarios
- it will be easy to handle shift in services, e.g. exchanging one primary pillar with another, exchaging exchanging pillars in a SLA etc.
The disadvantages can be:
- there may be a heavy load of messages on the SLA topic that all substribers subscribers must go through in order to find the ones interesting for themselves.
...
In the design we need to ensure that we are as independent of the software chosen as possible. If special features are used, e.g. for optimisation, then the design must be flexible enough to skip use of the special features at a later stage.
...
Use of tokens
Tokens are used to til as designation of where the data can be put to or downloaded from.
Issuing of token are alsways is always done by client in client/pillar communications. Creation of the actual connection is done by the pillar.
...
Paging is in the first versions manage managed by a simple mecanism mechanism where a segment of a file is identified by parameters. Any Get command can contain an offset along with a length parameter, which defines the segment of the file. this is also sufficient to handle receival of divided files, and thus enabling rudimentary support of restart of an interrupted transmission.
...