GDS Session Management: Best Practices
Understanding the roles of sessioned and sessionless transactions is critical
to interacting a CRS. Sessioned transactions are not inherently superior to
sessionless transactions; the appropriate use of these transactions is dependent
upon the context of the client application and associated business processes.
Ensure that all of the topics in the main help system have been reviewed as a
part of the agency configuration process. These topics include many valuable
points to implement within the agency environment. Along with those guidelines,
review the following pointers and best practices when setting up, configuring,
or re-configuring your agency for use of sessioned or sessionless transactions.
Best Practices
- Never hold open a session while waiting on end user input. If possible,
collect all information from the end user prior to opening a session. After
you have all the information from the end user:
- Open a session.
- Submit a SON with proper credentials.
- Submit the end user input.
- Handle any exceptions if they happen.
- Submit a SOF.
- End the session.
- Only use a session if your transaction is dependent on another
transaction, for example, if you need to perform a reference sell to an air
availability call. You need to have the air availability in the AAA prior to
performing the reference sell. Example: 01Y1.
- If at all possible, use sessionless calls. Sessionless calls are handled
better from the API in regards to GTID management. For example, sessionless
calls can be queued during high transaction volumes.
- Today’s transactions have greatly improved on being sessionless
transactions. Years ago, this was not the case. If possible, try to
reevaluate if it is possible to convert a sessioned call to sessionless. For
example, air availability calls have improved on going across links to pull
from the vendor’s availability. Previously, you had to make a session air
availability call to force the call to go across the link. Keep in mind that
this feature is dependent on the vendor’s participation level within the
GDS.
- The use of sessioned or sessionless varies by product as well. For
instance, if your agency is using a product with statically assigned GTIDs,
then session management is entirely in the hands of the client side
application. Review the main help system for more information.
- For any API product that uses dynamically initialized GTIDs, do not to
use sessions except when absolutely necessary, such as with tariff follow-ons,
ticketing, queue management etc. Session life should not be extended with
transaction level keep-alives etc. beyond the system session idle life
(currently 5 minutes for XML Select Web Services).