home‎ > ‎



 Basic Overview:

What is Citrix XenApp? XenApp is an application that works on top of what we call TS or Terminal Services to extend the TS functionality.

What is a Terminal Server? Essential a terminal server is a service that allows for multiple/simultaneous users to connect to a centralized server and run applications.

What is ICA? ICA or Citrix Independent Computing Architecture is a very thin/light protocol that is used by XenApp that was developed by Citrix. The ICA protocol operates at the Presentation layer of the OSI model. We will cover the ICA protocol in more detail in Part 2 of this series.

What is IMA? Independent Management Architecture is a protocol that is used for Server-to-Server communication to keep track of licensing, load on the servers, user connections, etc.

Four Editions of XenApp server currently exist

1.     Fundamentals

2.     Advanced

3.     Enterprise

4.     Platinum

Each of the versions above are limited in the number of features it can support with the exception of Platinum version which has all the features enabled



Citrix XenApp Components:


XenApp architecture consists of:

·         •XenApp servers

·         •Web Interface servers

·         •Data collector

·         •Data Store database

·         •License server

·         •Worker groups

XenApp contains additional components to enhance the functionality of the solution, including the following:

·         •Load Manager

·         •Resource Manager (Powered by Citrix EdgeSight)

·         •Access Gateway VPX

·         •Citrix XenApp Provider

·         •Delivery Services Console

·         •License Administration Console 

·         •Citrix Plug-ins


1.     XenApp Application Server: A XenApp server that hosts/shares applications for users to access

2.     NetScaler: An appliance (Virtual or Physical) which provides level 4 load balancing, content switching, data compression, content caching, SSL acceleration, network optimization, etc. Required only in DR for Failover.

3.     Web Interface :Provides users access to published resources in one or more server farms through a web browser or the Citrix online plug-in.
The Web Interface provides user access to the published applications through a web browser. The web interface allows for multi-farm administration from a single Access Suite Console

4.     Data Store: A centralized database that contains all the configuration information of all the XenApp servers. This can be SQL Express.

5.     Access Gateway (VPX, MPX): A virtual or physical appliance used for allowing users on the outside to connect to the XenApp servers on the inside. VPX is virtual Appliance VM. MPX is physical Appliance

6.     Data Collector Servers: Dedicated servers that are usually deployed in large environments are used for keeping track of server loads, session status, published applications, users connected, and license usage, etc. These servers are typically elected within a Citrix Farm. If a Data collector server were to fail, a new election process would take place to elect a new Data Collector server.

7.     Resource Manager (EdgeSight): A service used to monitor CPU, Memory, Disk utilization and also create reports based on this information

8.     License Server:  A server used for Citrix Licensing management


Number of VM’s needed

·         XenApp Server (1 VM / 50 Users for Light Weight Users, 1 VM/10 Users for heavy users)- Machine Conf – 8 GB RAM with 2 vCPU.

o    Example – for 200 users you need 5 VM’s with 8GB RAM and 2 vCPU Each

·         DataStore and Data Collector VM – 1 No

·         Web Store Front – 1 No

·         Access Gateway – VM Appliance – 1 No

·         EdgeSite Monitoring Server and License Server – 1 Nos

·         NetScaler –VM Appliance – 1 No



XenApp Farm: A collection of XenApp servers that are used for sharing applications

Web Interface: A web interface used as a webpage/portal for accessing applications that are hosted on a XenApp server

Local host Cache: a database that resides on all the XenApp servers locally and contains partial XenApp configuration information. The purpose of LHC is for XenApp servers to continue to function if they lose access to the data store.

Worker Groups: A grouping/farm of XenApp servers that are managed as a single unit. The XenApp servers in worker groups typically have similar types of applications installed

Zones: A grouping of Citrix Servers based on their geographic location

XenApp Provider: An extension for monitoring that can be used with third party software like SCOM for better monitoring of XenApp servers.

