Independent Computing Architecture
Independent Computing Architecture (ICA) ist ein Protokoll für ein Application-Server-System, das von Citrix Systems entwickelt wurde. Das Protokoll legt eine Spezifikation fest um Daten zwischen Server und Clients zu übertragen, ist aber an keine bestimmte Plattform gebunden.
Zu den ICA-konformen Anwendungsprodukten gehören Citrix' WinFrame- und MetaFrame-Produkte. Diese ermöglichen es, gewöhnliche Windows-Programme auf einem geeigneten Windows-Server laufen zu lassen, und mit jedem unterstützten Client auf diese Anwendungen zuzugreifen. Die Client-Plattform braucht nicht unter Windows zu laufen, es gibt Clients beispielsweise für Macintosh und Unix.
ICA ist in groben Zügen ähnlich zu Window-Servern wie X-Windows, hat aber ein breiteres Anwendungsspektrum: es sorgt auch für die Rückübertragung von Benutzer-Eingaben vom Client zum Server, und eine Vielzahl von Mitteln für den Server, um graphische Ausgaben von der laufenden Anwendung zum Client zu übertragen. Eine der wesentlichen Herausforderunden für eine derartige Architektur ist die Performance. Eine graphikintensive Anwendung (was bei den meisten über ein GUI präsentierten Anwendungen der Fall ist), die über eine langsame Netzwerkverbindung zur Verfügung gestellt wird, stellt hohe Ansprüche an Kompression und Optimierung, damit die Anwendung für den Client benutzbar ist. (Da der Client keine Windows-Plattform zu sein braucht, muß er nicht die Windows-GUI-Routinen lokal verfügbar haben; der Server muß in diesem Fall die Bitmap-Daten über die Netzwerkverbindung übertragen.) Heutzutage sind diese Herausforderungen nur zum Teil gemeistert worden. Dies mag der Grund dafür sein, daß der oftmals vorhergesagte Übergang zum Application-Server-Modell über das Internet nicht stattgefunden hat.