Welcome to the CSSClient2 Application Users Guide!
Once you’ve become familiar with the application’s environment, you can refer to the User’s Guide for complete in-depth information, or you can use it to remind you of specific ways of performing day to day tasks.
The User’s Guide contains information on the operation of the application and its use from a user’s standpoint.
This application differs from the ‘normal’ client/server application in that it uses Internet technology, also referred to as thin client architecture, send http messages to the server rather than large pieces of data.
Thin Client Computing
“Thin Client” computing has become the vision of the future for distributing application software to user’s desktops. “Thin Client” refers to a small, self-contained program that resides on the user’s (client) computer that displays screens and processes only keyboard and screen input. It is directly linked to the “real” program that is running at a remote location....on a powerful server. The two programs operate by exchanging information. The client tells the server what mouse and keyboard actions the user has performed. The server tells the client what to display to the user.
This type of software design has many advantages over the early method of software distribution and usage:
• The software and data are installed just once on a centralized server.
• There are no large installation tasks on the client system…just a simple single file executable program.
• The database is held on a high speed, secure file server with a quality backup plan in place.
• When updates are released there is no distribution; only the server files need to be changed.
• The program is available from many locations available to the user.
• No need to manage multiple installations and mirrored databases.
• Access to the software can be easily controlled, both at startup and at the lowest procedure access level.
• In any company, configuration and management strategies for departmental usage are trivialized and client hardware requirements are vastly simplified.
There are many more advantages that come to light when a specific business model or need is analyzed. Uses from application hosting/rental, WAN program distribution, and support for field personnel are all within the realm of what a thin client offers.
Client Application
You will start the application by clicking on an icon on your desktop which will start the client side of the application. This program calls the server side of the application and establishes the communication between the two.
Once this communication is established you will be able to operate the program like another application just as if it were setting on your local hard drive.
Architecture
For a thin client deployment there are actually two different executables programs
1) One is the “Server” application which “is” the program containing the full functionality. These are the EXE and DLL files that can run as a standalone desktop application -or- can reside and run on a server running either Microsoft Internet Information Server or the Application Broker. This executable communicates with the database, gathers data for all displayed windows, takes care of updates, and formats the reports. The only thing it doesn’t do is display on the server console when running as a thin client application.
2) The second program is the “Client” application which is also a Windows executable program. This program contains no logic except the thin client remote User Interface system. As a Windows program it has full access to normal Windows controls and resources such as local printers. When the client application is started it contacts the server via HTTP protocol and requests that the server run a particular application. The server then starts a new “instance” of the program and provides the client with an identifier so that it can be uniquely identified for future communication with the same instance of the server application. The server application will send the client encrypted, compressed data that tells it the full structure of all windows to display and what data to display in the controls. The client is simply an intelligent assistant that receives instructions from the server to render and manage a user interface. The user operates the program as presented by the client EXACTLY as they would be running the program locally. The thin client and server subsystems handle all user interactions and window updates throughout the session and for all aspects of the application running on the server.
Once the application instance on the server is started and it opens a window, the Client then opens an identical window and controls. To the end user it appears that a normal Windows program executes...the only difference being a small green/yellow/red “LED” control on the title bar which indicates when the client is communicating with the server.
Typically when a new window is displayed, the client and server exchange between 1,000 to 9,000 bytes of data. Thereafter only instructions to update data are exchanged, usually less than one kilobyte per exchange (and most of the time less than 200 bytes!). This application does not use constant communication streams like other remote client products, helping to keep bandwidth requirements down and server activity to a minimum. This small communications overhead results in a snappy and fast interface for the end user. The client application itself is a one-time download of a single EXE file of as little as 500KB, and may be used for as many sessions or applications as the end user has access to.
If the user selects to print a report, the report is formatted and created as a WMF file on the server and sent to the client application. The client application then displays a preview and prints the metafile to the local printer. This means the exact report that is designed for the application is what the client gets....a superior solution to browser-based report layout capabilities.
As the client continues to open windows, manipulate controls, or create reports, these actions are executed on the server. Encrypted and compressed communications convey the results to the end user and send new data or commands back to the server.
When the end user shuts down the application, both the client program and the instance on the server are terminated. If the end user loses a connection, the server application is terminated when it reaches a timeout value set by the developer.