5 Session Initialization

If the basket is started in integration mode it will request a configuration during its initilization by sending a wbkHost.getConfiguration message to the host. The host then has to send back the configuration which has to include the ID of the EAIWS session. The basket will pause until it receives the wbk.configuration message. This finishes the initialization and the baskets starts to operate on the given session. If the basket is finished with its operations a wbkHost.done message will be send to the host. The host then can close the basket window and perform further operations on the session.

The basic initialization sequence looks like this:

%%{init:{"theme":"dark"}}%% sequenceDiagram autonumber participant H as Host participant B as Basket %% Note over H, B: initialization activate H create participant E as EAIWS H ->> E : create and setup EAIWS session activate E H ->> B : start basket in integration mode deactivate H activate B B ->> H : request configuration <br/> message: wbkHost.getConfiguration deactivate B activate H H ->> B : send configuration <br/> message: wbk.configuration deactivate H activate B %% Note over H,B: editing in basket loop B ->> E: operate on session B ->> H: further messages end %% Note over H,B: finished editing %% B ->> H : message: wbkHost.done activate H deactivate B destroy B H -x B: close basket window H ->> E: further operations on session deactivate E destroy E H -x E: close EAIWS session deactivate H
%%{init:{"theme":"default"}}%% sequenceDiagram autonumber participant H as Host participant B as Basket %% Note over H, B: initialization activate H create participant E as EAIWS H ->> E : create and setup EAIWS session activate E H ->> B : start basket in integration mode deactivate H activate B B ->> H : request configuration <br/> message: wbkHost.getConfiguration deactivate B activate H H ->> B : send configuration <br/> message: wbk.configuration deactivate H activate B %% Note over H,B: editing in basket loop B ->> E: operate on session B ->> H: further messages end %% Note over H,B: finished editing %% B ->> H : message: wbkHost.done activate H deactivate B destroy B H -x B: close basket window H ->> E: further operations on session deactivate E destroy E H -x E: close EAIWS session deactivate H
sequenceDiagram
    autonumber
    participant H as Host
    participant B as Basket
%%
    Note over H, B: initialization
    activate H
    create participant E as EAIWS
    H ->> E : create and setup EAIWS session
    activate E
    H ->> B : start basket in integration mode
    deactivate H
    activate B
    B ->> H : request configuration <br/> message: wbkHost.getConfiguration
    deactivate B
    activate H
    H ->> B : send configuration <br/> message: wbk.configuration
    deactivate H
    activate B
%%
    Note over H,B: editing in basket
    loop
    B ->> E: operate on session 
    B ->> H:  further messages
    end
%%
    Note over H,B: finished editing
%%
    B ->> H : message: wbkHost.done
    activate H
    deactivate B
    destroy B
    H -x B: close basket window
    H ->> E: further operations on session
    deactivate E 
    destroy E
    H -x E: close EAIWS session
    deactivate H

Note: After the basket requested the configuration it will wait only 30 seconds for the wbk.configuration message. After 30 seconds a timeout error will be shown.

A more detailed look at step 1: create and setup EAIWS session can be seen in the following diagram. It illustrates the use of pCon.login and the Gatekeeper.

%%{init:{"theme":"dark"}}%% sequenceDiagram autonumber participant H as Host %% activate H create participant L as pCon.login H ->> L : login user activate L L ->> H : return access token deactivate L destroy L H --x L : login finished create participant G as Gatekeeper H ->> G: request an EAIWS session <br/> using access token and gatekeeper ID activate G create participant E as EAIWS G ->> E : create session activate E G ->> H : return session ID and eaiws server URL deactivate G destroy G H --x G: finished EAIWS session creation H ->> E : setup EAIWS session Note over H: start basket deactivate H deactivate E
%%{init:{"theme":"default"}}%% sequenceDiagram autonumber participant H as Host %% activate H create participant L as pCon.login H ->> L : login user activate L L ->> H : return access token deactivate L destroy L H --x L : login finished create participant G as Gatekeeper H ->> G: request an EAIWS session <br/> using access token and gatekeeper ID activate G create participant E as EAIWS G ->> E : create session activate E G ->> H : return session ID and eaiws server URL deactivate G destroy G H --x G: finished EAIWS session creation H ->> E : setup EAIWS session Note over H: start basket deactivate H deactivate E
sequenceDiagram
    autonumber
    participant H as Host
%%
    activate H
    create participant L as pCon.login 
    H ->> L : login user
    activate L
    L ->> H : return access token
    deactivate L
    destroy L
    H --x L : login finished
    create participant G as Gatekeeper
    H ->> G: request an EAIWS session <br/> using access token and gatekeeper ID
    activate G
    create participant E as EAIWS
    G ->> E : create session
    activate E
    G ->> H : return session ID and eaiws server URL
    deactivate G
    destroy G
    H --x G: finished EAIWS session creation
    H ->> E : setup EAIWS session
    Note over H: start basket
    deactivate H
    deactivate E

Generated using TypeDoc