Intégration aux applications Citrix dans Unified Service Desk
Note
L’hébergement d’applications Citrix dans Unified Service Desk n’est plus pris en charge.
Intégrez vos applications Citrix à Unified Service Desk en les hébergeant dans Unified Service Desk. Cela permet aux agents du service clientèle d’interagir avec les applications Citrix du client Unified Service Desk tout en travaillant sur les données client dans la plate-forme Microsoft Dataverse. Vous pouvez configurer une application Windows comme application virtuelle sur Citrix XenApp 7.6 s’exécutant en tant qu’application hébergée dans Unified Service Desk. Pour plus d’informations : Configuration logicielle requise pour la virtualisation d’applications Citrix XenApp
L’application Citrix hébergée dans le client Unified Service Desk utilise le protocole Independent Computing Architecture (ICA) pour communiquer à distance avec l’application sur un serveur Citrix. Un fichier .ica Citrix contient des informations pour se connecter au serveur distant telles que l’adresse du serveur, les propriétés de session et les informations d’authentification.
Pour plus d’informations sur l’intégration de Unified Service Desk avec Citrix, voir Blog : Citrix et Unified Service Desk
Cette rubrique fournit des informations sur la configuration des composants serveur et client pour intégrer Unified Service Desk avec les applications Citrix, des exemples d’adaptateurs Citrix et quelques conseils.
Configurez le composant côté serveur pour l’intégration Citrix
Le composant côté serveur est implémenté dans un fichier exécutable (Microsoft.Uii.Csr.CitrixIntegration.exe) configuré comme un programme de démarrage pour démarrer automatiquement lorsqu’une application Citrix démarre. Le fichier exécutable prend fin automatiquement et rapidement si l’application Citrix n’a pas été appelée depuis un client Unified Service Desk. Le composant côté serveur doit être configuré sur chaque serveur Citrix.
Téléchargez le package du kit de développement logiciel (SDK) de User Interface Integration (UII).
Double-cliquez sur le fichier du package pour extraire le contenu.
Accédez au dossier
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
, puis copiez tous les fichiers dans ce dossier vers un dossier (ServerSideComponent par exemple) sur votre serveur Citrix.Dans le dossier ServerSideComponent sur votre serveur Citrix, modifiez le fichier
RegPatch Install StartupPrograms on Citrix Server.reg
à l’aide du Bloc-notes pour définir la valeur du paramètre « StartupPrograms » vers le chemin d’accès complet du fichier exécutable Microsoft.Uii.Csr.CitrixIntegration.exe.Appliquez le correctif de Registre sur votre serveur Citrix en exécutant le fichier
RegPatch Install StartupPrograms on Citrix Server.reg
. Ce correctif de Registre indique un fichier exécutable comme programme de démarrage qui sera lancé en même temps qu’une application Citrix.
Configurez le composant côté client pour l’intégration Citrix
La configuration côté client pour l’intégration Citrix implique deux éléments :
Configurez une instance d’application hébergée UII (
Remote Hosted Application
) dans votre instance de Dataverse qui peut être utilisée directement sans code personnalisé, ou peut être étendue si nécessaire. Des actions déclenchées sur les instances d’applications hébergées UII sont transmises au composant côté serveur dans un fichier de type .ica, où il est affecté aux adaptateurs d’application configurés, le cas échéant. Pour plus d’informations sur les applications hébergées UII, voir Applications hébergées UIICopiez l’application exécutable Citrix et les autres assemblys obligatoires dans le répertoire d’installation du client Unified Service Desk, appliquez le correctif de Registre côté client et ajoutez des paramètres spécifiques à Citrix dans le fichier de configuration de l’application cliente Unified Service Desk. Cette étape doit être effectuée sur chaque ordinateur où l’application cliente Unified Service Desk est installée.
Configurer une application hébergée à distance
Connectez-vous à l’administrateur de Unified Service Desk.
Sélectionnez Contrôles hébergés sous Paramètres de base.
Sélectionnez + Nouveau.
Précisez ce qui suit dans l’onglet Général de la page Nouveau contrôle hébergé.
Champ active Nom Application Citrix
Spécifiez le nom du contrôle hébergé. Chaque application hébergée doit avoir un nom unique.Sort 5
Remarque : cette valeur est un exemple.
L’ordre de tri spécifie l’ordre dans lequel les applications hébergées sont récupérées et affichées dans Unified Service Desk.Type de composant Unified Service Desk Application hébergée CCA Type d’application hébergée Application hébergée distante L’application est Global Activer la case à cocher Afficher le groupe MainPanel Adaptateur N’utiliser aucun adaptateur
- N’utiliser aucun adaptateur : Spécifie que l’application hébergée ne requiert aucune automatisation.
- Utiliser un adaptateur d’automatisation (HAT) : Spécifie la configuration par défaut utilisée pour la fabrique logicielle HAT. Si l’application hébergée utilise un adaptateur d’automatisation (HAT), spécifiez les informations de liaison de l’application hébergée dans le champ XML d’automatisation dans la section Automatisation. Pour plus d’informations sur les liaisons, voir Utiliser l’Inspecteur UII pour créer des liaisons pour l’application hébergée.
- Utiliser un adaptateur : Spécifie que l’application hébergée utilise un adaptateur personnalisé.
L’application est Dynamics Oui L’utilisateur peut fermer Activer la case à cocher Sélectionnez l’onglet Hébergement et précisez ce qui suit.
Champ Valeur Mode fenêtre de niveau supérieur Aucune URI d’assembly Microsoft.Uii.Csr.CitrixIntegration
Type d’assembly Microsoft.Uii.Csr.CitrixIntegration.CitrixApplicationHostedControl
Nom de fichier ICA C:\Q29udHJvbGxlci5DYWxjdWxhdG9y.ica
Indiquez le chemin d’accès complet au fichier .ica requis pour lancer l’application Citrix. Un fichier .ica contient des informations pour se connecter au serveur distant telles que l’adresse du serveur, les propriétés de session et les informations d’authentification.Tentatives d’acquisition de processus 5
Spécifiez le nombre de fois où le fichier exécutable côté serveur doit analyser la table de processus pour rechercher le processus de fonctionnement de l’application Citrix lancée. Le processus d’application de Citrix peut mettre un peu de temps avant d’apparaître dans la table de processus.Retard d’acquisition de processus 5 000
Spécifiez le délai en millisecondes entre chaque analyse de table de processus.Nom de fichier d’acquisition de processus Spécifiez le chemin d’accès complet et le nom des fichiers d’application Citrix. Cette valeur est utilisée par le fichier exécutable côté serveur pour la comparer aux noms de fichier des processus d’exécution pour rechercher une correspondance. Enregistré le contrôle hébergé.
Note
Citrix génère le fichier ICA à la volée via le portail d’application Citrix. Toutefois, la mise en œuvre prête à l’emploi dans Unified Service Desk ne prend pas en charge le fichier ICA généré à la volée.
Copiez le fichier exécutable, appliquez le correctif de Registre et ajoutez les paramètres de configuration de Citrix
Cette étape doit être effectuée sur chaque ordinateur où l’application cliente Unified Service Desk est installée.
Accédez au dossier
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
où <ExtractedFolder> représente l’emplacement où vous avez extrait le fichier de package du Kit de développement logiciel (SDK) UII téléchargé dans la section Configurer le composant côté serveur pour l’intégration Citrix précédente.Copiez les fichiers suivants du dossier
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
au dossier client Unified Service Desk (généralement C:\Program Files\Microsoft Dynamics CRM USD\USD) :Microsoft.Uii.Csr.CitrixIntegration.exe
AxWFICALib.dll
WFICALib.dll
Appliquez le correctif de Registre sur l’ordinateur client Unified Service Desk pour activer l’utilisation des canaux virtuels personnalisés en exécutant les fichiers suivants disponibles dans le dossier
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
:Pour le client x86 : RegPatch autorise les canaux virtuels personnalisés dans ICAClient.reg
Pour le client x64 : RegPatch autorise les canaux virtuels personnalisés dans ICAClient x64 Client.reg
Note
Si ce correctif de Registre n’est pas appliqué, les communications entre le client et le serveur ne seront plus possibles.
Ajoutez les paramètres d’application suivants dans le fichier UnifiedServiceDesk.exe.config disponible dans le répertoire d’installation du client Unified Service Desk. Ces paramètres d’applications doivent être ajoutés sous le nœud racine
<configuration>
:<appSettings> <add key="CitrixIntegration.VirtualChannelNamePrefix" value="CTXUII"/> <add key="CitrixIntegration.XmitFragmentSize" value="200"/> <add key="CitrixIntegration.RecvTimeoutInMilliseconds" value="2000"/> <add key="CitrixIntegration.HeartbeatMaxWaitInMilliseconds" value="60000"/> <add key="CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds" value="15000"/> </appSettings>
Note
Ces paramètres d’application sont également disponibles dans le composant côté serveur dans le fichier Microsoft.Uii.Csr.CitrixIntegration.exe.config.
Voici une description de chaque clé :
Clé Description CitrixIntegration.VirtualChannelNamePrefix Pour chaque application Citrix lancée, deux canaux virtuels distinctement nommés sont créés et partagent un préfixe commun. Ce paramètre expose le préfixe à la personnalisation, mais normalement ce n’est pas nécessaire. Ce paramètre doit être identique à ceux du côté client et du côté serveur. CitrixIntegration.XmitFragmentSize Les communications des canaux virtuels sont réduites en fragments jusqu’à la limite spécifiée ici. La touche sera couverte en interne si elle dépasse les limites internes (un courrier de suivi doit signaler si cela se produit.) Ce paramètre peut être différent entre le côté client et le côté serveur. CitrixIntegration.RecvTimeoutInMilliseconds Comme pour toutes les communications réseau, les délais d’expiration sont nécessaires pour décider quand l’homologue de communication est indisponible. La communication d’intégration Citrix est de type demande/réponse et ce paramètre indique la durée nécessaire pour retourner la réponse avant que le système abandonne l’attente de la réponse. Ce paramètre peut être différent entre le côté client et le côté serveur. CitrixIntegration.HeartbeatMaxWaitInMilliseconds Toute activité de communication de canal virtuel est comptée comme une « pulsation ». Ce paramètre spécifie la durée maximale qui peut s’écouler sans aucune communication intermédiaire, après quoi, l’un ou l’autre côté des canaux de communication (client ou serveur) conclut que l’homologue opposé est devenu indisponible. Pour le fichier exécutable côté serveur (Microsoft.Uii.Csr.CitrixIntegration.exe), il se termine une fois cette conclusion effectuée. Pour l’instance de contrôle hébergée côté client, il termine le minuteur interne de ping de pulsation. Ce paramètre peut être différent entre le côté client et le côté serveur. CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds Spécifie la période du minuteur qui déclenche des messages PING vers le fichier exécutable côté serveur (Microsoft.Uii.Csr.CitrixIntegration.exe), qui, à son tour répondra avec les messages PONG correspondants. Il s’agit d’éviter que les composants client et serveur concluent incorrectement leur communication. Ce paramètre s’applique uniquement pour le côté client.
Intégration de Citrix : Comment cela fonctionne-t-il ?
Maintenant que vous savez comment configurer l’intégration de Citrix dans Unified Service Desk, voici comment fonctionne l’intégration de Citrix depuis l’instant où un agent démarre le contrôle hébergé dans le client Unified Service Desk jusqu’à la fermeture du contrôle hébergé.
L’agent du service clientèle démarre le contrôle hébergé Citrix depuis le client Unified Service Desk, ce qui lance l’application Citrix sur le serveur Citrix en utilisant le nom de fichier ICA configuré pour le contrôle hébergé.
Le fichier exécutable côté serveur (Microsoft.Uii.Csr.CitrixIntegration.exe) démarre automatiquement, et demande que les paramètres de l’application Citrix soient configurés pour le contrôle hébergé à partir de Unified Service Desk client. Vous avez configuré ces informations à l’étape 8 de la section Configurer une application hébergée à distance
Si les paramètres d’application demande un délai d’attente selon la valeur spécifiée dans le paramètre d’application
CitrixIntegration.RecvTimeoutInMilliseconds
, le fichier exécutable côté serveur (Microsoft.Uii.Csr.CitrixIntegration.exe) en conclut que l’instance d’application Citrix n’est pas une application hébergée UII, et se termine.Si la demande des paramètres de l’application ne dépasse pas le délai d’attente, passez à l’étape suivante.
Utilisation des paramètres d’application du contrôle hébergé Citrix, le fichier exécutable côté serveur (Microsoft.Uii.Csr.CitrixIntegration.exe) traite l’identification du processus d’application Citrix.
Si le processus d’application Citrix ne peut pas être identifié, le fichier exécutable côté serveur continue de s’exécuter et envoie un message semblable au client. Vous pouvez afficher le message si vous avez activé le suivi.
Si le processus d’application Citrix est identifié, le fichier exécutable côté serveur acquiert le processus et exécute l’identification de la fenêtre supérieure désignée pour l’application. La configuration couramment utilisée pour des applications externes est référencée par le fichier exécutable côté serveur et peut être exploitée pour sélectionner une fenêtre supérieure non définie par défaut. Si la fenêtre supérieure est introuvable, le fichier exécutable côté serveur continue de s’exécuter et envoie un message d’information au client qui peut être vu lorsque le suivi a été activé.
Enfin, l’adaptateur d’application du contrôle hébergé est instancié. Les processus et la fenêtre supérieure acquis sont fournis à l’adaptateur et toutes les fonctionnalités de l’adaptateur sont transmises entre le client et le serveur.
Note
Si le processus n’a pas été trouvé, la valeur sera null. Si la fenêtre n’a pas été trouvée, la valeur sera 0. Si l’adaptateur n’a pas pu être instancié, le fichier exécutable côté serveur continue de s’exécuter et envoie un message d’information au client qui peut être vu lorsque le suivi a été activé.
Lorsque l’agent du service clientèle ferme le contrôle hébergé par Citrix dans le client Unified Service Desk, le fichier exécutable côté serveur est également fermé.
Exemple d’adaptateurs Citrix
Voici quelques exemples d’adaptateurs Citrix disponibles pour votre vérification/évaluation.
Exemple d’adaptateur d’application
Un exemple d’adaptateur d’application pour Citrix est disponible dans le package de téléchargement du Kit de développement logiciel (SDK) UII. Pour vérifier/évaluer cet adaptateur :
Téléchargez le package du kit de développement logiciel (SDK) de User Interface Integration (UII).
Double-cliquez sur le fichier du package pour extraire le contenu.
Accédez au dossier
<ExtractedFolder>\UII\SampleCode\UII\Citrix\ApplicationAdapter
. Le fichier README.txt dans le dossier fournit des informations sur cet adaptateur.
Exemple d’adaptateur piloté par des données
Pour faciliter l’utilisation des adaptateurs pilotés par des données (DDA) existants sans nécessiter le développement d’un adaptateur personnalisé, Unified Service Desk fournit l’adaptateur suivant pour consommer la balise DataDrivenAdapterBindings afin d’instancier le DDA et traduire des actions de DDA en appels sur le DDA instancié : Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.dll. Par défaut, cet assembly est disponible dans votre répertoire d’installation du client Unified Service Desk.
Pour utiliser l’exemple d’adaptateur DDA avec votre contrôle hébergé Citrix, mettre à jour la définition du contrôle hébergé pour spécifier les valeurs suivantes sous la zone Configuration de l’adaptateur pour votre contrôle hébergé :
Champ | Valeur |
---|---|
Adaptateur | Utiliser un adaptateur |
URI | Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter |
Type | Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.DdaAutomationAdapter |
Intégration Citrix : Méthodes conseillées
Voici quelques conseils que vous pourriez envisager d’appliquer lors de la configuration de l’intégration avec les applications Citrix.
Assurez-vous que l’application Citrix que vous souhaitez héberger dans Unified Service Desk peut être correctement lancée seule en la démarrant explicitement.
Utilisez le suivi pour identifier et résoudre les problèmes. L’aide de messagerie de suivi vous permet d’identifier et de résoudre des problèmes potentiels. Par défaut, le suivi
Verbose
est activé dans le fichier Microsoft.Uii.Csr.CitrixIntegration.exe.config pour enregistrer les messages d’exécution sur le serveur :<add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
Vous pouvez ensuite utiliser un des fournisseurs de journalisation User Interface Integration (UII), par exemple, le fournisseur de journalisation de fichier, pour créer des journaux de suivi dans un fichier. Les traces apparaitront également dans tous les débogueurs joints. Les mêmes paramètres sur le côté client (fichier UnifiedServiceDesk.exe) activeront le suivi du côté client.
Dans Windows, plusieurs processus exécutant le même programme partagent leurs fichiers d’échange contenant le code exécutable. La nature des programmes .NET est que la compilation juste-à-temps (JIT) compile le langage intermédiaire (IL) à des instructions d’ordinateur (code exécutable) au moment de l’exécution lorsque l’application est lancée. Cette compilation du temps d’exécution empêche le partage de pages de codes sinon identiques, ce qui empêche la page de codes de partager des performances. Comme le fichier exécutable côté serveur (Microsoft.Uii.Csr.CitrixIntegration.exe) est un programme .NET où plusieurs instances peuvent être exécutées sur un ordinateur unique, il est efficace de bénéficier de l’outil Ngen.exe (générateur d’image native) pour créer des images natives des assemblys dépendants pour le fichier exécutable côté serveur et les installer dans le cache d’image native sur l’ordinateur local. Cela permettra de faciliter l’utilisation des ressources serveur en utilisant les images natives du cache au lieu d’utiliser le compilateur JIT pour compiler l’assembly d’origine.