What's the most managable (reliability, backup-able, scalable, simple) client configuration for HMI/SCADA applications? There certainly isn't one best answer!
I'm going to list some options and techniques. Feel free to comment if you use such an approach or what you think about strengths/weaknesses. The options are not mutually exclusive!
My #1 would be a pure generated HTML approach. This is a no brainer because every computer on the network has a web browser - how hard is that to support? However, nobody has a fast, robust, and secure fully functional AJAX or otherwise based HMI package, so we're not going to count this.
2. "Appliance" devices such as Panelview, PV+ or competitors devices. I think we all know the strengths/weaknesses of this.
3. Terminal services or other "thin client" approach. I can't imagine admining my Windows servers without this! Very cool and easy from the client side - heavy to scale on the server side for multimedia rich applications.
4. Distributed thick client. Have to install and upgrade manually, but you have the advantage of being powerful on the client side. I give these thumbs up in a few cases, but more often thumbs down for the inherent de-centralized administration especially for scalability.
5. Thin client web based application. Choose your poison: Java, ActiveX, flash, or custom browser plugin. Best of both worlds in my opinion (client side feature rich and easy to install/upgrade/support). Some might argue that they're mediocre at both - not good enough graphics and not as simple as pure HTML. They tend to be universally compatible, although sometimes virtual machine/plugin versions need to be dealt with.
6. Virtualization with VMWare or something similar. You might consider this to be in the same category as #3. A computer lab that I visited ran Linux and VMWare to virtualize Windows. It was pretty cool because users could download viruses or whatever and the machines would automatically be re-imaged periodically. Their high end virtual networks seem like a really cool up and coming idea!
7. Use a simple pre-canned Linux build or something similar to turn a PC into an appliance. Using Windows XP embedded would be another example of this. As a pet project I want to make a build of Morphix, which is a pluggable version of Knoppix, that's a boot CD for HMI clients. In my case the user would boot any computer from the CD, the first time it would prompt them for the server IP address, then it'd just boot into a dedicated full screen HMI terminal. Has anyone done anything like this for a non-OEM application? It's really a fun idea.
I'm going to list some options and techniques. Feel free to comment if you use such an approach or what you think about strengths/weaknesses. The options are not mutually exclusive!
My #1 would be a pure generated HTML approach. This is a no brainer because every computer on the network has a web browser - how hard is that to support? However, nobody has a fast, robust, and secure fully functional AJAX or otherwise based HMI package, so we're not going to count this.
2. "Appliance" devices such as Panelview, PV+ or competitors devices. I think we all know the strengths/weaknesses of this.
3. Terminal services or other "thin client" approach. I can't imagine admining my Windows servers without this! Very cool and easy from the client side - heavy to scale on the server side for multimedia rich applications.
4. Distributed thick client. Have to install and upgrade manually, but you have the advantage of being powerful on the client side. I give these thumbs up in a few cases, but more often thumbs down for the inherent de-centralized administration especially for scalability.
5. Thin client web based application. Choose your poison: Java, ActiveX, flash, or custom browser plugin. Best of both worlds in my opinion (client side feature rich and easy to install/upgrade/support). Some might argue that they're mediocre at both - not good enough graphics and not as simple as pure HTML. They tend to be universally compatible, although sometimes virtual machine/plugin versions need to be dealt with.
6. Virtualization with VMWare or something similar. You might consider this to be in the same category as #3. A computer lab that I visited ran Linux and VMWare to virtualize Windows. It was pretty cool because users could download viruses or whatever and the machines would automatically be re-imaged periodically. Their high end virtual networks seem like a really cool up and coming idea!
7. Use a simple pre-canned Linux build or something similar to turn a PC into an appliance. Using Windows XP embedded would be another example of this. As a pet project I want to make a build of Morphix, which is a pluggable version of Knoppix, that's a boot CD for HMI clients. In my case the user would boot any computer from the CD, the first time it would prompt them for the server IP address, then it'd just boot into a dedicated full screen HMI terminal. Has anyone done anything like this for a non-OEM application? It's really a fun idea.