Patent ID: 11863610
Assignee: XACTLY CORPORATION
Field: Computer technology (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 6:
7. One or more non-transitory computer-readable storage media storing one or more sequences of instructions which, when executed using one or more processors, cause the one or more processors to execute:
using a transaction management process that is communicatively coupled to a cluster of computer-executed server processes, receiving from a browser process a first request to start a transaction associated with a data access process, the data access process implementing representational state transfer (REST) and being communicatively coupled to a database, the data access process implementing a plurality of REST resources;
using the transaction management process, acquiring a database connection from the data access process and storing the database connection in an open state;
using the transaction management process, generating and storing a unique transaction identifier for the transaction in association with the storing of the database connection at a first point in time;
using the transaction management process, receiving from the browser process a plurality of REST queries via a sessionless transport protocol for execution;
using the transaction management process, and while the database connection is in the open state, programmatically forwarding the plurality of REST queries to the data access process based on each particular transaction identifier parsed by the transaction management process for each of the plurality of REST queries, determining that, for at least one of the plurality of REST queries, the corresponding parsed transaction identifier does not match the unique transaction identifier, and in response to the determination, proxying the at least one of the plurality of REST query to a particular server process among the cluster of computer-executed server processes;
using the transaction management process, and while the database connection is in the open state, programmatically forwarding responses from the data access process to the browser process;
using the transaction management process, receiving a second request from the browser process to end the transaction, and only in response to the second request, programmatically completing the transaction in communication with the data access process, and changing the database connection to a closed state.