In my day to day job working with Citrix technologies, many work colleagues I come across, ask me questions about Citrix, what it is, how it works and what issues can be solved by using it.
What is Citrix and how it works? So, the following FREE course shows exactly how Citrix works including diagrams and explanations designed for those who may never have heard of Citrix before.
The word 'Citrix' has been collectively banded for a number different products over many years, but Citrix is actually the name of the multinational corporation which develops technology products associated with its name, such as such as XenApp and XenDesktop.
The full name of this corporation is Citrix Systems, which is head quartered in Florida, USA. Citrix Systems has grown rapidly from 1994 when it was created by Ed Iabucci. Ed is no longer part of the Citrix set up and has been superseded by Mark Templeton as CEO.
Citrix Systems develops several leading products which are used by many famous organisations worldwide.
Citrix primarily focuses on Thin Client and Virtualization technologies but they have also expanded into other areas including networking technologies.
Thin Client technology also known as Server Based Computing (SBC) has made Citrix XenApp a market leader, but what is Thin Client technology?
Before lifting the lid on how Thin Client technology works, let's look at another technology which many people use in their day to day lives. This technology focuses on searching the world wide web (Internet).
The user uses a search engine such as the likes of Google, Yahoo, Bing or one of the other many search engines. The user enters some words into Google's search box and when the 'search' key is pressed, the results appear within a few seconds.
This search information is not stored on the user's computer, that is, there isn't a massive store of all the websites Google knows about hiding in the user's computer.
In reality what happens is when the user presses 'Search', their search request is sent to a data centre, where a series of very powerful computers search their data banks for the relevant information that matches the users search request.
Once this information is found, it is sent back to the user's computer, where it is displayed as the search results, as shown by the screenshot below.
The grunt of the operation, that is, where all the processing of information is carried out, is in the data centre and not on the user's computer. It's the data centre computers which sift through the billions of information files in its data banks to determine what closely meets the user's request for information.
Once the information is found, it is sent back to the user's computer where the user's web browser (such as Microsoft Internet Explorer, Mozilla Firefox to Google Chrome) present that information as a series of results.
In the Google search example it is important to understand the importance of where the information processing takes place. As this is paramount to how Thin Client technology also works.
In the Thin Client world, the processing of information takes place away from the user's computer, typically on a powerful set of computers in a data centre, just like the search engine example earlier.
Instead of web pages being sent to the user's computer, the thin client technology works with applications and the presentation of these applications. So an application such as a word processor in thin client technology doesn't exist on the user's computer.
The word processor exists on a powerful set of computers in the data centre from where all the processing is done. The thin client technology represents the word processor to the user's computer, as though it was actually installed on their computer.
The first screenshot below, shows an application running remotely which for all intents and purposes looks like it is actually installed and running on the computer, when in fact it is not.
At the bottom right of this screenshot there is an icon circled in red, which is the Citrix plug-in icon and this when clicked, will show the application is actually running remotely.
Later on this section, the steps taken to connect to the application shown in this screenshot, will be shown.
The thin client technology captures the keyboard strokes the user makes and their mouse movements from their mouse attached to their computer, sending these to the powerful set of computers at a data centre to process.
The powerful computers at the data centre apply the users captured keyboard strokes and mouse movements to the word processor application and the resulting change in how the applications user interface changes, that is how what the user would see on their screen changes, is sent back to the user's computer.
At the user's computer, the thin client software creates an image of how the changes made to the word processor looks. The screenshot below, provides an overview of how the changes are propagated.
This is all done in milliseconds and gives the impression that the word processing software is actually installed and running on the user's computer when it is in fact running on another computer far, far away.
Still not sure of how thin client technology works? Well let's access an application remotely from a powerful computer in a data centre for real.
To reiterate what we've covered so far, in the world of Thin Client technologies like Citrix XenApp, we use our computer to remote control an application installed on another computer.
The other computer does all the grunt of processing the application and dealing with the users inputs that is, changes in their mouse movements along with keyboard strokes and dealing with outputs, that is, changes to the applications user interface, which is, how the application is presented to the user.
So we could have a computer in New York City which has word processing software installed and we could connect to this computer say from a computer in London and use the word processor without having the word processing software actually installed (resident) on our computer in London.
The Thin Client software on both computers will make it appear as though the word processing software is on the computer in London even though the actual word processing application is on a computer in New York.
Every time we move the mouse or press a key to type into the word processor at the computer in London, the Thin Client software sends this information to the computer in New York, which also has Thin Client software running on it.
The Thin Client software on the computer in New York calculates the change to the screen when the mouse has been moved, or when keys have been pressed and recalculates the changes to the screen representing the word processor. This is then sent to the computer in London, where the thin client software redraws the changes to the screen.
This happens in milliseconds and gives the user the experience of the word processing software being resident on the computer in London when in fact it is actually resident on the computer in New York.
The screenshot below shows a computer which looks like it's running a word processing application in London, when it's actually connecting to the application on a computer in New York City.
Understanding the principles of technology can be easier to grasp by using analogies, as this makes something which otherwise would have been completely alien, understandable.
So for an analogy to describe how Thin Client technology works, one scene from the James Bond film 'Tomorrow Never Dies' provides a good understanding.
In this film there is a scene, where James Bond, played by Piers Brosnan uses his phone as a remote control to drive his BMW (whilst crouched uncomfortably in the rear foot well of the car) around a multi-storey car park as he's being pursued by some ruthless individuals.
James Bond's phone displays a picture from one of the forward facing cameras mounted on the BMW. He uses the remote control's touchpad, to control the car.
As the car moves around the multi-story car park the pictures are sent back to his phone, which displays them on the phones screen.
The phone itself isn't actually driving the car, it is just sending signals to the car's on-board computer and this computer is then doing all the thinking and carrying out the appropriate actions such as turning the steering wheel, accelerating, braking and so on.
In essence the phone is a dumb device which only sends the driving movements James's makes on the phones screen to the car's on-board computer and in return, the phone receives pictures from the car's cameras.
The remote control by itself doesn't actually drive the car, that's done by the computer on board the car.
If we look at this from a Thin Client perspective, the phone would be a computer which has special Thin Client software running on it. The BMW's on-board computer is like the computer the Thin Client device connects to, which has the applications installed..
The BMW's on-board computer does all the calculations from the instructions it receives from the remote control and sends updates to the phone, in terms of video images to show how the BMW is progressing.
Likewise, the computer, the Thin Client device connects to, does all of the processing and sends image updates to the Thin Client device.
Whilst the Thin Client approach looks at processing the application logic remotely, that is running the actual application on a different computer to where the user is using it and in turn presenting the user with images of what is happening remotely.
The Fat Client approach looks at processing the application locally, that is on the computer being used by the user. This is the typical approach used by most computer users, where they use a computer at home for instance, which does all the application processing.
The screenshot above (Thin Client versus Fat Client), the word processing software on the thin client is running on a powerful computer in the data centre. Whilst with the fat client approach, the software is running on the computer itself.
The market leaders when it comes to Thin Client software are Citrix Systems and the Microsoft Corporation.
Microsoft Remote Desktop Services, known as RDS for short, provides the engine on Windows Server 2008 R2 based systems to allow access remotely.
On older versions of Windows Server including Windows Server 2008 R1, Windows Server 2003 and Windows 2000, Windows Terminal Services is used.
Windows Terminal Services, known as WTS for short, is in essence the same as RDS and Microsoft decided to rename WTS to RDS in their Windows Server 2008 R2 version. The latest version of Windows Server is Windows Server 2012 and also includes RDS.
They've also made a few improvements and enhancements. People still use the words RDS and WTS interchangeably in the real world.
Windows Terminal Services and Remote Desktop Services have been developed in conjunction with Citrix Systems.
Originally Citrix Systems licensed the code from Microsoft for their Windows Server product (NT3.5) and redeveloped this. Citrix Systems released this redeveloped version of Windows Server as Citrix WinFrame.
When the next version of Windows Server was released, NT4.0, Microsoft decided not to give the code to Citrix Systems for them to develop their own version.
Instead Microsoft and Citrix worked together to create Windows Server NT4.0 Terminal Server Edition. Citrix Systems kept some of their technology outside of this joint project, which allowed them to develop their Citrix MetaFrame product.
Citrix XenApp is the latest version of Citrix's thin client product line. Just as with Citrix Presentation Server and its predecessor Citrix MetaFrame, all have been developed outside the joint development work Citrix does with Microsoft with its RDS and WTS products.
That is, Citrix Systems works with Microsoft to help develop their WTS service and later RDS, whilst Citrix Systems gets to keep certain functionality they've developed for themselves. This functionality has become Citrix MetaFrame, Presentation Server and XenApp.
Think about RDS and its predecessor WTS as a car which is jointly developed by Microsoft and Citrix. Now think of Citrix also developing some enhancements to this car such as a new fuel injection system, better suspension and a supercharger.
All the products Citrix develops in this analogy need the car to function, as you wouldn't expect a fuel injection system, suspension or a supercharger to work on their own without a car?
The car without these additional components can still work, doing what it was designed for. Just like Microsoft's RDS (WTS for older versions of Windows Server) can still work without needing any Citrix components to function and just like the car analogy, will get you where you want to go.
If you want an improved experience through increase power and improved handling, then the car could have the better suspension added, along with the improved fuel injection system and supercharger.
This is exactly how the XenApp (including previous versions called MetaFrame and Presentation Server) are positioned. They provide an improved experience for people using and managing their Windows Server and RDS (including WTS) components.
The latest incarnation of the Citrix thin client products is Citrix XenApp version 7.5, which has been developed specifically for Microsoft Windows Server 2012. Many organisations are still using previous versions of XenApp such version 4.5, 5.0 with many also using XenApp 6 and 6.5.
The XenApp product line originally started out as Citrix WinFrame, which became MetaFrame, then Presentation Server and is now XenApp, as shown below in screenshot 6 'Citrix Thin client history' below.
There are many reasons why Thin Client technologies such as Citrix are popular, not only because Citrix is a great company which has the vision to make great products but because Citrix actually develops products which organisations need.
Citrix have been very clever in the way they've brought out other smaller companies, which has not only opened up new markets for them, but enhanced their already excellent product range.
Technology aside, one of the main reasons for using Citrix is cost especially Total Cost of Ownership, known as TCO for short. You can find more about TCO in Appendix A of this course.
• Citrix Systems develops Thin Client products such as XenApp.
• Microsoft RDS (formerly Windows Terminal Services) provides the engine for Thin Client type computing.
• Citrix XenApp works with Microsoft Remote Desktop Services (Windows 2012, Windows 2008 R2) or Windows Terminal Services (Windows 2008 R1, Windows 2003 and Windows 2000)
• Fat clients run applications locally that is, on the computer being used by the user.
• Thin clients access applications being run remotely and are not involved in the actual running of the application.
Terminology introduced below shows what the technology involved is and what it actually does, starting from the basics and building up.
The 'personal computer' or 'PC' for short has become an important part of the lives of many during the technical advances made in the past twenty years.
Personal computers are used at home, at work, in internet cafes to schools. These computers are used to run software such as word processors, spreadsheets, web browsers (such as Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Opera) to specialist business applications.
Personal computers can also be called workstations, especially in the workplace and generally have slightly more powerful specifications.
For the purpose of this course, workstations and personal computers will be known as desktop computers, as this is also another term used widely to describe personal computers.
Portable versions of desktop computers are known as laptops and these are designed to be powerful, yet provide this power on the move, with improved battery life in a smaller form factor. Laptops have become lighter over the years and this improved portability has made them more widespread.
Desktop computers run desktop operating systems such as Windows XP, Windows 7 and so on. These desktop operating systems are designed to provide functionality for using software from word processors to web browsers.
There are other types of computers called 'Servers' which are computers with similar components to desktop computers such as a processor (to do the calculations, also known as a CPU - central processing unit) memory, disks (also known as hard drives) and these components may be more powerful than their desktop computer counterparts.
What really separates the desktop computer from the server computer is the operating system which is used. On a desktop computer, we use desktop versions of Microsoft Windows including Windows XP, Windows Vista and Windows 7. Some desktop computers may have desktop operating systems from Apple to Linux desktop derivatives such Ubuntu, Fedora and Debian.
On the server, server based operating systems will be used, so for Windows, Microsoft Windows Server 2003 and Microsoft Windows Server 2008 are popular choices. If it's going to be a Linux based server, then Red Hat Linux is a popular choice.
These operating systems are designed to utilise the server hardware more appropriately than a desktop operating system would. Moreover, the server operating systems are designed to deal with multiple users, whilst a desktop operating system is designed to deal with a single user.
A server operating system would not ideally be used in the same way as a desktop operating system, that is, it is installed on a desktop computer and then used for software such as word processing.
This is like using a bus instead of a car, to transport a single person. It is just an overkill of the power available to do something which could be done with less.
Servers can be configured to provide different roles, that is, a server can be assigned a particular duty to perform. So a server could be assigned the role of 'print server' and it would deal with printing, by sending print requests to the appropriate printers.
Servers could be assigned a 'file server' role and would therefore be involved in filing information (storing information on their disks) which can be retrieved when required.
Other server roles include email servers, web servers, database servers and authentication servers to name a few.
Server operating systems tend to operate in a client/server fashion, whereby the client, which is the desktop computer (as well as laptops and smart phones), connect to the server.
Depending on how the server is configured, the desktop computer user will be able to print, store their files, authenticate, send emails and so on using their connection from their desktop computer to a server.
A single server will tend to have many clients that is desktop computers (as well as laptops) requesting services from printing to email (subject to what service the server is set up to provide) from the server.
The services requested depend on what role the server is configured for, so if it is configured as an email server, it will send and receive the email sent from the user's desktop computer (as well as from laptops and smartphones).
The screenshot 'Clients and Servers', above shows several different clients, laptops, computers and smart phones connecting to an email server and a web server.
There's a lot of talk about 64-bit operating systems, as this is the next step in the evolution of computing. Without getting too technical, the difference between 32-bit and 64-bit operating systems is the amount of memory they can use efficiently.
32-bit operating systems can use directly 4 gigabytes (Gb) of memory, whilst 64-bit can directly access up to 2,000 gigabytes (Gb) of memory. This means in theory, more programs can be used on 64-bit machines. Only computers with 64-bit processors can use 64-bit operating systems.
We will only be using the 64-bit versions of operating systems in this course.
• Servers are powerful computers running server based operating systems
• Clients are desktop computers, laptops and any other devices which require services from servers
• Servers provide services to clients such as printing, email etc.
• Operating systems are software designed to allow people to use computers
• Clients connect to servers for various services such as email
• 64-bit operating systems can access more memory
To understand the key concepts of Citrix XenApp, an analogy will be used whereby how a egg site called Pinklebury operates will be compared to how Citrix XenApp operates.
Pinklebury site is owned by John, the site has over 200 chickens in a single chicken coop and they produce around 500 eggs each day.
Owner John has an assistant, his son, Tony who is the lead site hand. Tony keeps tabs on the state of the chickens and how the other site hands are doing.
Johnny, owner John's second eldest son also helps as a site hand and when Tony is not well, Johnny takes the lead site hand role and steps in to do the duties his brother Tony would normally do.
Two other site hands, Paul and Peter also help keep the chicken's producing eggs.
The site has a shop, where all the eggs are sold. The shop is at the entrance to the site and the owner's daughter, Emily works in the shop.
Emily is responsible for making sure there are enough eggs in the shop to sell.
Michael, owner John's youngest son works as a site hand but also works with Emily.
He tells Emily how many eggs and which types of eggs are available, he gets this information by asking Tony.
To keep tabs on how much stock is available and how much is being sold, Lisa, the owner's youngest daughter keeps detailed records.
Before the owner John could set up his egg shop on his site, he had to get a license from the Ministry of Agriculture.
This license sets out the maximum number of people who can use the shop at anyone time.
Owner John can operate his site for 30 days without needing to contact the Ministry to renew his license, after which the site will be closed down immediately if the license is not renewed.
The Pinklebury site screenshot above provides an overview of Pinklebury site and the people who work there.
Now compare how Pinklebury site operates to the key concepts used with Citrix XenApp.
The Citrix XenApp servers can be compared to the chickens at Pinklebury site, whilst the chickens do the job of providing eggs for customers, the Citrix XenApp servers provide applications for the users (customers) to use.
Just as Pinklebury is a boundary of responsibility for owner John, a ‘Site', the same concept of ‘Site' is used for Citrix XenApp. With the XenApp Site being the boundary for Citrix XenApp servers and other components within it.
The concept of ‘Site' used to be known as a 'Farm' in older versions of Citrix XenApp to define an area of responsibility and a boundary. The Citrix Farm concept was superseded by the 'Site' concept in later versions of Citrix XenApp.
The site hand Tony collects information about the chickens, primarily around their capability, that is how many eggs they are producing.
Tony's role is similar to the Collectors role in a XenApp Site, where information on the availability of resources from the XenApp servers is assessed.
Just as Tony keeps the information about the chickens in his memory, the Collectors do the same. They keep a watch on how each of the XenApp servers they are responsible for are performing.
In XenApp terminology the chicken coop is represented by a zone and each zone has a Collector for that zone.
Just as Pinklebury site has a backup site hand in the likes of Johnny, who helps when Tony can't work, the XenApp site can also have a backup Collector for each zone, which can step in, should the preferred Collector stop working.
The XenApp Site also has a sort of shop front for customers and this is web based and commonly referred to as a portal. The portal is a web interface to the XenApp site and the component which provides the portal capability is called the StoreFront.
The StoreFront uses a broker to find out what applications are available for users to use, this broker is known as the XML broker.
The XML broker functionality is provided in Pinklebury site by Emily, who can check with the site hand, Tony, to see what eggs are available.
With a Citrix XenApp Site, to keep tabs on what applications are available and who is allowed to use them, a database is used. The database keeps detailed records about the applications including locations, who can use them and so on.
This is sort of similar to Lisa's role, where the owner's youngest daughter keeps detailed records.
Owner John needs a license to operate Pinklebury site from the Ministry of Agriculture and this license, allocates the maximum number of people owner John can provide eggs to.
Citrix XenApp Sites need licenses too and these contain limits for the maximum number of users who can access the Citrix XenApp Site. A Citrix license server is used to provide licenses to the XenApp Site.
Citrix XenApp Sites have an administrator, a user who has the required rights to change how the Citrix XenApp Site is set up. Likewise, Pinklebury site has an administrator, owner John, who can also elect to change how the site is set up.
Administration tasks can be delegated to other users in a Citrix XenApp Site by the main Administrator. Likewise, owner John can delegate his administration duties to his wife or he can hire new people to carry out specific or even all of his administration duties.
The screenshot below, shows the basic components of a Citrix XenApp Site.
Owner John can cater for more demand, by increasing the number of chicken coops or by buying another site and by taking on more site hands to handle the increased workload.
He can still use his shop to sell eggs from the new site but would need to take on a new person to keep detailed records for the new site. As it will be impossible for Lisa to do the record keeping work load of two sites.
The Ministry will need to issue a new separate license for an agreed number of people who can be served eggs from the new site. Likewise a new license will need to be obtained for the new Citrix XenApp site and this can be set up on the existing Citrix License server.
Likewise the XenApp site administrator can create more zones and add more XenApp servers into each zone to cater for more demand, as shown in the screenshots below.
The administrator can also create a separate XenApp Site, as shown in the screenshot above. A separate XenApp site can utilise the existing StoreFront as a shop front to the applications available from both XenApp sites.
An additional separate database will be required to cater for the data storage requirements of the new Citrix XenApp site.
The analogy of how Pinklebury Site is managed should provide an easier understanding of how the key concepts in the world of Citrix XenApp work.
By taking a look at the key concepts again technically, an understanding of how they work can be more clearly understood.
This is a computer which hosts, that is, has the applications (word processor, web browsers etc.) installed on it and provides access to these using Citrix software.
This server runs a server based operating system (Windows Server 2003, Windows Server 2008 or Windows Server 2008 R2) and is configured to use Citrix XenApp software.
The Citrix XenApp software provides enhancements to Windows Server Operating System in terms of application delivery and management.
The Windows Server Operating system requires Terminal Services (Remote Desktop Services and Application Server roles if Windows Server 2008 R2) configured.
A Citrix XenApp site is a collection of Citrix XenApp servers, which share a Datastore.
The Citrix Datastore just a database on a database server and a single database server can have several databases, acting as unique datastores for different XenApp sites. For example, the screenshot below shows XenApp Site databases on the same server.
The datastore provides a permanent store for XenApp site information until a time it is changed or removed.
The Data Collector holds an in memory database of XenApp server information, monitoring their states and available capabilities.
A web based front end where users log in and get presented with information about applications they are allowed to use. The StoreFront talks to an authentication service such as Microsoft Active Directory, to determine whether the user is allowed access to the Citrix XenApp site via the StoreFront.
If the user is allowed access, the StoreFront then speaks to the XML broker and asks it for a list of applications the user is entitled to use. The icons (images with shortcuts, as shown in the screenshot (StoreFront displaying applications and folders) below, are then displayed on the StoreFront web page. When these icons are clicked they launch the remote control access to the applications on a particular Citrix XenApp server. The screenshot below show StoreFront displaying applications and folders.
To partition XenApp Servers into groups, XenApp zones can be used. Each zone must have a Citrix XenApp server configured as zone data collector. Whilst it is possible to separate Citrix XenApp servers into separate sites, this would require increased administration and additional components in comparison to partitioning XenApp servers into zones.
As stated in the StoreFront section, the XML broker is an intermediary for the StoreFront to find out which applications are available to the user.
The XML broker is a program which runs on a server. It is known as a service for two reasons, firstly it provides a service, that is brokering information and secondly, it carries on running on the server listening for requests from the StoreFront, even when there is no one logged on to the server.
The term application is used to describe software such as a Word Processor, Web Browser etc.
The term 'publishing' means presenting users with particular applications. So in the steps to publish an application, the administrator must define what the application is (what it's called, where it's located) and who can access it.
Published applications appear seamlessly on the user's desktop when accessed. This means they appear as though they are running on the user's desktop when in fact they are running on the XenApp server. Applications on the XenApp server are still being accessed remotely by the user, but the user is being presented with the application, as if it's actually on their computer.
Whilst publishing applications involves publishing individual applications, so they appear as though they are running on the user's desktop, publishing desktops, involves presenting the XenApp servers desktop on the user's computer.
So the user sees what would be seen if they logged onto the XenApp server directly, as shown in the screenshot below.
Both publishing applications and desktops gives users remote access to applications and the XenApp servers desktop respectively. Streaming applications involves sending the application to the user's desktop, to run on the user's computer.
Portions of the application (which have been specially packaged) are sent to the user's computer in sufficient amounts to ensure the application starts.
All the grunt of the application is done on the user's computer, as opposed to published applications where the application processing is done on the XenApp servers.
Previously known as Program Neighbourhood Agent (PN Agent) works a bit like the StoreFront but instead of displaying application icons on a web page in a portal, XenApp Services actually displays the icons on the start menu of the user's computer, as shown by the XenApp Services updated Start Menu screenshot below.
• Citrix XenApp servers are organised into sites
• Citrix XenApp sites can be partitioned using zones, with each zone requiring a data collector
• Web based access to a Citrix XenApp site is provided by the StoreFront
• XML Broker is an intermediary for the StoreFront to find authorised applications
What is the difference between Citrix XenApp and XenDesktop? Whilst Citrix XenApp is server based, that is you have multiple users connected to a Virtual Server (Microsoft Windows Server), XenDesktop is a single use Virtual PC, running a PC operating system like Windows 7, Windows 10. A single user connects to each Virtual PC with Citrix XenDesktop responsible for creating and managing the Virtual PC's.
How does Citrix XenDesktop work? Citrix XenDesktop uses special provisioning tools to create Virtual PC's on servers running virtualization software (VMWare, XenServer, Microsoft Hyper-V). These are then managed by Citrix XenDesktop so different groups of Virtual PC's can be assigned to users to use.
What is the difference between Citrix Receiver and XenApp? Citrix Receiver is software installed on a PC, Tablet or Smartphone allowing connection to Citrix XenApp and Citrix XenDesktop. Citrix Receiver provides the technology to interact and display the information send from Citrix XenApp and Citrix XenDesktop on the user's device.
What is Citrix and why is it on my computer? Citrix allows you access desktops and applications remotely with the look and feel the same as if they applications were installed on your computer. The Citrix on your computer is a small piece of software called WorkSpace (Receiver older name) that allows the magic of connecting to application and desktops on Citrix servers to be displayed on your computer.