FIXEdge Java: FIX Session Configuration
FIX Session Configuration
FIX Session attributes can be divided into three groups:
- Static configuration
- Dynamic state
- Dynamic attributes
To create a new Session configuration, define the static attributes such as:
- Identification parameters
- Specific parameters of the Initiator and Acceptor Sessions
- Others
The parameters of static configuration define the initial parameters for the dynamic parameters. The static configuration can be changed when the current FIX Session is not connected. The parameters of the static configuration can be modified at any time. If the Session is connected, the changes are stored in the database and only the latest changes are applied when the Session becomes disconnected.
A dynamic state exists only when the Session is connected. FIXICC H2 handles the events which are happened during the endpoint's life cycle. These events come from the FIXEdge Server. For the dynamic state, the sequence of events is important for tracking.
Dynamic attributes also exist only when the Session is connected. FIXICC H2 checks the state of these attributes in a configured time interval. The set of metrics depends on the type of FIXEdge Server. For the dynamic attributes, the snapshot at the moment is important.
Static FIX Session Configuration
- Select a Server to add a new Session configuration to.
Figure. Selecting the Server from the list. - Go from the Servers page to the Server Sessions page by:
- Clicking FIX in the View drop-down menu on the Servers page (item 1).
- Clicking the Server Name in the navigation menu and FIX under the Server Name (items 2 and 3).
- Double-clicking the selected Server configuration.
- Then FIXICC H2 opens the page with the list of sessions configured for the selected Server.
Figure. The Server Sessions list.
Adding a New FIX Session Configuration from Scratch
To add a new Session from scratch:
- Press Add.
Figure. Add a Session from scratch. - Choose the new session role from the Add drop-down menu:
- The Initiator is responsible for establishing the connection (TCP/IP) and sending the first Logon message to the Acceptor. There is a set of parameters for Initiator Sessions.
- The Acceptor performs authentication and replies with the confirming Logon message to the Initiator as a declaration that the FIX Session has been established. In case of a connection failure, the Acceptor waits until the Initiator initiates reconnection. There is a set of parameters for Acceptor Sessions.
You can also create a new session configuration by:
- Clicking Create Acceptor Session or Create Initiator Session in the context menu.
- When you select a new session role, FIXICC H2 opens the New Session page.
Create an Acceptor Session
To create a new Acceptor Session:
- Select Acceptor from either:
- The Add drop-down button
- The context menu
Figure. The Add Acceptor Session option.
- FIXICC H2 opens the New session for a new Acceptor Session.
Figure. Acceptor Session parameters.
The Acceptor Session allows setting the Reset Threshold parameter.
Create an Initiator Session
To create a new Initiator Session:
- Select Initiator from either:
- The Add drop-down button
- The context menu
Figure. Add an Initiator Session.
- FIXICC H2 opens the New Session page for a new Initiator Session.
The Initiator Session has a specific, mandatory set of parameters to establish a connection:
- Host - Defines the network IP address of the computer to which the connection is established
- Port - Defines the port network number on the computer to which the connection is established
- HeartbeatInterval - Defines the heartbeat interval (seconds) – a time interval between Heartbeat messages. The recommended value is 10 seconds for dedicated connections or private networks. Trading connections via the Internet requires calibration. '0' means that no Heartbeat messages will be sent.
You can see the parameters in the figure below.
Figure. Initiator Session parameters.
Complete adding a new Session configuration
After you've defined the mandatory connection parameters (Host, Heartbeat Interval, and Port), define the mandatory identification parameters that are highlighted in red in the figure above:
- Name - unique session identifier.
- SenderCompID - the key parameter for purposes of session identification. Sets the value of the SenderCompID (49) tag in outgoing FIX messages.
- TargetCompID - the key parameter for purposes of session identification. Sets the value of the TargetCompID (56) tag in outgoing FIX messages.
- FIX Version - identifies the session-level FIX protocol version of a message. Sets the value of the BeginString (8) tag in outgoing FIX messages.
- AppVersion - identifies the application-level FIX protocol version of a message. Sets the value of the ApplVerID (1128) tag in outgoing FIX messages. Required if FIX Version is set to FIXT.1.1.
You can find the full list of session parameters and descriptions on the FIX session configuration for FIXEdge Java page.
After specifying all the details, you have the following options:
- Save the new session configuration by clicking OK.
If all mandatory parameters are specified and the Name, SenderCompID, and TargetCompID values are unique, then a new Initiator Session is added to the selected Server and FIXICC H2 displays the sessions table including the new Session configuration.
If the Session Name is not unique, FIXICC H2 displays the error form with the message 'Session <session-name> already exists'.
If the session SenderCompID and TargetCompID are not unique, FIXICC H2 displays the error form with the message 'Session with <SenderCompID> and <TargetCompID> already exists'.
When you click the X button, FIXICC H2 displays the New Session page again to change the duplicated parameters.
If mandatory parameters aren't specified, FIXICC H2 displays the alert form:
After the alert form is hidden, FIXICC H2 displays the New Session page again to fill in the mandatory parameters.
- Cancel the operation by clicking Cancel. Then FIXICC H2 displays the sessions table without changes.
- Leave the page. If you edited the session parameters, FIXICC H2 displays the following warning form:
FIXICC H2 offers the following options:
- Save the entered values as a new Session configuration.
Then a new Session is added to the selected Server and FIXICC H2 displays the sessions table, including the new Session configuration. - Skip the changes by clicking Don't save.
The new Session configuration won't be added. FIXICC H2 displays the sessions table without changes. - Stay on the New Session page by clicking Cancel.
FIXICC H2 displays the New Session page to continue editing.
Cloning an Existing FIX Session Configuration
You have the ability to create a new Session by cloning an existing one and changing the unique parameters.
- To clone a Session, select the Session from the session list and click Clone.
Figure. The Clone button.
OR
- Go to the Session Dynamic State page.
- Click the Clone item from the additional menu on the Session page of the particular Session.
Figure. The Clone item from the additional menu.
FIXICC H2 copies the selected Session parameters to a new session and displays the New Session page with the fields filled with the values from the selected Session.
Figure. Cloned Session.
A cloned Session is added with the same identification parameters as the original Session.
You have the same options as you'd see when a new session is created from scratch:
- Save a new Session configuration by clicking OK.
If all mandatory parameters are specified and the Name, SenderCompID, and TargetCompID are unique, then a new Session is added to the selected Server and FIXICC H2 displays the sessions table including the new Session configuration.
If the Session Name is not unique, FIXICC H2 displays the error form with the message 'Session <session-name> already exists'.
If the session SenderCompID and TargetCompID are not unique, FIXICC H2 displays the error form with the message 'Session with <SenderCompID> and <TargetCompID> already exists'.
When you click the X button, FIXICC H2 displays the New Session page again to change the duplicated parameters.
If mandatory parameters aren't specified, FIXICC H2 displays the alert form:
After the alert form is hidden, FIXICC H2 displays the New Session page again to fill in the mandatory parameters.
Cancel the operation by clicking Cancel. Then FIXICC H2 displays the sessions table without changes.
- Cancel the operation by clicking Cancel. Then FIXICC H2 displays the sessions table without changes.
- Leave the page. If you edited the Session parameters, FIXICC H2 displays the following warning form:
FIXICC H2 offers the following options:
- Save the entered values as a new Session configuration.
Then a new Session is added to the selected Server and FIXICC H2 displays the sessions table, including the new Session configuration. - Skip the changes by clicking Don't save.
The new Session configuration won't be added. FIXICC H2 displays the sessions table without changes. - Stay on the New Session page by clicking Cancel.
FIXICC H2 displays the New Session page to continue editing.
- Save the entered values as a new Session configuration.
Modifying an Existing FIX Session Configuration
You have the ability to edit an existing Session configuration.
- Select the Session from the sessions list configured for the Server.
Figure. Edit session. - Select one of the following options to edit the Session:
- Click Edit on the top panel (item 1).
OR - Select Edit in the context menu (item 2).
- Click Edit on the top panel (item 1).
- Start editing the Session by pressing Ctrl+E on your keyboard.
OR
- Go to the Session Dynamic State page.
- Click the Edit item from the additional menu.
Figure. The Edit item from the additional menu. - FIXICC H2 displays the Modify Session page. You can change selected Session static parameters.
Figure. Modify session. - After you finish the changes, follow the same flow as when a new Session is created:
To save the changed Session configuration, click OK.
If all mandatory parameters are specified and the SenderCompID and TargetCompID are unique, then the Session is modified and FIXICC H2 displays the sessions table including the modified Session configuration.
If the Session SenderCompID and TargetCompID are not unique, FIXICC H2 displays the error form with the message 'Session with <SenderCompID> and <TargetCompID> already exists'.
When you click the X button, FIXICC H2 displays the Modify Session page again to change the duplicated parameters.
If mandatory parameters aren't specified, FIXICC H2 displays the alert form:
After the alert form is hidden, FIXICC H2 displays the Modify Session page again to fill in the mandatory parameters.
Cancel the operation by clicking Cancel. Then FIXICC H2 displays the sessions table without changes. The selected Session configuration is not updated.
Leave the page. If you edited the Session parameters, FIXICC H2 displays the following warning form:
FIXICC H2 offers the following options:
- Save the changes by clicking Save.
FIXICC H2 displays the sessions table. The selected Session is modified. - Skip the changes by clicking Don't save.
FIXICC H2 displays the sessions table. The selected Session is not modified. - Stay on the Modify Session page by clicking Cancel.
FIXICC H2 displays the Modify Session page to continue the editing.
Copy Session to Another Server
To copy a selected Session's configuration to the target Server configuration:
- Select the Session you want to copy.
- Choose Copy to Server on:
- The top panel of the Server Sessions page
OR - The additional menu on the Session Dynamic State page
- The top panel of the Server Sessions page
Figure. Copy the Session to the Server.
3. FIXICC H2 shows a list of configured Servers, where you can choose the target Server configuration:
Figure. The Select Server form.
The schedule configuration bond with the copied Session won't be copied to the target Server. The Session configuration on the target Server starts and stops with the Server. You can bind a copied Session with a new schedule if it is needed.
You can:
- Select a Server from the list and click Select.
- Then FIXICC H2 copies the Session configuration to the selected Server and opens the Session Dynamic State page for a new Session.
- Click Cancel to cancel the operation.
If the Session Name is not unique, FIXICC H2 displays the error form with the message 'Session <session-name> already exists'.
If the session SenderCompID and TargetCompID are not unique, FIXICC H2 displays the error form with the message 'Session with <SenderCompID> and <TargetCompID> already exists'.
If FIXICC H2 can't complete this operation, the error form will be displayed.
In this case, the Session configuration won't be copied to the selected Server.
Removing an Existing FIX Session Configuration
You have the ability to remove an existing Session configuration.
Figure. Remove Session.
To remove the Session:
- Choose one of the following options:
- Click Remove in the top panel.
OR - Select Remove in the context menu.
- Press Ctrl+Backspace on your keyboard.
- Click Remove in the top panel.
OR
- Go to the Session Dynamic State page.
- Click the Remove item from the additional menu.
Figure. The Remove item from the additional menu. - FIXICC H2 displays the following confirmation window:
You have two options:Confirm the removal by clicking Yes. FIXICC H2 will display the Server Details page with the Session configuration removed from the page.
A running Session is disconnected and stopped first and then removed and unbound from the schedule.
Cancel removing the Session configuration by clicking No. FIXICC H2 will display the sessions list without changes.
Session and Schedule Binding
A Session can be started and stopped with the Server or according to a custom schedule.
You can choose a schedule when you add a new Session configuration on the New Session page.
Figure. The default Scheduler section.
You can also configure the sequence numbers of a new Session to reset on start by checking the Reset sequence numbers on start checkbox or while editing a Session on the Modify Session page.
Figure. The Scheduler section.
By default, the Session starts/stops with the server option (item 1) is selected and the Session starts and stops with the Server.
When the Session starts/stops with the server option is selected, the Session starts right after editing is finished.
When the Session starts/stops according to the schedule option (item 2) is selected, you have the ability to:
- Select a schedule name from the drop-down list by clicking the symbol (item 3). When you click the schedule name, the Schedule Name, Start Time, Terminate Time, and Time Zone fields are filled with the schedule parameters.
- Clear the Schedule Name, Start Time, Terminate Time, and Time Zone fields by clicking the symbol (item 5).
- Open the Server Schedules page in the popup window by clicking the symbol (item 4).
- When you select the schedule name and click Select (item 1 in the figure below) in the Server Schedules, the Server Schedules page close, and the Schedule Name, Start Time, Terminate Time, and Time Zone fields are filled with the schedule parameters.
- When you click Cancel, the Server Schedules page is closed and the initial page is shown without changes
Figure. The 'Server Schedules' popup window.
You can also Create (item 3), Edit (item 4), and Remove (item 5) the schedule configuration in the Server Schedules popup window.
The schedules list can be filtered by using the Default Filter.
You can also use the Extended Filter for searching Server information.
When you specify the custom schedule for the current session, the View Sessions button is enabled and you can open the Schedule Details page in a new tab by clicking it.
To finish the binding, click OK.
FIXICC H2 binds the current Session with the selected work mode:
- If the Session starts/stops with the server option is selected.
- If the Session starts/stops according to the schedule option is selected and Schedule Name is specified.
If the binding operation failed, an error form and the following notification are shown:
Figure. The binding error form.
Dynamic FIX Session Configuration
Server Sessions
You can monitor the dynamic state of the configured Sessions for a given Server.
Figure. The Servers page.
Go from the Servers page to the Server you choose by using one of the following options:
- Click FIX in the View drop-down menu on the top panel (item 1).
- Click a Server name in the left-side menu > FIX (items 2 and 3).
- Double-click the selected Server configuration.
Now you can see the session monitoring layout.
Figure. The Server Sessions page.
The first column of the table contains the Session status indicator. This parameter shows the dynamic status of each Session configured for the selected Server.
You can easily detect the session status according to the following list:
Indicator | Status | Session status |
---|---|---|
Initial | The Session has been added to the FIXICC H2 database but is absent in the FIXEdge configuration. | |
Connecting/ Reconnecting/Listening | The Initiator Session is connecting or the Acceptor Session is waiting for the Logon message. | |
Running | The Session is running (Initiator and Acceptor Sessions are connected). | |
Running | The Initiator Session is running (Initiator Session is connected to the backup Acceptor Session). | |
Disconnected | The Session is disconnected. |
You can also see the Status column so you can filter the displaying list of the Sessions by dynamic status.
You can monitor the changing of the Session metrics and Session state just by staying at the layout.
The dynamic Session parameters are changed as a response to the Session events during the connection.
The frequency with which the metrics values are updated can be configured. The default value is 1 second.
Filtering
You have the ability to filter the sessions list by using the Default Filter.
You can filter sessions by Status, Name, SenderCompID, TargetCompID, or a combination of them.
You can also use the Extended Filter for searching Server information.
Session Dynamic State
To see the dynamic state and metrics of the selected Session, click on the selected Session on the Server Sessions page in the sessions table in the Table view layout part.
FIXICC H2 displays the Session Dynamic State page in the Object info layout part.
You can also open the Session Dynamic State page in a new tab:
- By clicking View.
- By clicking View in the tab in the Object info layout part.
- By clicking View (Enter) context menu item.
- By double-clicking on the selected Session
- Or by pressing Enter on your keyboard.
Figure. The Server Sessions page.
Or you can go to the Session Dynamic State page from the Notifications page by clicking the name of the selected Session.
Figure. The Notifications page with the name of the selected Session.
Or you can go to the Session Dynamic State from the Notification Details page by clicking the Event Source the notification refers to.
Figure. The Notification Details page.
FIXICC H2 opens the Session Dynamic State page in a new tab:
Figure. Session Dynamic State.
The Session Dynamic State page contains:
- the Session dynamic parameters
- parameters of static configuration
- schedule (when the Session starts/stops with the Server, the Schedule Name field is specified with the Server line, and schedule parameters are hidden except Reset Sequence Numbers on start)
- metrics
- drop-down menus with operations
All information is updated in real-time.
Detailed information about the menus with session operations is on the Session operations page.