ICA and thin-client technology provide web application publishing
Administrators easily overlook the benefits of application launching and embedding. ALE lets you run Windows NT Server 4.0, Terminal Server Edition (with the Citrix MetaFrame add-on) or Citrix WinFrame 1.7 applications from an Independent Computing Architecture (ICA)-enabled Web browser via the Internet or corporate intranets. ALE has potential as a viable alternative to costly Java rewrites of Web-bound Windows applications, so the more IS directors learn about ALE, the more they'll sing its praises. In this article, we'll help you understand ALE, guide you through its implementation, and offer solutions to some limitations inherent in the current ICA Web clients. For more information about how you can use ALE, see the sidebar "Put ALE to Work," page 94.
Several ICA Web clients are available for Windows, UNIX, Macintosh, and Java platforms. This article will focus on the most common Windows-based ICA Web clients, Netscape Navigator 3.0 or later with the WinFrame Web Client plugin and Microsoft Internet Explorer (IE) 3.0, which uses an ActiveX control to enable ALE. For more information about how to install the ICA Web client, see the sidebar "Installing the ICA Web Client," page 95. We will mention the ICA Java client's main features and limitations, but exploring the many Java client implementations is beyond the scope of this article. ALE uses a simple process to activate an ICA connection to an application, whether the browser that you use to request the application is IE, Navigator, or a Java applet running from a Web browser that isn't ICA-compliant. When a user clicks an ALE hyperlink on a Web page that references an ICA application, the ICA file in turn directs the user request to a designated Terminal Server (with MetaFrame) system or WinFrame server for execution. (We provide more information about ICA applications and files later.)
WinFrame and MetaFrame provide a Win32 ICA client, which uses the WinFrame Win32 Client Remote Application Manager utility. The ICA Web client provides a subset of the Win32 ICA client capabilities. This article will also address the additional features that the Win32 ICA client offers that the ICA Web client doesn't support.
Launching and Embedding Applications
The thin-client application server can run the ICA application in two ways: as a launched application or as an embedded application. To decide between launching and embedding your application, consider the behavior of each option. A launched application produces a browser-independent window and appears to run on the client's local desktop. You can close the browser or browse another site while running the application without affecting the running Web-enabled application. You use the application's ICA file to control features of the launched application window such as screen size, color density, and seamless windows.
An embedded application runs in the browser's window, and the application depends on the Web browser's presence. An embedded application closes with the browser. Loading another Web page closes both a user's connection to the ICA server and the embedded application. When users scroll the page up or down on a browser Web page, the embedded application window will scroll with the page.
The ICA File
The ICA file is a text file that includes the parameters necessary for defining an ICA connection to an application server. Listing 1 shows sample ICA code. After you understand the ICA file format, you can create ICA files using any text editor. However, tools that facilitate the creation of ICA files come with MetaFrame and WinFrame.
The Application Configuration utility (a standard utility on WinFrame and MetaFrame servers) includes a Write ICA File option. After selecting the application you want to publish using ALE, you choose the Write ICA File option on the Application drop-down menu to define four ALE parameters: window size (an absolute size in pixels or a percentage of the client display resolution), color density (16 or 256 colors), encryption level (the basic encryption level is sufficient for intranet applications, but we recommend a higher level for Internet access), and the directory in which ALE writes the ICA file. For more information about how to use the Application Configuration utility, see the sidebar "Application Configuration, Step by Step," page 98. After you create an ICA file, you must load the file on your Web server to make it available for Web client downloads.
Citrix's ICA File Editor offers a GUI for creating and editing ICA files. You can install this 32-bit utility on any Windows 95 or NT system from disks you create by using Client Disk Creator, which you find under the MetaFrame Tools menu of a Terminal Server (with MetaFrame) system or the Administrative Tools menu of a WinFrame 1.7 server.
Win32 ICA Clients
Although the Application Configuration utility writes a functional ICA file for Web clients, Citrix's Win32 ICA client offers additional features. ICA Web clients don't support seamless windows for embedded applications, or client LPT-port and COM-port mapping. However, you can use the ICA file format to exploit these features on Win32 ICA clients.
LPT-port and COM-port mapping, which aren't available to ICA Web clients, are inherent in the Win32 ICA client and available to users running a session via a Win32 client. Win32 ICA clients can also run seamless windows for launched applications. Listing 2 shows code that will launch the Calculator application in a seamless window. The TWIMode=On command line and the ScreenPercent=100 setting tell the ICA file to launch a published application in a seamless window. (Transparent Windows InterfaceTWIwas the original name of the seamless windows interface technology.)
Despite the Win32 ICA client's LPT-port and COM-port mapping and seamless window functionality, using an ICA file to launch ICA connections on the Win32 client has some limitations. Advanced client features such as sound support, persistent bitmap caching, and keyboard and mouse event queuing aren't available through an ICA file.