RSOE

The RSOE runs on the same machine as the backend server. Its purpose is to:

When the RSOE starts, it makes an HTTP request to retrieve the list of relay servers running in the farm. This is done using the server URL that maps to the web server extension component of the relay server. The server URL can map directly to a relay server or it can map to a load balancer. If the server URL maps to a load balancer, the load balancer forwards the request to one of the relay servers running in the farm. The relay server that receives the request from the RSOE returns the connection information for all relay servers in the farm. The RSOE then creates two outbound connections, called channels, to each relay server returned. One channel, called the up channel, is created using an HTTP request with an essentially infinite response. The response is a continuous stream of client requests from the relay server to the RSOE. The second channel, called the down channel, is created using an HTTP request with an essentially infinite content length. The request is formed by a continuous stream of server responses to client requests.

When the RSOE receives a client request on the up channel from one of the relay servers it has connected to, it forwards it to the backend server that the RSOE is servicing. Once a response is received from the backend server, it gets forwarded to the relay server from which it received the corresponding request using the down channel.

RSOE syntax
rsoe [option]+
Parameters

Options   The following options can be used to the RSOE. They are all optional.

rsoe options Description
-f farm

The name of the farm that the backend server belongs to.

-id id

The name assigned to the backend server.

-cs "connection-string"

The host and port used to connect to the backend server. The default is “host=127.0.0.1;port=80”.

-cr "connection-string"

The relay server connection string. The format of the relay server connection string is a semicolon separated list of name-value pairs. The name-value pairs consist of the following:

  • host   IP address or hostname of the relay server.

  • port   The port the relay server is listening on. This is required.

  • url_suffix   URL path to the server extension of the relay server.

    The default for Windows is /ias_relay_server/server/rs_server.dll

    The default for Linux is /srv/iarelayserver

  • https   0 - HTTP (default)

    1 - HTTPS

For https=1, the following options can also be specified:

  • Name   Value

  • tls_type   RSA

  • certificate_name   Common name field of the certificate.

  • certificate_company   Organization name field of the certificate.

  • certificate_unit   Organization unit field of the certificate.

  • trusted_certificates   File containing a list of trusted root certificates.

-t token

The security token to be passed to the relay server.

-v level

Set the verbosity level to use for logging. The level can be 0, 1, 2, 3, 4, or 5:

  • 0   Log errors only. Use this logging level for deployment.

  • 1   Session level logging. This is a higher level view of a synchronization session.

  • 2   Request level logging. Provides a more detailed view of HTTP requests within a synchronization session.

  • 3   Relay server packet level logging. Provides a detailed log of packet exchanges between the relay server and the RSOE process.

  • 4   Debug level logging. Provides the most detailed logging. Use for debugging. For example, in RSOE this level generates logs for session search and garbage collection task.

  • 5   Transport level logging. Provides a hex dump of HTTP request bytes (including data) into the log.

-d seconds

The relay server connection retry interval. The default is 5 seconds.

-s

Stop the RSOE.

The RSOE may also be set up and maintained as a Windows service using the SQL Anywhere Service Utility. See Service utility (dbsvc) for Windows.