Independent Computing Architecture
From Wikipedia, the free encyclopedia
Independent Computing Architecture (ICA) is a proprietary protocol for an application server system, designed by Citrix Systems. The protocol lays down a specification for passing data between server and clients, but is not bound to any one platform.
Practical products conforming to ICA are Citrix's WinFrame and Citrix Presentation Server (formerly called Metaframe) products. These permit ordinary Windows applications to be run on a suitable Windows server, and for any supported client to gain access to those applications. The client platforms need not run Windows; for example, there are clients for Mac , Unix, Linux, and various Smartphones.
ICA is broadly similar in purpose to window servers such as the X Window System. It also provides for the feedback of user input from the client to the server, and a variety of means for the server to send graphical output from the running application to the client.
A key challenge of such an architecture is performance - a graphically intensive application (as most are when presented using a GUI) being served over a slow network connection requires considerable compression and optimization to render the application usable by the client. The client machine may be a different platform, and may not have Windows GUI routines available locally - in this case the server must send the actual bitmap data over the connection. To date, such challenges have only been met with partial success, which may be why the widely predicted switch to an application server model over the internet has not occurred.