Development of Citrix XenApp Virtual Channel Driver for Biometrics
t the Client
The customer is a leading Biometric device vendor selling various biometric devices and also an expert in providing biometric based solutions around the world.
The customer wanted ALTEN Calsoft Labs to do the following:
- Support their biometric devices and applications in the legacy Citrix XenApp Environment
- Implement a virtual channel driver for the Citrix XenApp client PC (Citrix Receiver)
- Allow their Citrix XenApp customers to install and publish the biometric software supplied by them in the Citrix XenApp Server
- Permit customers to run the published biometric application from any Citrix XenApp client PC (Citrix Receiver)
The Citrix ICA Virtual Channel driver was developed using C++ to address the customer requirement. Following is an overview of client-server data exchange using a virtual channel.
- The client connects to the XenApp Server.The client passes information about the virtual channels it supports to the server
- The server-side application starts, obtains a handle to the virtual channel, and optionally queries for additional information about the channel
- The client virtual driver and server-side application pass data using the following two methods:
- If the server application has data to send to the client,the data is sent to the client immediately.When the data is received by the client,the WinStation driver demultiplexes the virtual channel data from the ICA stream and immediately passes it to the client virtual driver
- If the client virtual driver has data to send to the server,the data is sent the next time the WinStation driver polls it.When the data is received by the server,it is queued until the virtual channel application reads it.There is no way to alert the server virtual channel application that data was received
- When the server virtual channel application is completed, it closes the virtual channel and frees any allocated resources
- Allows enterprise customers to use Biometric applications/libraries in the Citrix XenApp environment.The solution can help develop applications without additional effort for both desktop and XenApp environments.
- Enables Custom Virtual Channel driver for Client Drive Mapping, Client COM Port Mapping, Client Printer Mapping, Smartcard support, Kerberos,Twain, Transparent Key Pass-Through, Multimedia Support, Client UPD, Generic USB and End User Experience Monitoring
- Development Tools: Microsoft Visual Studio 2013 IDE
- Language: C++
- Framework: Citrix Virtual Channel SDK,WinFrame API SDK (WFAPI)
Let’s fast-track your next big idea