Zero Client Architecture: An introduction

Before Zero Client Architecture What happened to automation?

Without Zero Client Architecture (ZCA), the life of a system administrator is anything but a breeze. A new application arrives, you load it on the server, now you lug a CD around the paddock to every PC in the factory and rant and fume while you load it. So time consuming, so exasperating and every PC seemed to be able to generate a quirk of its own. So now everything is loaded and the job is out of the way, right? WRONG. Expect phone calls, usually just when you are about to go home from one of your favorite users…. “My computer is doing something strange again!” Sure, various schemes have come to try to rescue the situation, by automating the loading remotely, by being able to log in to the remote system via the network etc. but basically one feels that the solutions never really addressed the base problem! Well Zero Client Architecture does exactly that!

Enter Zero Client Architecture – Getting a life!

Imagine….you load a program on the server and you then happily (and with a great big smile on your face), just walk away. That’s it! Your job is done!

Wait a minute, what about all those hundreds of client computers you have to load and commission. You know the ones with the little quirks that are situated all over the paddock?? “Do they have a browser” you say. Well Yes. “Well then they are already up and running with the new application and I don’t have to touch them!”

The Technology behind Zero Client Architecture

Let’s learn a little more about this magical phenomena.

Any application that is connected to a server and communicates with client machines has some basic characteristics that will determine how close we can come to a zero client architecture. Have a look at the diagram on the right. Depending on the required degree of interaction of the application, you the zero client architect must use all your skills to minimize three things: (i) the server loading, (ii) the size of the initial download of the application and (iii) the amount of information that is constantly being downloaded when the application is running.

Of course, you could use a brute force method like running a complete PC emulator in the server but essentially, we have just transferred the issue to the server machine and our server must be a brute to handle this brute solution! No, the technology of today and tomorrow offers us more elegant solutions than this.

Zero Client Architecture in Practice

Let’s look at three different kinds of application and see how the Zero Client Architecture meets the challenge.

If our application requires users to simply browse information that is static (or rarely changed), then we can achieve true ZCA by simply creating a hierarchy of html screens that we periodically update! No problem.

Next we look at the same requirement but now we have screens that can be made up from normal html elements such as pull down combos, text boxes, tables etc. Here we can either use a local program which is downloaded or we can start to think about generating the page on the fly from the server. It is still html, but the html is generated by a program running in asp or one of the modern scripting languages such as java or python etc. Minimal server loading, Zero download and minimal live information to be sent to the application. We have had to learn something new but the solution is elegant, clean, maintainable and responsive! Well done!

Now the biggie. Let’s say there is some graphic interaction such as a chart or animation that cannot be created using standard html. Now we have no option but to use a resident program of some description in the client computer. Here is where the “Zero client” ideal becomes a challenge.

One option is to use a VB solution or even a java applet. Technically, we are still using the Intranet to see the information, but we have lost most of the ZCA benefits. I.e. we must still download a relatively large program that must be registered and certified, and it still requires a non-trivial installation on every client on the network and you will find those quirks!

Alternatively, you could create your application to run on the server using something like Java or Python and use a plug in for the Browser like Adobe Scalable Vector Graphic (SVG) plug-in. (A small, trivial, once-only download.) This requires you to learn still more but the applications are now very ZCA. No download, tiny live information traffic, amazing interactivity, minimal maintenance. The ultimate in ZCA!

Using this new technology, the future will bring a whole new suite of applications that will blow your mind (and give back your systems administrator’s life!)

No prizes for guessing what applications we are working on right now at St James Software!

Tags: ,

Leave a Reply