04.12.2012 Views

Windchill System Administrator's Guide

Windchill System Administrator's Guide

Windchill System Administrator's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The <strong>Windchill</strong> server manager is responsible for guaranteeing that background<br />

processing takes place. The implementation of processing queues and triggering<br />

mechanisms actually resides in the <strong>Windchill</strong> method servers. The server manager<br />

is simply responsible for keeping an instance of the method server running so that<br />

background processing can take place.<br />

As described in the chapter entitled Administering Runtime Services, your<br />

environment can be configured such that there are multiple method servers, one of<br />

which is dedicated to running background processing queues.<br />

For more information about queue configuration and maintenance, see<br />

Configuring and Administering Background Queues.<br />

Session Credentials and Properties<br />

<strong>Windchill</strong> leverages the user authentication capability of the HTTP server.<br />

However, the vast majority of client requests do not come through the HTTP<br />

server, but instead come directly from the client through Java RMI. This requires<br />

a place to cache the HTTP authenticated user names so they can be securely<br />

associated with subsequent RMI calls. Because the server manager represents a<br />

daemon process that outlives individual method server processes, that place is<br />

within the server manager VM.<br />

As discussed previously, when clients need valid credentials, <strong>Windchill</strong> is<br />

uninvolved until after the HTTP server allows access to a protected <strong>Windchill</strong><br />

HTTP gateway. The gateway then passes the authenticated HTTP request to a<br />

method server for processing. The method server processes the request for<br />

credentials by storing the authenticated user name and associated session<br />

properties (passed on the request) with a session manager that runs in the server<br />

manager VM.<br />

Live connections are not used to maintain the session database within the server<br />

manager. To reduce resource consumption, credentials are validated by the<br />

method server, even though the client is disconnected from the server manager.<br />

Rather than live connections, a limited size, most-recently-used caching algorithm<br />

is used. In the event a client is still alive after its session credentials have been<br />

aged out, automatic exception handling transparently reestablishes the credentials.<br />

Client Time-Out and Connection Limits<br />

Scalability demands that individual clients do not consume significant server<br />

resources indefinitely. A large number of infrequent users should not require that<br />

the system is hosted on super-server hardware. Server host sizing should be a<br />

function of transaction throughput, not of user count.<br />

The Java I/O model, in particular the Java RMI implementation, dedicates at least<br />

one thread to each network connection. To make this scalable to large number of<br />

users, <strong>Windchill</strong> implements two mechanisms to free network connections and<br />

threads. The first is to time out connections that remain idle for a specified period<br />

of time. The second is to limit the total number of client sockets the RMI runtime<br />

is allowed to consume. This limit is enforced by closing the least-recently-used<br />

<strong>Windchill</strong> Runtime Environment A-13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!