Frequently asked questions about Pro Client/Server
Associated product(s): Product name: Pro
Views: 6700 | Created: 6 years ago | Last updated: 6 years ago
This document will cover frequently asked questions about QAS Pro Client/Server.
Where you either want or require the advantages associated with the Client/Server solution. Namely: reduced network traffic, centralised data and configuration control and lower client machine system requirements.
Ensure that the server has permission to access the product and data directories. Directories on NTFS volumes can have a variety of file access permissions.
By default the server is set up as a standard system account. If this account does not have sufficient access privileges then you must either create a new account for the server, or else change the server’s login account to an existing user account which does have suitable rights. This procedure is described in the manual. As a general rule ensure that the person trying to start the service has Administrator privileges on the NT box.
Ensure that the ServerAddress setting in qawserve.ini is valid and that a valid port has been selected and is not being used by another process.
When the server starts up it does not open any data files, these are only opened as clients connect. The server is able to start in this manner so that the system administrator can dynamically configure the server. If the clients can’t open the data then ensure that data files are in the directories pointed to by the InstalledCountries or InstalledData configuration setting in qawserve.ini.
If the port specified to the client is incorrect the client will fail with the message ‘Unable to connect to server’.
How do I check whether or not a port has been chosen correctly during the Pro Server set up? Is there any checking by the Install program to verify the validity of the port selected?
Certain ports are reserved for common services, such as FTP. You should avoid using those ports unless you are providing that kind of service. The Windows Sockets specification details these reserved ports. The file WINSOCK.H also lists them. We don’t check the validity of the port and trust the system administrator’s ability to select a port in the range 1024 to 65535 that is not in use.
The administrator console itself generates traffic and it is this traffic that is being displayed. We recommend that the console is only utilised when necessary and is not left attached to the server permanently as this will have an affect on server performance, however slight.
Are there any server request logging facilities available with Pro Server? e.g. client IP address, requested searches, dates & times etc.
There is no logging facility beyond the normal error logging that is present in other QAS products. We do not recommend that error logging be switched on as the default in the server as again this can impact performance.
Is the Pro Server program a generic server program so that future Client/Server products can be run off the same server program?
This release of client/server will only offer Pro functionality and it is anticipated that this will remain the case for the foreseeable future. In addition, the clients must be the same version number as the server.
Can users remotely configure the server from a workstation? If so does this include the ability to remotely administer clients from Windows 95/98/XP just like Windows NT Server?
Yes. The server is configured using the Administrator Console and Config programs. These programs can connect to any servers that are listed in their qaworld.ini files and will run on Win9x or NT operating systems.
Could a Pro client seamlessly switch from an NT server to a UNIX server (when available) running Pro Server in the event that the NT Server went down?
Yes, it doesn’t matter what operating system the clients and server are on as long as they are running compatible sockets implementations.
What is the maximum number of concurrent searches possible on Pro Server? Assuming there is a limit to the number of threads that can be handled at any point in time, how are the requests to the server prioritised?
There is no prioritisation of requests at the server. Incoming transactions are dealt with on a purely rotational basis and carry equal importance. In theory there is no limit to the number of concurrent searches on the server (save that of the number of clients connected at that time). However the server can only deal with n transactions simultaneously, where n is the number of transaction threads.
When using the typedown searching mechanism are worker threads allocated to each search fired (each individual letter typed in) to the API ? If so is this not demanding of the server when you have multiple clients on a network using typedown because one client could theoretically have 10 worker threads working on one search.
There is an important distinction to be made between searches and transactions. Any search will be made up of multiple transactions, be they stepping into picklist items or narrowing down a set of results based on the input to typedown. Whilst there is some complexity of coding in managing these worker threads this approach is a common one and carries no significantly greater overhead than other approaches. It may well be that 10 different threads service any one search’s transactions however it won’t be 10 simultaneously. Also a search is not sent in for each letter typed in.
What is the maximum theoretical number of clients that could attach to a server running Pro Server?
The server is limited to 999 clients. There may be performance issues as the number of clients increases.
Is the Pro Server able to function on network protocols other than TCP/IP?
No, TCP/IP is the only supported protocol.
The client has been tested in both UI and API form on a Pentium-90 with 32 MB of RAM, running NT 4.0, and found to be more than adequate. The UI was tested ‘anecdotally’ and found to be similarly responsive. Hence a suggested absolute minimum spec would be a P90 with 16 Mb of RAM, although it will run on lesser spec machines.
If a server has limited resources what settings should be chosen to have the minimum impact on the server, hard disk, Server RAM and Network Load?
If a server has limited resources then the only thing that the administrator can realistically do is limit the number of clients that can connect to the server. They could also reduce the number of worker threads via the Admin Console which will reduce the load on the server machine but will affect search times. There are no hard and fast rules for the settings and these will depend on the machine and the duty cycle of connected clients, hence there may be an element of trial and error tuning necessary on sites who find the default setup unsatisfactory.
How do you install data updates on to servers? Can you update multiple servers (e.g. secondary servers) all at one time?
Data updates come on CD with the Data Installer: run the setup.exe program and it will guide you through the process. You select the product you want to update the data for: in fact, it selects the qawserve.ini file it will use. The destination it proposes cannot be changed when updating data for Server. It only works with one qawserve.ini at a time, so you must individually update data for each Server you have.
If you install quarterly data for one country on the server will all of the data files for the other countries need to be updated?
No, the data files for each country are considered separately. The only files which need to be in sync are country datafiles (e.g. gbr.dts, gbr.tpx, gbr.zlb, gbr.zlx) and any DataPlus files for a particular country.
How far can you rollback data on the server?
Data can only be rolled back to any dataset installed for that country on the server. However, some older data may well have expired.
How do you configure a secondary server correctly so that it takes over seamlessly should the primary server fail?
The Config tool will automatically update the qawserve.ini files of all servers that are listed in its qaworld.ini file. Thus to ensure that a switch over occurs seamlessly the administrator must simply ensure that all servers which are required to be the same are listed in the ini file for Config and that the same addresses are in the qaworld.ini file for the clients.
How do I change from Pro Client mode back to standalone mode?
Firstly open the qaworld.ini file in notepad or a similar editor. Place a semi-colon in front of the ServerAddress configuration setting, or delete the information to the right of the equals sign (the format to reinstate the address is QATCPIP: machine name/IP address : port number). The client must also have access to a valid qawserve.ini file, i.e. one with valid layouts and InstalledCountries/InstalledData settings. The client will look in the program directory and then in the parent directory for such a file. Pro will then be able to operate in standalone mode.
Where are the configuration parameters for the client (UI) read from?
Some settings are read from the qaworld.ini file, some from the server’s qawserve.ini file. The config program hides this fact from the user. For more information see the Technical Specification for Client/Server World Version.
The server is configured using the Administrator Console and the Config tool. There is no restriction imposed by QAS as to who may use these tools – although we recommend restricted access rights are applied to the directory. The tools are supplied on the WIN32 platforms and can connect to UNIX (when available) and NT Pro WV Servers.
What is the COMMS layer?
This is a library which is built into all World (V4+) products and enables us to work in both a standalone mode and client/server mode. This layer of code handles the transfer of messages between client and server components and the allocation of work to the server components.
How easy will it be to upgrade to Pro Client/Server across a network that has fully implemented QAS into their systems? Will there be one application program to roll out the software to all the servers and their clients?
Customers will need to run the Server install for each server, and install the Pro client once to a shared network location, then run the Pro NetSetup program on each client machine. This can either be done manually (request each user to run a particular shortcut) or using an SMS-like management tool. It can run as a silent installation.