Integrar con aplicaciones Citrix

 

Publicado: noviembre de 2016

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Integre sus aplicaciones Citrix con Unified Service Desk hospedándolas en Unified Service Desk. Esto permite que los agentes de servicio al cliente interactúen con las aplicaciones Citrix dentro del cliente de Unified Service Desk mientras trabajan en los datos de clientes en Microsoft Dynamics 365. Puede configurar una aplicación de Windows como aplicación virtual en Citrix XenApp 7.6 que se ejecuta como aplicación hospedada en Unified Service Desk. Más información: TechNet: Requisitos de software de la virtualización de aplicaciones Citrix XenApp

La aplicación Citrix hospedada en el cliente de Unified Service Desk usa el protocolo Independent Computing Architecture (ICA) para comunicarse de forma remota con la aplicación en un servidor de Citrix. Un archivo .ica de Citrix contiene información para conectarse al servidor remoto, como la dirección del servidor, las propiedades de sesión, y la información de autenticación.

Para obtener más información acerca de la integración de Unified Service Desk con Citrix, vea Blog: Citrix y Unified Service Desk

En este tema se proporciona información acerca de la configuración de los componentes del lado del servidor y del cliente para integrar Unified Service Desk con aplicaciones Citrix, adaptadores Citrix de ejemplo, y prácticas recomendadas.

En este tema

Configurar el componente del lado del servidor para integración Citrix

Configurar el componente del lado del cliente para integración Citrix

Integración de Citrix: ¿Cómo funciona?

Adaptadores Citrix de ejemplo

Integración de Citrix: Prácticas recomendadas

Configurar el componente del lado del servidor para integración Citrix

El componente del lado del servidor se implementa como un ejecutable (Microsoft.Uii.Csr.CitrixIntegration.exe) configurado como programa de inicio para iniciarse automáticamente cuando se inicia una aplicación Citrix. El ejecutable se termina pronto si la aplicación Citrix no se ha invocado desde un cliente de Unified Service Desk. El componente de lado del servidor debe configurarse en cada servidor de Citrix.

  1. Descargue el paquete del SDK de User Interface Integration (UII).

  2. Para extraer el contenido, haga doble clic en el archivo del paquete.

  3. Navegue a la carpeta <ExtractedFolder>\UII\Bin\UII\Citrix Server Component y después copie todo los archivos de la carpeta a una carpeta (por ejemplo, ServerSideComponent) en el servidor de Citrix.

  4. En la carpeta ServerSideComponent en el servidor de Citrix, edite el archivo RegPatch Install StartupPrograms on Citrix Server.reg mediante el Bloc de notas para establecer el valor del parámetro "StartupPrograms" como la ruta de acceso completa del archivo ejecutable Microsoft.Uii.Csr.CitrixIntegration.exe.

  5. Aplica la revisión del registro en el servidor de Citrix ejecutando el archivo RegPatch Install StartupPrograms on Citrix Server.reg. Esta revisión de registro designa un ejecutable como programa de inicio que se lanzará junto a una aplicación de Citrix.

Configurar el componente del lado del cliente para integración Citrix

La configuración del lado del cliente para la integración Citrix implica dos cosas:

  • Configure una instancia de aplicación hospedada UII (Remote Hosted Application) en su instancia de Dynamics 365 que puede usarse directamente sin código personalizado, o puede ser extendida si es necesario. Las acciones desencadenadas en las instancias de aplicación hospedada UII se transmiten al componente del lado del servidor usando un archivo .ica, donde se envía a los adaptadores de aplicación configurados, si los hay. Para obtener más información sobre aplicaciones hospedadas de la UII, vea Aplicaciones hospedadas de UII

  • Copie el ejecutable de la aplicación Citrix y otros ensamblados necesarios en el directorio de instalación del cliente de Unified Service Desk, aplique la revisión del registro del lado del cliente, y agregue 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 donde la aplicación cliente de Unified Service Desk está instalada.

Configurar una aplicación hospedada remota

  1. Inicie sesión en Microsoft Dynamics 365.

  2. Vaya a Configuración > Unified Service Desk.

  3. Haga clic en Controles hospedadasy, a continuación haga clic en Nuevo.

  4. En la página Nuevo control hospedado, en el área General, especifique, un criterio de ordenación y un nombre para mostrar del control hospedado. Cada aplicación hospedada debe tener un nombre único. El criterio de ordenación especifica el orden en que las aplicaciones hospedadas se recuperan y muestran en Unified Service Desk.

  5. En el área Unified Service Desk, seleccione Aplicación hospedada de CCA en la lista Tipo de componente de USD.

  6. En el área Tipo de aplicación hospedada, seleccione Aplicación hospedada remota de la lista Aplicación hospedada.

  7. En la sección Configuración del adaptador hay tres configuración del adaptador a elegir de la lista Adaptador:

    1. No usar adaptador: especifica que la aplicación hospedada no requiera ninguna automatización.

    2. 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 hospedada usa un adaptador de automatización (HAT), especifique la información de enlace de la aplicación hospedada en el campo XML de automatización en el área Automatización. Para obtener más información sobre enlaces, vea Use el inspector de UII para crear enlaces para la aplicación hospedada.

    3. Usar adaptador: especifica que la aplicación hospedada usa un adaptador personalizado.

    Para obtener información acerca del uso de adaptadores para la integración de Citrix, consulte Adaptadores Citrix de ejemplo

  8. En el área Configuración de la aplicación Citrix, especifique los siguientes valores:

    • Nombre de archivo ICA: escriba la ruta de acceso completa al archivo .ica requerido para el lanzamiento de la aplicación Citrix. Un archivo .ica contiene información para conectarse al servidor remoto, como la dirección del servidor, las propiedades de sesión, y la información de autenticación.

    • Procesar intentos de adquisición: especifique el número de veces que el archivo ejecutable del lado del servidor debe examinar la tabla de proceso para buscar el proceso que ejecuta la aplicación Citrix lanzada. El proceso de aplicación Citrix puede llevar un tiempo en aparecer en la tabla de procesos.

    • Procesar retraso de adquisición: especifique el retraso en milisegundos entre cada exploración de tabla de procesos.

    • Procesar nombre de archivo de adquisición: escriba la ruta de acceso completa del nombre de archivo de la aplicación Citrix. Este valor es usado por el archivo ejecutable del lado del servidor para compararlo con los nombres de archivo de los procesos en ejecución para buscar una coincidencia.

  9. Guarde el control hospedado.

Copie el ejecutable, aplique la revisión del Registro, y agregue valores de configuración de Citrix

Este paso debe realizarse en cada equipo donde la aplicación cliente de Unified Service Desk está instalada.

  1. 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 Citrix anterior.

  2. Copie los siguientes archivos de la carpeta <ExtractedFolder>\UII\Bin\UII\Citrix Server Component a la carpeta del cliente Unified Service Desk (normalmente C:\Program Files\Microsoft Dynamics CRM USD\USD):

    • Microsoft.Uii.Csr.CitrixIntegration.exe

    • AxWFICALib.dll

    • WFICALib.dll

  3. Aplique la revisión del Registro en el equipo cliente Unified Service Desk para habilitar el uso de canales virtuales personalizados ejecutando los siguientes archivos disponibles en la carpeta <ExtractedFolder>\UII\Bin\UII\Citrix Server Component:

    • Para el cliente x86: RegPatch Allow Custom Virtual Channels en ICAClient.reg

    • Para el cliente x64: RegPatch Allow Custom Virtual Channels en ICAClient x64 Client.reg

    Nota

    Si no se aplica esta revisión del Registro, la comunicación entre el cliente y el servidor no será posible.

  4. Agregue la siguiente configuración de 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 se debe agregar bajo el nodo <configuration> raíz:

    <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 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 encontrará una descripción de cada clave:

    Clave

    Descripción

    CitrixIntegration.VirtualChannelNamePrefix

    Para cada aplicación Citrix lanzada, dos canales virtuales con nombres diferenciados se crean compartiendo un prefijo común. Este valor expone el prefijo a personalización, aunque normalmente no será necesario. Este valor debe ser idéntico en el lado del cliente y del servidor.

    CitrixIntegration.XmitFragmentSize

    Las transmisiones de canal virtual se fragmentan hasta el límite especificado aquí. La clave se limitará internamente si supera los límites internos (la mensajería de seguimiento debe informar cuando esto suceda). Esta configuración puede ser diferente entre el lado del cliente y el 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 este valor especifica cuánto tiempo se tarda en devolver la respuesta antes de que el sistema deje de esperar la respuesta. Esta configuración puede ser diferente entre el lado del cliente y el del servidor.

    CitrixIntegration.HeartbeatMaxWaitInMilliseconds

    Cualquier actividad de comunicación de canal virtual se cuenta como un "latido". Este valor especifica el tiempo máximo que puede transcurrir sin ninguna comunicación que intervenga, después de lo cual, cualquiera de los lados de los canales de comunicaciones (cliente o servidor) concluye que el par opuesto ha dejado de estar disponible. Para el ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe), termina 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 ser diferente entre el lado del cliente y el del servidor.

    CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds

    Especifica el período de un temporizador que desencadena mensajes PING al ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe), que a su vez responderá con mensajes PONG correspondientes. Esto es para evitar que los componentes del cliente y del servidor concluyan incorrectamente su comunicación. Esta configuración solo aplicable para el lado del cliente.

Integración de Citrix: ¿Cómo funciona?

Ahora que sabe configurar la integración de Citrix en Unified Service Desk, así cómo funciona la integración de Citrix desde el momento en que un agente inicia el control hospedado en el cliente de Unified Service Desk hasta que se cierra el control hospedado.

  1. El agente de servicio al cliente inicia el control hospedado de Citrix desde el cliente de Unified Service Desk, que lanza la aplicación Citrix en el servidor de Citrix usando el nombre de archivo ICA configurado para el control hospedado.

  2. 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 establecida para el control hospedado desde el cliente de Unified Service Desk. Ha configurado esta información en el paso 8 de la sección Configurar una aplicación hospedada remota

  3. Si la configuración de la aplicación solicita tiempos de espera en función del valor especificado en el valor de la aplicación CitrixIntegration.RecvTimeoutInMilliseconds, el ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) concluye que la instancia de aplicación Citrix no es una aplicación hospedado de 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.

  4. 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 el proceso de la aplicación Citrix no se pudo identificar, el ejecutable del lado del servidor se mantiene en ejecución, y envía un mensaje al cliente al respecto. Puede ver el mensaje si ha activado el seguimiento.

    • Si se identifica el proceso de aplicación Citrix, el ejecutable del lado del servidor adquiere el proceso, e continúa con la identificación de la ventana superior designada para la aplicación. El ejecutable del lado del servidor hace referencia a la configuración utilizada normalmente para aplicaciones externas y se puede aprovechar para seleccionar una ventana superior no predeterminada. Si la ventana superior no se encontró, el ejecutable del lado del servidor permanece en ejecución y envía un mensaje de información al cliente que puede ser visto cuando el seguimiento se ha activado.

  5. 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 el proceso no se pudo encontrar, el valor será nulo. Si la ventana no se pudo encontrar, el valor será 0. Si el adaptador no se pudo instanciar, el ejecutable del lado del servidor permanece en ejecución y envía un mensaje de información al cliente que puede ser visto cuando el seguimiento se ha activado.

  6. Cuando el agente de servicio al cliente cierra el control hospedado Citrix en el cliente de Unified Service Desk, el ejecutable del lado del servidor también finaliza.

Adaptadores Citrix de ejemplo

A continuación encontrará adaptadores Citrix de ejemplo disponibles para revisar o probar.

Adaptador de aplicación de ejemplo

El adaptador de aplicación de ejemplo para Citrix está disponible en el paquete de descarga de UII SDK. Para revisar o probar este adaptador:

  1. Descargue el paquete del SDK de User Interface Integration (UII).

  2. Para extraer el contenido, haga doble clic en el archivo del paquete.

  3. Navegue a la carpeta <ExtractedFolder>\UII\SampleCode\UII\Citrix\ApplicationAdapter. El archivo README.txt en la carpeta proporciona información sobre este adaptador.

Adaptador basado en datos de ejemplo

Para facilitar el uso de adaptadores controlados por datos (DDAs) 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 usar el adaptador DDA de ejemplo con el control hospedado Citrix, actualice la definición del control hospedado para especificar los siguientes valores en el área Configuración del adaptador para el control hospedado:

Campo

Valor

Adaptador

Usar adaptador

URI

Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter

Tipo

Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.DdaAutomationAdapter

Integración de Citrix: Prácticas recomendadas

Estos son algunos puntos que puede considerar realizar mientras configura la integración con aplicaciones Citrix.

  • Asegúrese de que la aplicación Citrix que desea hospedar en Unified Service Desk se puede lanzar correctamente de manera independiente iniciándola explícitamente.

  • Use el seguimiento para identificar y solucionar problemas. La mensajería de seguimiento ayuda a identificar y solucionar problemas, si los hay. De forma predeterminada el seguimiento de Verbose 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. Los mismos valores en el lado del cliente (archivo UnifiedServiceDesk.exe.config) activarán 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 evita compartir páginas de código idénticas por lo demás, lo que impide la optimización compartida de páginas de código. Puesto que el ejecutable del lado del servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) es un programa .NET donde varias instancias puede ejecutarse en un mismo equipo, será efectivo aprovechar la herramienta Ngen.exe (generador de imagen nativa) para crear imágenes nativas de los ensamblados dependientes para el ejecutable del lado del servidor, e instalarlos en la memoria caché de imagen nativa del equipo local. Esto facilitará un mayor aprovechamiento de recursos del servidor mediante el uso de imágenes nativos desde la caché en vez de usar el compilador JIT para compilar el ensamblado original.

Ver también

Aplicaciones hospedadas de UII
Crear y administrar aplicaciones hospedadas de UII
Extender Servicios unificados

Unified Service Desk 2.0

© 2017 Microsoft. Todos los derechos reservados. Copyright