www.UTS2000.com    Back    Help contents   Print

 

Development of WEB-applications with UTS WEB 6

 

Description of UTS WEB 6
Set up UTS WEB 6
UTS WEB 6 configuration
Start UTS_WEB_6.exe
Gabriel command request
Performance of commands sequence
Answer from Gabriel
Features of use UTS WEB 6
Parallel performance
Restart sessions
Time out
TCP/IP error on Gabriel side
Using UTS WEB 6 in the .NET
Direct access via TCP/IP sockets
Registration and payment

 

Description of  UTS WEB 6x

UTS WEB 6 is software for development WEB applications for access to SITA Gabriel system.

UTS WEB 6 is HTTP interface for access to Gabriel system. This interface can be used for development of various WEB-projects: help systems, booking and sale of air tickets, etc.

UTS WEB 6 receive Gabriel commands from WEB Server. UTS WEB 6 provides execution of Gabriel commands, specified in parameters of the HTTP-requests. Commands converts to Gabriel transactions and send via UTS NET network to Atlanta Data Processing Center (ATLDP) to Gabriel system. The responses from Gabriel system resends to UTS WEB 6 and converts to HTTP protocol for UTS WEB server. 

It allows developers of WEB-applications to use standard HTTP protocol for access to ATLDP - Gabriel. 

 

 

Attention !  UTS WEB 6 provides parallel running of unlimited quantity of requests for any airlines from Gabriel. The UTS WEB 6 dispatcher allows to running sequences of Gabriel commands with context saving between requests.

UTS WEB 6 uses UTS NET servers for access to Gabriel system.  Therefore, for work and use UTS WEB 6, it is necessary to be the registered user of UTS NET network and to have Username/Password for access to UTS NET network. Procedure of connection to UTS NET is described  hear

For work with Gabriel through UTS WEB 6 it is necessary to have PID, SITA USERID/PASSWORD and SI for access to Gabriel system. You have to request these data from airlines. 

 

Attention !  UTS WEB 6 can use STATIC and DYNAMIC PID. The STATIC PID you have to request from airline. Dynamic PID it is possible to appoint independently from a range 70000-99999. For everyone PID in UTS WEB 6 unique serial number(SN) will assigned. Registration of serial numbers (SN - PID) for UTS WEB 6 you can find  hear

www.UTS2000.com    Back   Help contents   Section contents

 

Set up UTS WEB 6

Download UTS WEB 6 from http://www.uts2000.com/uts2000/d/uts_web_6x.exe and set up this program on your PC. 

All files and folders for UTS WEB will be contained in the folder: C:\Program Files\UTS WEB\Bin\

Files list:

UTS_WEB_6.exe - runtime file

UTS_WEB_6x.ini - configuration file

test_form.htm - test htm page

\Log\... - folder for log files for each PID

www.UTS2000.com    Back   Help contents   Section contents

 

UTS WEB 6 configuration 

UTS WEB configuration parameters is contained in the file UTS_WEB_6x.ini 

Description of UTS_WEB_6x.ini
[UTS_WEB]

// Port number of UTS WEB 6x interface. Use any allowed port.
UTS_WEB_PORT=28000

// UTS NET Server IP address and Port. Default: 212.30.150.66:18000
// For change of this address contact with support@uts2000.com
UTS_NET_SERVER_IP=212.30.150.66
UTS_NET_SERVER_PORT=18000

// DYNAMIC PID
[70213]
SI_COMMAND=SI:123/1234A/51
AIRLINE=UN
LOGFILE=Y
// STATIC PID
[12345]
SI_COMMAND=SI:2222
AIRLINE=UN
LOGFILE=N

Attention !  If dynamic PID (for example 70213) is used for UTS WEB 6, then SI command should be in the extended format (with SITA password): SI:NNNN/PASSWORD/USRLVL.
where

NNNN -  agent number

PASSWORD - SITA PASSWORD for access to Gabriel

USRLVL - user level

 

Built - in in UTS WEB 6 dispatcher, provides parallel performance  set of Gabriel commands through set of PIDs for different airlines The PIDs for any airlines is described in the section [NNNNN] in the configuration file UTS_WEB_6x.ini.

For example:
// DYNAMIC PID
[70213]
SI_COMMAND=SI:123/1234A/51
AIRLINE=UN
LOGFILE=Y

in this section dynamic PID 70213 is described. For sign in to Gabriel system a command SI:123/1234A/51 is used. This command is in extended format (with SITA password). The PID 70213 is UN PID and will use for work with UN airline booking data. All responses from Gabriel system will write to log file  \Log\Log-70213.txt.

Attention ! 

All used PIDs should be registered with serial numbers (SN) in UTS Register and enabled in UTS NET. Procedure of connection to UTS NET is described  hear

You can find serial number (SN) for each PID on the page PIDs and SN Registration  of UTS WEB 6 program. 

 

 

Registration of serial number (SN) and PID for UTS WEB 6 is the same as for UTS Access 6 and described  here. For registration SN-PID it is necessary to be the member of UTS NET network and to have Username/Password for access to UTS NET network. Procedure of connection to UTS NET is described here.

www.UTS2000.com    Back   Help contents   Section contents

 

Starting UTS_WEB_6.exe

Run UTS_WEB_6.exe. Configuration file UTS_WEB_6x.ini  should be in the same folder as executed module UTS_WEB_6.exe 

 

UTS WEB 6 will automatically start all sessions (PIDs) listed in the file UTS_WEB_6x.ini.  These sessions works with Gabriel system.  At each session start or restart, sign in commands SI... (SIGN IN) are automatically executed.

If session will be closed or error will detected, the UTS WEB 6 restart this session automatically.

The trace of all commands you can find in a Trace page from UTS WEB 6 program.

 

 

UTS_ WEB_6.exe can be started as Windows service by using of  SrvAny program.

www.UTS2000.com    Back   Help contents   Section contents

 

Gabriel command request

UTS WEB 6 supports two mode for Gabriel command:

  1. Running of single commands without PIDs context saving.

  2. Running of sequence  commands with context saving for PID after command performance.

 

Running of single commands

If you want to execute Gabriel command as single command, then you can execute this command with any free PID for selected Airline.

For this mode you send following HTTP request to UTS WEB 6 program:

http://212.30.150.66:28000/?gabriel_cmd=AV:MOWLON&ALC=UN&PID=ANY
Request parameters:

212.30.150.66 - IP address of  UTS WEB 6. Demo IP address is 212.30.150.66

28000 - UTS WEB 6 IP port. This port is described in the configuration file UTS_WEB_6x.ini, in the field UTS_WEB_PORT= 28000. You can use any free IP port

gabriel_cmd - key word for Gabriel command

AV:MOWLON - text of Gabriel command

ALC=UN - airline code (UN)

PID=ANY - execute command AV:MOWLON with any free PID for airline UN. 

Attention ! For running of command sequence it is necessary to use dedicated  PID number. In this case, parameters PID= contains PID number. This PID number have to request from UTS WEB by the command  GET_PID.  See Performance of command sequence

After single command execution (request with parameter PID=ANY ) PID will be automatically released for using by other requests. Therefore, PID condition after execution of request with parameter PID=ANY is unknown. And the following request from other WEB-session  can change condition of this PID.

For multi lines commands input use a symbol %13 in gabriel_cmd= parameter of HTTP-request. This symbol separates command lines.

Example: 
http://127.0.0.1:7777/?gabriel_cmd=ZZ%20RDI%13STRING1%13STRING2

www.UTS2000.com    Back   Help contents   Section contents

 

Running of commands sequence 

In some cases it is necessary to execute a some set of Gabriel commands from one PID. For example, at creation PNR it is necessary to execute following commands sequence AV, SD, NM, CT, TK, *. In this case it is important, that PID save the condition (context) after previous command.

For these purposes in UTS WEB 6 the GET/FREE mechanism for PID's number is realized. That is from this PID you can run Gabriel commands chain. If you want to get PID number for exclusive use it is necessary to execute GET_PID request. This request return PID number for using. The FREE_PID request  releases this PID number after commands chain.

 

RUNNING OF COMMANDS CHAIN

For running of  commands chain it is necessary to execute the following request:

1.  http://212.30.150.66:28000/?gabriel_cmd= GET_PID&ALC=UN

GET_PID request is used for reception of free PID number for airline UN. After this you will receive response from UTS WEB:

Example:
VERSION=UTS WEB 6.1.0.114
PID=70000
AIRLINE=UN
ERRORS=NO
ANSWER
USED PID: 70000

Field USED PID:70000 contains assigned PID number. This PID number you have to use in the requests to Gabriel system in the parameter PID=. In this case parameter ALC = (airline code) becomes unessential.

Execute DA Gabriel command for  PID 70000

2.  http://212.30.150.66:28000/?gabriel_cmd= DA&PID=70000  

Execute next command from Gabriel commands chain for  PID 70000

3.  http://212.30.150.66:28000/?gabriel_cmd= AVMOWLON&PID=70000

At finish of your work you have to free PID=70000 by request FREE_PID

4.  http://212.30.150.66:28000/?gabriel_cmd= FREE_PID&PID=70000

If operation is executed successfully, then RELEASED PID: line contains number of released PID 

Example:
VERSION=UTS WEB 6.1.0.114
PID=70000
AIRLINE=UN
ERRORS=NO
ANSWER
RELEASED PID: 70000

Attention ! If PID, received by GET_PID has not been obviously released by request FREE_PID, then given PID cannot be repeatedly assigned by GET_PID request. Therefore, developers should provide means of guaranteed releasing of PID  after performance of necessary commands sequence

www.UTS2000.com    Back   Help contents   Section contents

 

Answer from Gabriel

Answers from Gabriel will be directed from UTS WEB 6 to WEB server through HTTP protocol as plain text. Lines are divided by a symbol $D (#13). Symbol SOE (>) is replaced on <SOE_SYM> symbols.

Example:

VERSION=UTS WEB 6.1.0.114
PID=70000
AIRLINE=UN
ERRORS=NO
ANSWER
NO ROUTINGS 17AUG
1  UN  333 /J5 C5 D5   MO18AUG DMELGW 1020   1115   73G 0 L
            W5 A5 Z2 SC Y9 M9 H9 Q9 B9 K9 L9 V9 T9 N9 X5 GQ UQ
            OQ ES
2  UN  307 /J3 C3 D3   MO18AUG DMEFRA 1230   1400   73G 0 L
            W3 A3 Z2 SC Y9 M9 H9 Q9 B9 K9 L6 VS TS NS XS GQ OQ
            E2
 + BA  905 /J4 C4 D4           FRALHR 1530   1605   32S 0 S
            S4 Y4 B4 H4 M4 N4 K4 V4
<SOE_SYM>
 
 
Header contains following lines:

VERSION=UTS WEB 6.1.0.105 - version of UTS WEB 6


PID=70000
- PID number


AIRLINE=UN
- airline code


ERRORS=NO
- mistakes presence or not (YES/NO)


ANSWER
- answer from Gabriel or from UTS WEB 6

UTS WEB 6 does not parse of Gabriel answers and does not transform to other formats. This problem lays completely on developers of WEB-applications.

www.UTS2000.com    Back   Help contents   Section contents

  

Features of use UTS WEB 6

Parallel performance

If two ore more WEB sessions send request to UTS WEB 6, then for each session separate PID will be used from UTS WEB 6. If free PIDs unavailable (all PIDs is used in this moment), the answer will be received: 

FREE PID NOT FOUND FOR AIRLINE UN

and connection with WEB client will be closed.

For big WEB sites  should be started necessary quantity of PIDs (3-5 and more) which will serve WEB requests.

 
Restart sessions

If error detected (connection closed, session closed etc) then UTS WEB 6 restart session by automatically. You can not send Gabriel command in restart time. If session (PID) is in a  restart mode and you send request from WEB server then you will receive answer:

PID IN RESTART MODE: 70000

and connection with WEB client will be closed.

Also you can send request for restart PID 

http://212.30.150.66:28000/?gabriel_cmd=RESTART_PID&PID=70000

If command is successful you will receive  answer from UTS WEB 6:

VERSION=UTS WEB 6.1.0.105
PID=70000
AIRLINE=UN
ERRORS=NO
ANSWER
PID RESTARTED: 70000
 
Timeout

If session is in active mode but you do not receive answer from Gabriel in 1 minute period, then you will receive answer:

GABRIEL TIMEOUT - PID RESTARTED

and session will be closed. After this, the session will be restarted by automatically.

 

TCP/IP error on Gabriel side

If TCP/IP errors detected on Gabriel side you will receive answer:

TCP/IP ERROR=10053. PID RESTARTED: 70000

and session will be closed. After this, the session will be restarted by automatically.

 

Using UTS WEB 6 in the .NET

For access to UTS WEB 6 from ASP.NET you can use classes: WebClient or HTTPWebRequest.

It is example for access to UTS WEB 6 from ASP.NET (VB) applications:

Dim utsweb As New System.Net.WebClient
Dim myDatabuffer As Byte() = utsweb.DownloadData("http://212.30.150.66:28000/?gabriel_cmd=DA&ALC=UN&PID=ANY")
Dim s As String = System.Text.Encoding.ASCII.GetString(myDatabuffer)
Label1.Text = s
 
Direct access via TCP/IP sockets

You can use TCP/IP sockets for access to UTS WEB 6.

 

Format of request for access to UTS WEB 6 via TCP/IP sockets

For example you want to execute Gabriel DA command. In this case you send following text through TCP/IP socket:

GET /?gabriel_cmd=DA&PID=74321 HTTP/1.1

Where  DA - Gabriel command. 

PID=74321 - PID number.

If you want to get free PID for any airline you have to send following line. 

GET /?gabriel_cmd=GET_PID&ALC=SU HTTP/1.1

 

In answer you receive free PID number for work with Gabriel as commands chain: 
VERSION=UTS WEB 6.1.0.114
PID=70000
AIRLINE=UN
ERRORS=NO
ANSWER
USED PID: 74321

After last command, PID=74321 must be released for using by other requests:

GET /?gabriel_cmd=FREE_PID&PID=74321 HTTP/1.1

 

If request contains PID=ANY, then request will be executed under any free PID for airline ALC SU as example.

GET /?gabriel_cmd=DA&PID=ANY&ALC=SU HTTP/1.1
 

Before "HTTP/1.1" YOU HAVE TO TYPE ONE BLANK SPACE !!!

 

Answer's format when you use TCP/IP sockets

HTTP response contains HTTP header. After header the answer text follows.

HTTP strokes separates by CRLF ( $D$A)

'HTTP/1.1 200 Document Follows'+CRLF+
'Content-Length: NNNNN'+CRLF+
'Content-Type: text/plain'+CRLF+CRLF+
RESPONSE+CRLF+CRLF

RESPONSE is response from UTS WEB 6. Answer lines separates by $D symbol.

NNNNN is length of response.

www.UTS2000.com    Back   Help contents   Section contents

  

Registration and payment

Registration in the UTS NET 6

UTS WEB 6 works with UTS NET network for access to Gabriel system. Therefore, you have to register in the UTS NET network. See. Registration in the UTS NET network

 

Payment

Payment for UTS WEB 6 is the same as for UTS Access program. Everyone UTS WEB 6 PID has unique serial number (SN)

Attention !  In account for payment - quantity of used serial numbers (SN) UTS WEB 6 (quantity PID) should be ADDED to quantity of used serial numbers of UTS Access program. PID for UTS WEB 6  and for UTS Access it is necessary to pay under one account as for total quantity PIDs number.

 

Registration SN-PID

Registration for UTS WEB 6 PIDs  is the same as for PIDs for UTS Access program. UTS Access/UTS WEB registration is described  here.

Attention !  Serial numbers for each PID for UTS WEB 6 program is contained in the  PIDs and SN Registration page. 

 

www.UTS2000.com    Back   Help contents   Section contents