X-Machine offers two communication methods:
Native TCP/IP;
XTS (Extended Transport System).
XTS uses TCP/IP also, so in fact all communication with the X-Machine occurs via TCP/IP. Each active database listens on one or two ports (XML port and/or XML XTS port).
The desired communication methods are specified via the database
property communication method
(see the table
"Server properties" in the Tamino Manager documentation,
section Create a
Database).
Communication is stateless: a client issues a request and receives a reply. A physical connection between client and X-Machine lasts only for the duration of a request.
This method is only supported for web servers and for the Tamino Data Loader. Programs that use the "webserverless" option of the Java or C API communicate via XTS (see below).
The X-Machine listens for incoming requests on the port (called the
X-Machine port) that is specified via the database property
XML port
(see table "Port properties"
in the Tamino Manager documentation, section
Create a
Database). The port number is assigned when the database
is created. The client must know the hostname or IP address of the machine
where the database server is running and the number of the XML port. The
database name is not used for routing purposes.
This method is supported for all clients: web servers, the Tamino Data Loader and programs that use the "webserverless" option of the Java or C API.
The X-Machine listens for incoming requests on the port (called the
XML XTS port) that is specified via the database property
XML XTS port
(see table "Port
properties" in the Tamino Manager documentation, section
Create a
Database). If the property is not specified, the server
picks a port when it is started. A typical use case where a port needs to be
specified is when client and database are on opposite sides of a firewall, so
that a port must be opened there. Clients do not have to know this port number.
They do not have to know the hostname of the machine where the database server
is running either. Routing of requests uses only the database name.
A database name is resolved to an IP address and port number via a
directory server. The database registers itself with the directory server at
startup and deregisters at shutdown. A client retrieves the address of the
database from the directory server. Client and database have to use the same
directory server to be able to communicate. Please note that neither the
database nor the client is able to select the directory server to be used. For
each machine where client or server components of
Tamino are installed, a default directory server is
defined (see the entries SAGXTSDShost
and
SAGXTSDSport
in the configuration file
hosts). The default directory server can be overridden
using the environment variable XTSDSURL
.
The following database server properties are also relevant for working with XTS (see the table "Server properties" in the Tamino Manager documentation, section Create a Database):
Property Name | Meaning |
---|---|
overwrite XTS
registration |
If a database with the given name is already registered in the directory server, its registry entry is overwritten. |
server host
name |
The hostname that can be optionally entered into the directory server at server startup. |