Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Ya no se admite el alojamiento de aplicaciones Citrix en Unified Service Desk.
Integre sus aplicaciones Citrix con Unified Service Desk alojándolas en Unified Service Desk. Esto permite a los agentes de servicio al cliente interactuar con las aplicaciones Citrix desde el cliente de Unified Service Desk mientras trabajan con los datos del cliente en Microsoft Dataverse. Puede configurar una aplicación de Windows como una aplicación virtual en Citrix XenApp 7.6 que se ejecuta como una aplicación alojada en Unified Service Desk. Más información: Requisitos de software para la virtualización de aplicaciones de Citrix XenApp
La aplicación Citrix alojada en el cliente de Unified Service Desk utiliza el protocolo Independent Computing Architecture (ICA) para comunicarse de forma remota con la aplicación en un servidor Citrix. Un archivo Citrix .ica contiene información para conectarse al servidor remoto, como la dirección del servidor, las propiedades de la sesión y la información de autenticación.
Para obtener más información sobre la integración de Unified Service Desk con Citrix, consulte Blog: Citrix y Unified Service Desk
En este tema se proporciona información sobre la configuración de componentes del lado del servidor y del cliente para integrar Unified Service Desk con aplicaciones de Citrix, ejemplos de adaptadores de Citrix y algunas prácticas recomendadas.
Configurar el componente del lado del servidor para la integración de Citrix
El componente del lado del servidor se implementa como un ejecutable (Microsoft.Uii.Csr.CitrixIntegration.exe) que se configura como un programa de inicio para iniciarse automáticamente cuando se inicia una aplicación Citrix. El ejecutable se autotermina rápidamente si la aplicación Citrix no se ha invocado desde un cliente de Unified Service Desk. El componente del lado del servidor debe configurarse en cada servidor Citrix.
Descargue el paquete del SDK de integración de interfaz de usuario (UII).
Haga doble clic en el archivo de paquete para extraer el contenido.
Vaya a la
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
carpeta y, a continuación, copie todos los archivos de esta carpeta en una carpeta (por ejemplo, ServerSideComponent) en su servidor Citrix.En la carpeta ServerSideComponent de su servidor Citrix, edite el archivo
RegPatch Install StartupPrograms on Citrix Server.reg
con el Bloc de notas para configurar el valor del parámetro "StartupPrograms" a la ruta completa del archivo ejecutable Microsoft.Uii.Csr.CitrixIntegration.exe.Aplique el parche de registro en su servidor Citrix ejecutando el
RegPatch Install StartupPrograms on Citrix Server.reg
archivo. Este parche de registro designa un ejecutable como un programa de inicio que se iniciará junto con una aplicación Citrix.
Configurar el componente del lado del cliente para la integración de Citrix
La configuración del lado del cliente para la integración de Citrix implica dos cosas:
Configure una instancia de aplicación alojada UII (
Remote Hosted Application
) en su instancia de Dataverse que se pueda usar directamente sin ningún código personalizado o que se pueda ampliar según sea necesario. Las acciones desencadenadas en las instancias de aplicación alojadas en UII se transmiten al componente del lado del servidor mediante un archivo .ica, donde se distribuyen a los adaptadores de aplicación configurados, si los hay. Para obtener más información acerca de las aplicaciones alojadas en UII, consulte Aplicaciones alojadas en UIICopie el ejecutable de la aplicación Citrix y otros ensamblados necesarios en el directorio de instalación del cliente de Unified Service Desk, aplique el parche del registro del lado del cliente y agregue la configuración específica de Citrix en el archivo de configuración de la aplicación cliente de Unified Service Desk. Este paso debe realizarse en cada equipo en el que esté instalada la aplicación cliente de Unified Service Desk.
Configurar una aplicación alojada remota
Inicie sesión en Unified Service Desk Administrator.
Seleccione Controles hospedados en Configuración básica.
Seleccione + Nuevo.
Especifique lo siguiente en la pestaña General de la página Nuevo control hospedado .
Campo Importancia Nombre Aplicación Citrix
Especifique un nombre para el control hospedado. Cada aplicación hospedada debe tener un nombre único.Ordenar 5
Nota: Este es un valor de ejemplo.
El criterio de ordenación especifica el orden en el que se recuperan y muestran las aplicaciones hospedadas en Unified Service Desk.Tipo de componente de Unified Service Desk Aplicación alojada de CCA Tipo de aplicación alojada Aplicación alojada remota Aplicación Global Seleccione la casilla de verificación Grupo de pantalla Panel principal Adaptador No utilice adaptador
- Usar sin adaptador: especifica que la aplicación alojada no requiere ninguna automatización.
- Usar adaptador de automatización (HAT): especifica la configuración predeterminada que se usará para el kit de herramientas de aplicación hospedada (HAT). Si la aplicación alojada utiliza un adaptador de automatización (HAT), especifique la información de enlace de la aplicación alojada en el campo XML de automatización en el área Automatización . Para obtener más información acerca de los enlaces, consulte Usar el inspector de UII para crear enlaces para la aplicación alojada.
- Usar adaptador: especifica que la aplicación alojada utiliza un adaptador personalizado.
La aplicación es Dynamics Sí El usuario puede cerrar Seleccione la casilla de verificación Seleccione la pestaña Hospedaje y especifique lo siguiente.
Campo Importancia Modo de ventana de nivel superior Ninguno URI de ensamblado Microsoft.Uii.Csr.CitrixIntegration
Tipo de ensamblaje Microsoft.Uii.Csr.CitrixIntegration.CitrixApplicationHostedControl
Nombre de archivo ICA C:\Q29udHJvbGxlci5DYWxjdWxhdG9y.ica
Especifique la ruta completa al archivo .ica necesaria para iniciar la aplicación Citrix. Un archivo .ica contiene información para conectarse al servidor remoto, como la dirección del servidor, las propiedades de la sesión y la información de autenticación.Intentos de adquisición de procesos 5
Especifique el número de veces que el archivo ejecutable del lado del servidor debe examinar la tabla de procesos para buscar el proceso que ejecuta la aplicación Citrix iniciada. El proceso de aplicación de Citrix puede tardar un poco en aparecer en la tabla de procesos.Procesar retraso de adquisición 5000
Especifique el retraso en milisegundos entre cada exploración de la tabla de procesos.Procesar nombre de archivo de adquisición Especifique la ruta completa al nombre del archivo de la aplicación Citrix. Este valor es utilizado por el archivo ejecutable del lado del servidor para compararlo con los nombres de archivo de los procesos en ejecución para encontrar una coincidencia. Guarde el control hospedado.
Nota:
Citrix genera el archivo ICA sobre la marcha mediante el portal de aplicaciones de Citrix. Sin embargo, la implementación preconfigurada de Unified Service Desk no admite archivos ICA generados sobre la marcha.
Copie el ejecutable, aplique el parche del Registro y agregue la configuración de Citrix
Este paso debe realizarse en cada equipo en el que esté instalada la aplicación cliente de Unified Service Desk.
Navegue a la carpeta
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
donde <ExtractedFolder> es la carpeta donde extrajo el archivo de paquete UII SDK descargado en la sección Configurar el componente del lado del servidor para integración de Citrix anterior.Copie los siguientes archivos de la
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
carpeta a la carpeta cliente de Unified Service Desk (normalmente C:\Archivos de programa\Microsoft Dynamics CRM USD\USD):Microsoft.Uii.Csr.CitrixIntegration.exe
AxWFICALib.dll
WFICALib.dll
Para aplicar la revisión del Registro en el equipo cliente de Unified Service Desk y habilitar el uso de canales virtuales personalizados, ejecute los siguientes archivos disponibles en la carpeta
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component
.Para el cliente x86: RegPatch Permitir canales virtuales personalizados en ICAClient.reg
Para el cliente x64: RegPatch Allow Custom Virtual Channels en ICAClient x64 Client.reg
Nota:
Si no se aplica este parche del registro, no será posible la comunicación entre el cliente y el servidor.
Agregue la siguiente configuración de la aplicación en el archivo UnifiedServiceDesk.exe.config disponible en el directorio de instalación del cliente de Unified Service Desk. Esta configuración de la aplicación debe agregarse en el nodo raíz
<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>
Nota:
Esta configuración de la aplicación también está disponible en el componente del lado del servidor en el archivo Microsoft.Uii.Csr.CitrixIntegration.exe.config.
A continuación, se muestra una descripción de cada clave:
Clave Descripción CitrixIntegration.VirtualChannelNamePrefix Para cada aplicación Citrix iniciada, se crean dos canales virtuales con nombres distintos que comparten un prefijo común. Esta configuración expone el prefijo a la personalización, aunque normalmente no será necesario. Esta configuración debe ser idéntica tanto en el lado del cliente como en el del servidor. CitrixIntegration.XmitFragmentSize Las transmisiones de canales virtuales se fragmentan hasta el límite especificado aquí. La clave se limitará internamente en caso de que supere los límites internos (la mensajería de seguimiento debe informar cuando esto suceda). Esta configuración puede diferir entre el lado del cliente y el lado del servidor. CitrixIntegration.RecvTimeoutInMilliseconds Como ocurre con toda la comunicación de la red, los tiempos de espera son necesarios para ayudar a decidir cuándo el par de comunicación no está disponible. La comunicación de integración de Citrix está orientada a solicitud/respuesta, y esta configuración especifica cuánto tiempo se tarda en devolver la respuesta antes de que el sistema abandone la espera de la respuesta. Esta configuración puede diferir entre el lado del cliente y el lado del servidor. CitrixIntegration.HeartbeatMaxWaitInMilliseconds Cualquier actividad de comunicación del canal virtual se cuenta como un "latido". Esta configuración especifica la cantidad máxima de tiempo que puede transcurrir sin que intervenga ninguna comunicación, después de lo cual, cualquiera de los lados de los canales de comunicación (cliente o servidor) concluye que el compañero opuesto no está disponible. Para el ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe), finaliza después de llegar a esta conclusión. Para la instancia de control hospedado del lado del cliente, termina el temporizador de ping de latido interno. Esta configuración puede diferir entre el lado del cliente y el lado del servidor. CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds Especifica el período de un temporizador que desencadena mensajes PING en el ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe), que a su vez responderá con los mensajes PONG correspondientes. Esto es para evitar que los componentes del cliente y del servidor concluyan incorrectamente su comunicación. Esta configuración solo es aplicable para el lado del cliente.
Integración de Citrix: ¿Cómo funciona?
Ahora que sabe cómo configurar la integración de Citrix en Unified Service Desk, así es como funciona la integración de Citrix desde que un agente inicia el control alojado en el cliente de Unified Service Desk hasta que se cierra el control alojado.
El agente de servicio al cliente inicia el control alojado de Citrix desde el cliente de Unified Service Desk, que inicia la aplicación de Citrix en el servidor de Citrix mediante el nombre de archivo ICA configurado para el control alojado.
El ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) se inicia automáticamente y solicita la configuración de la aplicación Citrix configurada para el control alojado desde el cliente de Unified Service Desk. Configuró esta información en el paso 8 de la sección Configurar una aplicación alojada remota
Si se agota el tiempo de espera de la solicitud de configuración de la aplicación en función del valor especificado en la configuración de la
CitrixIntegration.RecvTimeoutInMilliseconds
aplicación, el ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) concluye que la instancia de la aplicación Citrix no es una aplicación alojada en UII y finaliza.Si el tiempo de espera de la solicitud de configuración de la aplicación no termina, continúe con el siguiente paso.
Mediante la configuración de la aplicación del control hospedado Citrix, el ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) procede a identificar el proceso de la aplicación Citrix.
Si no se pudo identificar el proceso de la aplicación Citrix, el ejecutable del lado del servidor permanece en ejecución y envía un mensaje al cliente sobre lo mismo. Puede ver el mensaje si ha activado el seguimiento.
Si se identifica el proceso de la aplicación Citrix, el ejecutable del lado del servidor adquiere el proceso y continúa identificando la ventana superior designada para la aplicación. El ejecutable del lado del servidor hace referencia a la configuración comúnmente utilizada para las aplicaciones externas y se puede aprovechar para seleccionar una ventana superior no predeterminada. Si no se pudo encontrar la ventana superior, el ejecutable del lado del servidor permanece en ejecución y envía un mensaje de información al cliente que se puede ver cuando se ha activado el seguimiento.
Finalmente, se instancia el adaptador de la aplicación del control hospedado. El proceso y la ventana superior adquiridos se proporcionan al adaptador, y todas las operaciones del adaptador se distribuyen entre el cliente y el servidor en este momento.
Nota:
Si no se pudo encontrar el proceso, el valor será nulo. Si no se pudo encontrar la ventana, el valor será 0. Si no se pudo crear una instancia del adaptador, el ejecutable del lado servidor permanece en ejecución y envía un mensaje de información al cliente que se puede ver cuando se ha activado el seguimiento.
Cuando el agente de servicio al cliente cierra el control alojado de Citrix en el cliente de Unified Service Desk, también se termina el ejecutable del lado del servidor.
Ejemplos de adaptadores Citrix
Estos son algunos ejemplos de adaptadores Citrix disponibles para que los revise o pruebe.
Ejemplo de adaptador de aplicación
Un adaptador de aplicación de ejemplo para Citrix está disponible en el paquete de descarga del SDK de UII. Para revisar/probar este adaptador:
Descargue el paquete del SDK de integración de interfaz de usuario (UII).
Haga doble clic en el archivo de paquete para extraer el contenido.
Vaya a la carpeta
<ExtractedFolder>\UII\SampleCode\UII\Citrix\ApplicationAdapter
. El archivo README.txt de la carpeta proporciona información sobre este adaptador.
Ejemplo de adaptador Data-Driven
Para facilitar el uso de adaptadores controlados por datos (DDA) existentes sin requerir el desarrollo de un adaptador personalizado, Unified Service Desk proporciona el siguiente adaptador para consumir la etiqueta DataDrivenAdapterBindings para instanciar el DDA, y para traducir acciones DDA a llamadas en el DDA instanciado: Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.dll. De forma predeterminada, este ensamblado está disponible en el directorio de instalación del cliente de Unified Service Desk.
Para utilizar el adaptador DDA de ejemplo con el control alojado de Citrix, actualice la definición del control alojado para especificar los siguientes valores en el área Configuración del adaptador para el control alojado:
Campo | Importancia |
---|---|
Adaptador | Usar adaptador |
URI | Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter |
Tipo | Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.DdaAutomationAdapter |
Integración de Citrix: Prácticas recomendadas
Estas son algunas de las cosas que podría considerar hacer al configurar la integración con las aplicaciones de Citrix.
Asegúrese de que la aplicación Citrix que desea alojar en Unified Service Desk se pueda iniciar correctamente por sí sola iniciándola explícitamente.
Utilice el seguimiento para identificar y solucionar problemas. La mensajería de seguimiento le ayuda a identificar y solucionar problemas, si los hay. De forma predeterminada
Verbose
, el seguimiento está habilitado en el archivo Microsoft.Uii.Csr.CitrixIntegration.exe.config para registrar los mensajes de ejecución en el servidor:<add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
A continuación puede usar uno de los proveedores de registro User Interface Integration (UII) estándar, por ejemplo, el proveedor del registro de archivos, para escribir los registros de seguimiento en un archivo. Los seguimientos también aparecerán en los depuradores adjuntos. La misma configuración en el lado del cliente (archivoUnifiedServiceDesk.exe.config) activará el seguimiento en el lado del cliente.
En Windows, varios procesos que ejecutan el mismo programa comparten sus páginas de memoria que contienen código ejecutable. La naturaleza de los programas .NET es que el compilador Just-In-Time (JIT) compila el lenguaje intermedio (IL) en instrucciones de máquina (código ejecutable) en tiempo de ejecución cuando se inicia la aplicación. Esta compilación en tiempo de ejecución impide el uso compartido de páginas de códigos idénticas, lo que impide la optimización del uso compartido de páginas de códigos. Dado que el ejecutable del lado servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) es un programa .NET en el que se pueden ejecutar varias instancias en un solo equipo, será eficaz aprovechar la herramienta Ngen.exe (Generador de imágenes nativas) para crear imágenes nativas de los ensamblados dependientes para el ejecutable del lado servidor e instalarlas en la caché de imágenes nativas del equipo local. Esto facilitará un mejor uso de los recursos del servidor mediante el uso de imágenes nativas de la memoria caché en lugar de utilizar el compilador JIT para compilar el ensamblado original.