Integrar a aplicativos Citrix
Publicado: novembro de 2016
Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Integrar seus aplicativos do Citrix com o Unified Service Desk ao hospedá-los no Unified Service Desk. Isso permite que os agentes do serviço do cliente interajam com os aplicativos Citrix no cliente Unified Service Desk ao trabalhar com os dados do cliente no Microsoft Dynamics 365. É possível definir um aplicativo do Windows como um aplicativo virtual no Citrix XenApp 7.6 que é executado como um aplicativo hospedado no Unified Service Desk. Mais informações: TechNet: Requisitos de software para a virtualização do aplicativo Citrix XenApp
O aplicativo Citrix hospedado no cliente Unified Service Desk usa o protocolo Arquitetura de informática independente para comunicar remotamente com o aplicativo em um servidor do Citrix. Um arquivo Citrix .ica contém informações para conectar ao servidor remoto como os endereços do servidor, propriedades da seção e as informações de autenticação.
Para obter mais informações sobre como integrar Unified Service Desk com Citrix, consulte Blog: Citrix e Unified Service Desk.
Esse tópico fornece informações sobre como configurar componentes do servidor e do cliente para interagir Unified Service Desk com os aplicativos Citrix, amostras de adaptadores Citrix e algumas melhores práticas.
Neste tópico
Configurar o componente do cliente para a integração Citrix
Configure o componente do cliente para a integração Citrix
Integração Citrix: Como funciona?
Amostras de adaptadores Citrix
Integração Citrix: Práticas recomendadas
Configurar o componente do cliente para a integração Citrix
O componente do servidor é implementado como executável (Microsoft.Uii.Csr.CitrixIntegration.exe) que está configurado como um programa de inicialização que será iniciado com um aplicativo Citrix. O executável é encerrado se o aplicativo Citrix não for invocado a partir de um cliente Unified Service Desk. O componente do servidor deve ser configurado em cada servidor Citrix.
Faça o download do User Interface Integration (UII) SDK package.
Clique duas vezes no arquivo do pacote para extrair o conteúdo.
Navegue até a pasta <ExtractedFolder>\UII\Bin\UII\Citrix Server Component e copie todos os arquivos nesta pasta para uma pasta (e.g. ServerSideComponent) no seu servidor Citrix.
Na pasta ServerSideComponent em seu servidor Citrix, edite o arquivo RegPatch Install StartupPrograms on Citrix Server.reg usando o Notepad para definir o valor do parâmetro "StartupPrograms" para o caminho do arquivo completo do Microsoft.Uii.Csr.CitrixIntegration.exe executável.
Aplique o caminho do registro em seu servidor Citrix ao executar o arquivo RegPatch Install StartupPrograms on Citrix Server.reg. Este patch de registro designa um executável como um programa de inicialização que será iniciado com o aplicativo Citrix.
Configure o componente do cliente para a integração Citrix
A configuração do local do cliente para a integração Citrix envolve:
Configure uma instância do aplicativo hospedado pelo UII (Remote Hosted Application) em sua instância do Dynamics 365 que pode ser usada diretamente sem o código de personalização ou pode ser estendido conforme necessário. As ações realizadas nas instâncias do aplicativo hospedado pelo UII são transmitidas para o componente do servidor usando um arquivo .ica, que será enviado para os adaptadores do aplicativo configurados, se houver. Para obter mais informações sobre controles hospedados da UII, consulte Aplicativos hospedados do UII
Copie o executável do aplicativo Citrix e outros assemblies necessários no diretório da instalação do cliente Unified Service Desk, aplique o patch do registro do cliente e adicione configurações específicas do Citrix no arquivo de configuração do aplicativo do cliente Unified Service Desk. Esta etapa deve ser realizada em todos os computadores em que o aplicativo do cliente Unified Service Desk está instalado.
Configurar um aplicativo hospedado remotamente
Entre no Microsoft Dynamics 365.
Vá para Configurações > Unified Service Desk.
Clique em Controles hospedados, e clique em Novo.
Na página Novo Controle Hospedado, na área Geral, especifique um nome, uma ordem de classificação e um nome de exibição para o aplicativo hospedado. Cada aplicativo hospedado deve ter um nome exclusivo. A classificação especifica a ordem em que os aplicativos hospedados são recuperados e exibidos em Unified Service Desk.
Na área Unified Service Desk, selecione Aplicativo hospedado CCA na lista Tipo de componente USD.
Na área Tipo de aplicativo hospedado, selecione Aplicativo hospedado remotamente na lista Aplicativo hospedado.
Na seção Configuração do Adaptador, existem três configurações de adaptador para serem escolhidas na lista suspensa Adaptador:
Não use um adaptador : Especifica se o aplicativo hospedado não exige uma automação.
Usar Adaptador de Automação (HAT) – Especifica a configuração padrão usada nas operações de software de HAT (kit de ferramentas do aplicativo hospedado). Se o aplicativo hospedado usa um HAT (kit de ferramentas do aplicativo hospedado), especifique as informações de associação do aplicativo hospedado no campo XML da automação na área Automação. Para obter mais informações sobre as associações, consulte Use o inspetor de UII para criar associações para o aplicativo hospedado.
Usar Adaptador: Especifica se o aplicativo hospedado usa um adaptador personalizado.
Para obter informações sobre como usar adaptadores para a integração do Citrix, consulte Amostras de adaptadores Citrix
Na área Configurações do aplicativo Citrix especifique os seguintes valores:
Nome do arquivo ICA: Especifique o caminho completo para o arquivo .ica necessário para iniciar o aplicativo Citrix. Um arquivo .ica contém informações de conexão ao servidor remoto, como o endereço do servidor, propriedades da seção e informações de autenticação.
Tentativas de aquisição do processo: Especifique o número de vezes que o arquivo executável do servidor deve verificar a tabela de processos para procurar o processo que está executando o aplicativo Citrix iniciado. O processo do aplicativo Citrix pode demorar um pouco para ser exibido na tabela do processo.
Atraso de aquisição do processo: Especifique o atraso em milissegundos entre cada verificação da tabela do processo.
Nome do arquivo do Processo de aquisição: especifique o caminho completo para nome do arquivo do aplicativo Citrix. Este valor é usado pelo arquivo executável do servidor para fazer uma comparação com os nomes de arquivo de processos em execução para encontrar uma correspondência.
Salve os controles hospedados.
Copie o executável, aplique o patch do registro e adicione as configurações do Citrix
Esta etapa deve ser realizada em todos os computadores com o aplicativo do cliente Unified Service Desk instalado.
Navegue até a pasta <ExtractedFolder>\UII\Bin\UII\Citrix Server Component onde <ExtractedFolder> é a localização de que você extraiu o arquivo do pacote UII SDK na seção Configurar o componente do cliente para a integração Citrix anteriormente.
Copie os seguintes arquivos da pasta <ExtractedFolder>\UII\Bin\UII\Citrix Server Component para a pasta do cliente Unified Service Desk (geralmente C:\Program Files\Microsoft Dynamics CRM USD\USD):
Microsoft.Uii.Csr.CitrixIntegration.exe
AxWFICALib.dll
WFICALib.dll
Aplique o patch do registro em seu computador cliente Unified Service Desk para permitir a utilização de canais virtuais personalizados ao executar os seguintes arquivos disponíveis na pasta <ExtractedFolder>\UII\Bin\UII\Citrix Server Component:
Para o cliente x86: RegPatch permite canais virtuais personalizados no ICAClient.reg
Para o cliente x64: RegPatch permite canais virtuais personalizados no ICAClient x64 Client.reg
Dica
Se este patch do registro não for aplicado, a comunicação entre o cliente e o servidor não será possível.
Adicione as seguintes configurações do aplicativo no arquivo UnifiedServiceDesk.exe.config disponível no diretório de instalação do cliente Unified Service Desk. Essas configurações do aplicativo devem ser adicionadas no nó <configuration> raiz:
<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>
Dica
Essas configurações do aplicativo também estão disponíveis no componente do servidor no arquivo Microsoft.Uii.Csr.CitrixIntegration.exe.config.
Veja a seguir uma descrição de cada chave:
Chave
Descrição
CitrixIntegration.VirtualChannelNamePrefix
Para cada aplicativo Citrix iniciado, dois canais virtuais com nomes diferentes são criados e eles compartilham um prefixo comum. Essa configuração expõe o prefixo para a personalização, mas normalmente, isso não será necessário. Esta configuração deve ser idêntica no cliente e no servidor.
CitrixIntegration.XmitFragmentSize
As transmissões do canal virtual são fragmentadas até o limite especificado aqui. A chave será substituída se exceder os limites internos (as mensagens de rastreamento devem ser reportadas quando isso ocorrer.) Esta configuração pode ser diferentes entre o cliente e o servidor.
CitrixIntegration.RecvTimeoutInMilliseconds
Como acontece com toda a comunicação em rede, o tempo limite é necessário para ajudar a decidir quando o ponto de comunicação estiver indisponível. A comunicação de integração é orientada pela relação solicitação/resposta e essa configuração especifica o tempo necessário para retornar a resposta antes que o sistema seja abandonado aguardando a resposta. Esta configuração pode ser diferentes entre o cliente e o servidor.
CitrixIntegration.HeartbeatMaxWaitInMilliseconds
Qualquer atividade de comunicação do canal virtual é contabilizada como "pulso". Esta configuração especifica o valor máximo de tempo que pode transcorrer sem intervenção de comunicação. Depois desse período, todos os lados dos canais de comunicação (cliente ou servidor) conclui que o oposto do mesmo nível foi indisponibilizado. Para o executável do servidor (Microsoft.Uii.Csr.CitrixIntegration.exe), ele será encerrado depois de fazer essa conclusão. Para a instância do controle hospedado do cliente, o temporizador de pulso interno será encerrado. Esta configuração pode ser diferentes entre o cliente e o servidor.
CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds
Especifica o período de um temporizador que aciona as mensagens PING para o executável do servidor (Microsoft.Uii.Csr.CitrixIntegration.exe), que será respondido com as mensagens PONG. Isso ocorre para evitar que os componentes do cliente e do servidor concluam de maneira suas comunicações de maneira incorreta. Esta configuração só está disponível para o cliente.
Integração Citrix: Como funciona?
Agora que você sabe como configurar a integração Citrix no Unified Service Desk, veja como a integração Citrix funciona desde quando um agente inicia o controle hospedado no cliente do Unified Service Desk até quando o controle hospedado é fechado.
O agente do serviço do cliente inicia o controle hospedado Citrix no cliente Unified Service Desk, que inicia o aplicativo Citrix no servidor Citrix usando o Nome do arquivo ICA configurado para o controle hospedado.
O executável do cliente (Microsoft.Uii.Csr.CitrixIntegration.exe) é iniciado automaticamente e solicita as configurações do aplicativo Citrix configuradas para o controle hospedado no cliente Unified Service Desk. Você configurou esta informação na etapa 8 na seção Configurar um aplicativo hospedado remotamente
Se o tempo limite da solicitação das configurações do aplicativo for atingido com base no valor especificado na configuração do aplicativo CitrixIntegration.RecvTimeoutInMilliseconds, o executável do servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) conclui que a instância do aplicativo Citrix não é um aplicativo hospedado, e é encerrado.
Se a solicitação das configurações do aplicativo não atingirem o tempo limite, siga para a próxima etapa.
Ao usar as configurações do aplicativo do controle hospedado Citrix, o executável do servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) continua para identificar o processo do aplicativo Citrix.
Se o processo do aplicativo Citrix não puder ser identificado, o executável do servidor continuará em execução e enviará uma mensagem ao cliente sobre isso. É possível visualizar a mensagem se você ativou o rastreamento.
Se o processo de aplicação do Citrix for identificado, o executável do servidor adquire o processo e continua identificando a janela superior criada para o aplicativo. A configuração usada para os aplicativos externos é referenciada pelo executável do servidor e pode ser aproveitada para selecionar uma janela superior não padrão. Se a janela superior não puder ser localizada, o executável do servidor continuará em execução e enviará uma mensagem de Informações para o cliente que pode ser visto quando o rastreamento estiver ativado.
Por fim, o adaptador do aplicativo para o controle hospedado é criado. O processo adquirido e a janela superior são fornecidos para o adaptador e todas as operações do adaptador são encaminhadas entre o cliente e o servidor.
Dica
Se o processo não puder ser localizado, o valor será nulo. Se a janela não puder ser localizada, o valor será 0. Se o adaptador não puder ser criado, o executável do servidor continuará em execução e enviará uma mensagem de Informações para o cliente que pode ser visto quando o rastreamento estiver ativado.
Quando agente do SAC fecha o controle hospedado do Citrix no cliente Unified Service Desk, o executável do cliente também é encerrado.
Amostras de adaptadores Citrix
Veja algumas amostras dos adaptadores Citrix disponíveis para sua revisão.
Amostra do adaptador do aplicativo
Uma amostra do adaptador do aplicativo para o Citrix está disponível no pacote do download do UII SDK. Para revisar/experimentar este adaptador:
Faça o download do User Interface Integration (UII) SDK package.
Clique duas vezes no arquivo do pacote para extrair o conteúdo.
Navegue até a pasta <ExtractedFolder>\UII\SampleCode\UII\Citrix\ApplicationAdapter. O arquivo README.txt na pasta fornece informações sobre esse adaptador.
Amostra do adaptador de dados
Para facilitar o uso de adaptadores orientados a dados (DDAs) existentes sem exigir desenvolvimento de um adaptador personalizado, o Unified Service Desk fornece o seguinte adaptador para usar a marca DataDrivenAdapterBindings para criar o DDA e para traduzir as Ações DDA nas chamadas no DDA criado: Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.dll. Por padrão, essa conquista está disponível em seu diretório da instalação do cliente do Unified Service Desk.
Para usar o adaptador DDA com seu controle hospedado Citrix, atualize a definição do controle hospedado para especificar os seguintes valores na área Configuração do adaptador para seu controle hospedado:
Campo |
Valor |
---|---|
Adaptador |
Usar Adaptador |
URI |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter |
Tipo |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.DdaAutomationAdapter |
Integração Citrix: Práticas recomendadas
Veja alguns fatores que você deve considerar ao configurar a integração com os aplicativos Citrix.
Verifique se o aplicativo do Citrix que você deseja hospedar em Unified Service Desk pode ser iniciado sozinho. Para fazer isso, abra o aplicativo.
Use o rastreamento para identificar e resolver problemas. As mensagens de rastreamento ajudam você a identificar e solucionar problemas , se houver. Por padrão, o rastreamento do Verbose é habilitado no arquivo Microsoft.Uii.Csr.CitrixIntegration.exe.config para fazer logon nas mensagens de execução no servidor:
<add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
Em seguida, você poderá usar um dos fornecedores padrão de registro User Interface Integration (UII), por exemplo, (o fornecedor de registro do arquivo, para escrever os registros de rastreamento em um arquivo. Os rastreamentos também serão exibidos nos depuradores anexados. As mesmas configurações do cliente (UnifiedServiceDesk.exe.config) ativarão o rastreamento do cliente.
No Windows, vários processos que estão executando o mesmo programa compartilham suas páginas de memória que contém códigos executáveis. A natureza dos programas .NET é que o compilador JIT compila a linguagem intermediária para instruções automáticas (código executável) no tempo de execução quando o aplicativo é iniciado. Este tempo de execução de compilação impede o compartilhamento de páginas de código idênticas, que impedem que a página de código compartilhe a otimização. Como o executável do servidor (Microsoft.Uii.Csr.CitrixIntegration.exe) é um programa .Net em que várias instâncias podem estar executando em um único computador, será possível aproveitar a ferramenta Ngen.exe (Gerador de imagens nativas) para criar imagens nativas dos assemblies dependentes para o executável do servidor e instalá-la no cache da imagem nativa no computador local. Isso facilitará a utilização do recurso do servidor ao usar as imagens nativas do cache em vez de usar o compilador JIT para compilar o assembly original.
Confira Também
Aplicativos hospedados do UII
Criar e gerenciar aplicativos hospedados UII
Estender o Unified Service Desk
Unified Service Desk 2.0
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais