We all know the prerequisites for installing Citrix Xenapp(any version). But if anyone asks us WHY they are considered as prerequisites, why they are important to Citrix? Most of us dont have answer(including me). Hence I am going to explain some of the important prerequisites here:
If we are talking about prerequisites only 3 major roles comes into picture as stated below:
- Terminal Services(Remote Desktop Services).
- Web Server(IIS).
- Application Server.
Of course yes, there are some other things need to be installed along with these 3 roles like .net 3.5 SP1, Visual C++ binaries, Database etc etc, but as these 3 are most important lets discuss about these 3 now.
ICA Client uses Terminal Services(RDP) features to connect to applications(applications or server desktops). And so, Terminal Services(Remote Desktop Services) is a prerequisite for citrix.
IIS is used for WebInterface. As we have xenapp site option, and to access the site, we need IIS to be installed. Web Interface requires dotnet 3.5 and Visual J# 2.0 as prerequisite.
Why is application server a prerequisite for Citrix? For this, we first need to know what an application server is..
- An application server is a server that is designed for or dedicated to running specific applications. At its most basic, it might be used to run one application. If that application is the one that keeps a company network going and is, therefore, a massive application, it might take up the entire RAM and ROM requirement of one server.
- Another possibility is that a server is used to run certain kinds of applications. For example, a company might have several word processing, spreadsheet, or desktop publishing programs, and all of those applications might reside on one type of server. Everyone who needs to access those programs would then log on to the Desktop Publishing Server, for example, to use whatever design program that the company might recommend and have on hand.
Application Server is an expanded server role in the Windows Server 2008 operating system. The new version of Application Server provides an integrated environment for deploying and running custom, server-based business applications. These applications respond to requests that arrive over the network from remote client computers or from other applications. Typically, applications that are deployed and run on Application Server take advantage of one or more of the following:
- Internet Information Services (IIS) (the Hypertext Transfer Protocol (HTTP) server that is built into Windows Server)
- Microsoft® .NET Framework versions 3.0 and 2.0. (If you have applications that are built with the .NET Framework 3.5, you can download and install the .NET Framework 3.5 onto the operating system.)
- Message Queuing
- Web services that are built with Windows Communication Foundation (WCF)
- Distributed transaction management
- Asynchronous program communication, typically through message queuing
- Automatic XML Web Service interfaces to access business objects
- Integrated security
And as citrix is based on the same procedure where, a client requests for a software remotely and the software is provided as per the need. Here we can also see COM+ installed.
In order for Microsoft to provide developers with support for distributed transactions, resource pooling, disconnected applications, event publication and subscription, better memory and processor (thread) management, as well as to position Windows as an alternative to other enterprise-level operating systems, Microsoft introduced a technology called Microsoft Transaction Server (MTS) on Windows NT 4.
With Windows 2000, that significant extension to COM was incorporated into the operating system (as opposed to the series of external tools provided by MTS) and renamed COM+.
In general words, COM+ is used for accessing the interfaces remotely. For ex: accessing a citrix farm from different machine.
An advantage of COM+ was that it could be run in “component farms”. Instances of a component, if coded properly, could be pooled and reused by new calls to its initializing routine without unloading it from memory. Components could also be distributed (called from another machine).
Asp.net is for license management console. Visual C++ is for xenapp advanced configuration wizard.