Linkar Framework
Linkar Web Services
Linkar REST API (deprecated)
Linkar Clients (deprecated)
A terminology refresher might be helpful at this time.
Each Profile (server definition) can have as many EntryPoints (configurations for database account login) as desired. Each EntryPoint can have open Database Sessions
The EntryPoints Monitor is used to view and manage the status of EntryPoints and related Database Sessions. Data is only shown here after starting Linkar SERVER.
To define or modify EntryPoints, see EntryPoint configuration.
One or more connections to the database are made through a started EntryPoint. The primary purpose of LinkarSERVER is to manage EntryPoints. To be clear, the Linkar SERVER service must be started for any connections to come in, and an EntryPoint must be started to process requests directed to a specific database server and account.
In Linkar MANAGER, red icons (in general for all processes) mean an item is currently stopped, and green means the item is currently running.
Start a stopped EntryPoint by pressing the Red Arrow icon next to an EntryPoint name in top-level (major) grid items. On starting, the icon changes to a Green Square. Pressing the Green Square icon stops the EntryPoint and the icon returns to a Red Arrow.
When a single EntryPoint is started, configured Permanent connections (logins to the database) are started, and Linkar SERVER begins listening on the socket port assigned to the EntryPoint for requests from Linkar Clients. When a single EntryPoint is stopped, all related open connections to the database are logged-off, and no more requests are accepted for the single EntryPoint.
|
The EntryPoint Monitor helps us to see the flow of transactions, usage of database connections.
Requests that arrive at a started EntryPoint (socket port), from a Linkar Client, are redirected to an existing or new Database Session. Multiple Database Sessions, each a logged-in MVDBMS licence/port, can be started for a single EntryPoint.
Database Sessions are shown in the grid as a sub-grid (minor grid) under each EntryPoint.
Logged-in Database Sessions that are Not actively in-use by a client are considered Inactive. When a client process connects all the way through the EntryPoint to an open Database Session, it is considered Active and a Client Session is in progress.
When the transaction is complete, and a response is returned, the Database Session remains connected, but Inactive, and is available to any incoming client transaction. The EntryPoints Monitor shows connected/inactive sessions using the Session Status "OPENED: FREE".
If the Client Session was associated with a Session ID, the Client Session remains open from the perspective of the Linkar Client, but it is not connected to a Database Session. If the Client Session was not associated with a Session ID, it was a Direct/Volatile Client Session. The state of the Database Session is the same - it remains open for the next transaction from any client.
If you have defined "Temporal Sessions on Demand" in the EntryPoint configuration, they will remain closed, and not shown in the EntryPoints Monitor grid, until they are necessary.
When the EntryPoint receives a new request, if at that moment all Database Sessions configured for the EntryPoint are in use and active, the new request will wait until a Database Session is released and becomes inactive/free. At that time the request is connected to the open Database Session, as an Active connection. This is the function of the queuing process in Linkar SERVER.
When the EntryPoint receives a new request, and all open Database Sessions are active, but more Temporal sessions have been configured for the EntryPoint, the request will not be kept waiting. A new Database Session is opened and the transaction is processed.
For an Open/Free temporary/temporal session there is a logoff timeout. After the seconds of inactivity indicated, an open session will be closed automatically. The inactivity period is reset after every transaction on a Database Session.
To avoid opening and closing these temporal sessions, Permanent sessions can be defined for the EntryPoint. Available Permanent sessions are used before Temporal sessions are created, they are always visible in the Monitor, and there is no inactivity timeout.
Summary: Permanent Database Sessions are started for an EntryPoint with the Linkar Server service. These sessions are used as much as possible, and when more resources are needed temporal sessions are started up to a limit defined in configuration. When no longer required (off-peak, evening, etc) temporal sessions close and remaining transactions continue through the permanent sessions. Administrators need to watch the performance of their connections, balance considerations for DBMS licences and Linkar licences, and consider optimizations at all tiers to make the most effective use of the tools available. |
This screenshot (same as that below in Explanation by Example) shows a sample EntryPoint Monitor.
This screen has a major grid showing one EntryPoint per row for all EntryPoints. Profiles that have multiple EntryPoints will be seen in consecutive rows.
Each row opens to a sub-grid that shows Database Sessions related to each EntryPoint.
A detailed description of the columns in these grids is provided below.
•The Black Arrow icon in the first column of the major EntryPoint grid allows you to expand the row to see the connections/sessions established with the database. •The second column of the major grid contains the icon to start and stop the EntryPoint. •The third column of the grid shows the EntryPoint name. •The fourth column of the grid shows Profile name, usually the name of the DBMS server, perhaps including the DBMS platform (QM, D3, UniVerse, jBase, etc). •The fifth column shows the status of the EntryPoint. It shows the date and time it was started. Note, this is the socket opened in the SERVER service, not actual database connections. •The sixth column "Info" shows the type of connection, the account to which it connects, the Linkar SERVER IP/hostname, the TCP port on which Linkar SERVER is listening for the EntryPoint, and the version of the MV Components. •The seventh column shows the type of database of the EntryPoint. •The eighth column shows the number of operations performed since the start of the EntryPoint. This is enabled in EntryPoint Configuration with "Enable EntryPoint Statistics".
Expand the major grid, to see each EntryPoint and the related the open connections to Database Sessions.
In this sub-grid:
• Close or open lines with the database by checking the first column and pressing the Closed Selected or Open Selected button, or by pressing the green or red icon of the second column. • The third column shows the a line number which is specific to Linkar Suite. Each EP has its own index of line numbers. • The fourth column "Database Session" shows the database line (port, PIB...), as well as the TCP port of the database on this connection. • The fifth column shows the number of operations performed by this specific Database Session, when enabled in EntryPoint Configuration with "Enable EntryPoint Statistics". • The sixth column shows the status of the session or, if required, information about a connection error with the database. |
Row 1 on the major grid:
In the screenshot below, Profile QMWIN has one EntryPoint, QMWINQ. Application clients connect to Linkar SERVER, running on 192.168.200.100, and use port 11300 to access this EP. This EP is already has two connections open, logged-in to a QM DBMS with account DEMO.LINKAR. This EP uses the Connection Type QMCLIENT, which is connecting to QM on a different server (IP 192.168.100.100) on port 4243.
The first of these connections (Database Sessions) with Linkar Line 0 is a Permanent connection, started with the EntryPoint. This database session should always remains connected/logged-in. Note Session Status "OPENED:FREE".
At the moment this image was created, the first connection to QM is open and unused - that is, it is logged-in, but it is "FREE" and available for use by an inbound client. The second Database Session was opened ON DEMAND, perhaps at a moment when the first connection was processing a transaction. It is now also FREE/available, and may be gracefully terminated when no longer used.
Row 2 on the major grid:
The second EP named D3T was created under Profile "d3". This EP has also been started (green square icon). The SERVER is listening on 192.168.200.100, port 11102 for connections from Linkar Clients into this EP. There is a Permanent Database Session ("OPENED:FREE") established using Connection Type TERMINAL, specifically a Telnet connection that connects to localhost (same IP as the SERVER service) on port 10023.
Row 3 on the major grid:
The last EP seen here shows Profile UD with a single EP named UDU. This is not active (red "start/play" icon), but if it is started, connections will be accepted by Linkar SERVER on port 11600 for this EP. The EP will then login to UniData (database type DB_UD) with UniObjects, to account "demo".
|
Logoff a Database Session: If required, individual Database Sessions may be closed in the EntryPoints Monitor. This performs a logoff on the DBMS. Within an EntryPoint grid item, click the check box next to open sessions in the sub-grid. These open sessions have the green square icon. Then click the Close Selected button. Icons for closed sessions should turn into a red arrow.
Refresh Settings: Next to the green square EntryPoint icon in the top-level profile grid (not in the nested session grid), there is a circular-arrow Refresh icon. Click this to Refresh Settings. This checks processes to see if they can actually be used, and attempts to revive "broken" processes.
Refresh Monitor Status: The Session Status information in the nested session grids is NOT dynamic. To see the latest status, press the circular-arrow Refresh button just above the main grid. (This is a "refresh the grid" button, not a "refresh the EP" button.) For a dynamically refreshed display of the status, activate the Auto Refresh every N seconds option next to that Refresh button. This will update the status information in the web page in the specified time intervals.
|