Delivery Services Console (XenApp 6)/AppCenter (XenApp 6.5: Management Console for XenApp servers

License Administration Console: Management Console for managing licenses



Load Manager: A service used to manage the load of all the Citrix servers in the farm. Based on all the XenApp servers that are in the farm, the service will determine the least busy server and redirect the client connections to that server/servers




Secure Gateway: A service deployed in the perimeter/DMZ network for situations where users from the outside of the network are trying to access applications hosted on Citrix servers internally .It  is not available with 6.5 above version





What is the Licensing model for XenApp 6? The licensing model works based on the number of concurrent users, for example, if there are 100 licenses, that mean you can have a total of 100 concurrent/simultaneous users connected at once. The licenses do not tie to a user. Once the user disconnects, the license returns to the pool.


Choosing a Database

Consider these factors before deciding which database product to use:

  • The number of servers you currently plan to have in the farm, and whether or not you plan to expand that number
  • Whether or not you have a database administrator with the expertise to configure and manage a data store running on SQL Server or Oracle
  • Whether or not you foresee the enterprise expanding, which would result in expanding the size and maintenance of the database
  • Any database maintenance requirements, such as backup, redundancy, and replication

General recommendations are listed below, based on the following size table.










100 or more

Named Users

< 150

< 3000

< 5000

> 3000


< 100

< 100

< 500

< 2000


  • Microsoft SQL Server and Oracle are suitable for any size environment and are recommended for all large and enterprise environments. When deploying large farms across a WAN, you can obtain a performance advantage by replicating the data store and distributing the load over multiple database servers. SQL Server and Oracle are suitable for large farms and support replication.

Do not install XenApp on the SQL Server or Oracle database server.

  • SQL Server Express is suitable for all small and many medium environments located in one physical location, which do not have branch offices across a WAN.







Designing a XenApp Deployment

XenApp is the central software component of the Citrix Windows Application Delivery Infrastructure. The goals of XenApp and the Citrix Windows Application Delivery Infrastructure are to deliver on-demand applications to both physical and virtual desktops, and to determine and provide the best method of delivery. XenApp offers three methods for delivering applications to user devices, servers, and virtual desktops:

  • Server-side application virtualization: applications run inside the Data Center. XenApp presents each application interface on the user device, and relays user actions from the device, such as keystrokes and mouse actions, back to the application.
  • Client-side application virtualization: XenApp streams applications on demand to the user device from the Data Center and runs the application on the user device.
  • VM hosted application virtualization: problematic applications or those requiring specific operating systems run inside a desktop in the Data Center. XenApp presents each application interface on the user device and relays user actions from the device, such as keystrokes and mouse actions, back to the application.

Planning for Applications and Server Loads

Before you can determine how many servers you need in your farm and on which servers to install applications, decide which applications you want to deliver and how you want to deliver them.

Consider these factors when defining your farm’s hardware and operating system configuration:

  • Can I run the applications? Citrix recommends testing non-Vista-compliant applications before you publish them on your farm. Some non-Vista-compliant applications run using the Application Compatibility feature.
  • How many users do I anticipate will want to connect to each application during peak and off-peak hours? Do I need to allocate servers for load balancing?
  • Will users be accessing certain applications frequently? Do I want to publish all of these applications on the same server to facilitate session sharing and reduce the number of connections to a server? If you want to use session sharing, you might also want users to run applications in seamless windows. .
  • Will my organization need to provide proof of regulatory compliance for certain applications? Will any applications undergo a security audit? If you intend to use SmartAuditor to record sessions on these servers, install the SmartAuditor agent on these servers. In addition, make sure the servers have sufficient system resources to ensure adequate performance.
  • Will any of my applications be graphically intensive? If so, consider using the XenApp SpeedScreen, Memory Utilization Management, or CPU Utilization Management features as well as more robust hardware for sessions hosted on these servers.





Evaluating Application Delivery Methods

The application delivery method is a factor in determining the number of servers in a farm and their individual hardware requirements.

How you choose to deliver applications depends on your organization's needs and end-users' requirements. For example, some organizations use XenApp to streamline administration. In other organizations, the existing hardware infrastructure might affect the delivery method selected, as can the types of applications to be delivered. In addition, some end-users might run all applications while connected to the company network, while others might work in remote locations and run applications while disconnected from the network.









Installed on the server:

Applications are installed on the server, where the processing takes place, and accessed from the server. This is the traditional XenApp application delivery model. For many organizations, this provides the lowest cost of ownership for IT resources because it provides the greatest scalability.

  • Farm servers require sufficient resources to support the applications.
  • Users must be connected to the server or network to run the applications (no offline access).

Streamed to server:

Executables for applications are put in profiles and stored on a file server or Web server (the App Hub); however, when launched, they stream to the server, and application processing takes place on the server. Unlike installed applications, streamed applications are stored in the App Hub and provide application isolation by design.

  • This method has similar advantages as for installed applications, including a consistent user experience, central management, and use of server resources instead of those of the user device.
  • In many cases, streaming to server lets conflicting applications, such as multiple versions of the same application, run on the same server without needing to silo them.
  • Updating applications is simplified because you update only a single application profile.
  • Farm servers require sufficient resources to support the applications.
  • Users must be connected to the server or network (no offline access).
  • Some applications are not candidates for profiling, such as those using a .NET framework.

Streamed to desktop:

Executables for applications are put in profiles and stored on a file server or Web server (the App Hub). When launched, the files required to execute the application are streamed to the user device, and application processing takes place on the user device instead of the XenApp server. When applications are streamed to the user device, the user experience is similar to running applications locally. After applications are cached on the user device, users can continue running the apps after disconnecting from the network (referred to as offline access).

  • Users can have the local application experience, but you manage the applications centrally.
  • Users might have a better experience when resource-intensive applications, such as graphics applications, are streamed to desktops.
  • Using application properties and Citrix policies and filters for Offline Applications, you control the applications and users that have offline access, as well as the license period for offline use.
  • User devices must have sufficient resources to run the applications locally; the user devices cannot be thin clients.
  • User devices must run Windows operating systems, including Windows 7, XP, or Vista.

Dual mode delivery:

When you select "streamed if possible, otherwise accessed from a server" (referred to as dual mode or fallback), XenApp tries to stream the application to the user device first, but uses the backup access method if streaming to desktop is not supported on the user device. For example, you can specify that some users, such as sales personnel, run applications streamed to desktop when they are accessing the applications from Windows devices, and run them as installed applications when they are accessing them from handheld mobile or kiosk-type devices.

  • This method provides the most versatility for application delivery, offering all the advantages of streaming to desktops for supported user devices, plus a backup delivery method for the rest.
  • You control delivery options centrally using Citrix policies and filters, such as the server's Load Balancing Policies for Streamed App Delivery.
  • For the backup method to occur, ensure that the application is either installed on the XenApp server or the streaming profile is configured for a target operating system that matches the server.






1.     Before publishing applications on a production farm, ensure that they are compatible with the server operating system and are multiuser compatible.

                                          i.    Install App on Windows Server  and try to access with Terminal Services