Citrix 응용 프로그램 통합
게시 날짜: 2016년 11월
적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Citrix 응용 프로그램을 Unified Service Desk에서 호스팅하여 Unified Service Desk와 통합합니다. 이렇게 하면 고객 서비스 에이전트가 Microsoft Dynamics 365에서 고객 데이터 작업을 하면서 Unified Service Desk 클라이언트 내에서 Citrix 응용 프로그램과 상호 작용을 할 수 있습니다.Unified Service Desk에서 호스트형 응용 프로그램으로 실행하는 Citrix XenApp 7.6에 가상 응용 프로그램으로 Windows 응용 프로그램을 구성할 수 있습니다. 추가 정보: TechNet: Citrix XenApp 응용 프로그램 가상화에 대한 소프트웨어 요구 사항
Unified Service Desk 클라이언트에서 호스팅된 Citrix 응용 프로그램은 독립 컴퓨팅 아키텍처(ICA) 프로토콜을 사용하여 Citrix 서버에서 응용 프로그램과 원격으로 통신합니다. Citrix .ica 파일에는 서버 주소, 세션 속성 및 인증 정보와 같은 원격 서버에 연결하기 위한 정보가 포함되어 있습니다.
Unified Service Desk와 Citrix의 통합에 대한 자세한 내용은 블로그: Citrix 및 Unified Service Desk를 참조하십시오.
이 항목에서는 Unified Service Desk와 Citrix 응용 프로그램, 샘플 Citrix 어댑터 및 몇 가지 최상의 방법에 대한 서버 및 클라이언트 쪽 구성 요소의 구성에 대한 정보를 제공합니다.
이 항목의 내용
Citrix 통합을 위한 서버 쪽 구성 요소 구성
Citrix 통합을 위한 클라이언트 쪽 구성 요소 구성
Citrix 통합: 작동 방식
샘플 Citrix 어댑터
Citrix 통합: 유용한 정보
Citrix 통합을 위한 서버 쪽 구성 요소 구성
서버 쪽 구성 요소는 Citrix 응용 프로그램이 시작되면 시작 프로그램으로 자동 시작되도록 구성된 실행 파일(Microsoft.Uii.Csr.CitrixIntegration.exe)로 구현됩니다. 이 실행 파일은 Citrix 응용 프로그램이 Unified Service Desk 클라이언트로부터 호출되지 않은 경우 신속하게 자동 종료됩니다. 서버 쪽 구성 요소는 각 Citrix 서버에서 구성해야 합니다.
https://go.microsoft.com/fwlink/p/?LinkId=627298UII(User Interface Integration) SDK 패키지를 다운로드합니다.
패키지를 두 번 클릭하면 압축이 풀립니다.
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component 폴더로 이동한 다음 이 폴더에 있는 모든 파일을 Citrix 서버의 폴더(예: ServerSideComponent)로 복사합니다.
Citrix 서버의 ServerSideComponent 폴더에서 메모장을 사용하여 RegPatch Install StartupPrograms on Citrix Server.reg 파일을 편집하여 "StartupPrograms" 매개 변수의 값을 Microsoft.Uii.Csr.CitrixIntegration.exe 실행 파일의 전체 파일 경로로 설정합니다.
RegPatch Install StartupPrograms on Citrix Server.reg 파일을 실행하여 Citrix 서버에 레지스트리 패치를 적용합니다. 이 레지스트리 패치는 실행 파일을 Citrix 응용 프로그램과 함께 시작되는 시작 프로그램으로 지정합니다.
Citrix 통합을 위한 클라이언트 쪽 구성 요소 구성
Citrix 통합의 클라이언트 쪽 구성에는 다음 두 가지가 포함됩니다.
사용자 정의 코드 없이 직접 사용할 수 있거나 필요 시 확장할 수 있는 Dynamics 365 인스턴스의 UII 호스트형 응용 프로그램(Remote Hosted Application) 인스턴스를 구성합니다. UII 호스트형 응용 프로그램 인스턴스에서 발생한 작업은 .ica 파일을 사용하여 서버 쪽 구성 요소로 전송되고 여기에서 해당 시 구성된 응용 어댑터에 전송됩니다. UII 호스트형 응용 프로그램에 대한 자세한 내용은 UII 호스트형 응용 프로그램 도움말을 참조하십시오.
Unified Service Desk 클라이언트 설치 디렉터리의 Citrix 응용 프로그램 실행 파일 및 기타 필요한 어셈블리를 복사하고 클라이언트 쪽 레지스트리 패치를 적용하고 Citrix 특정 설정을 Unified Service Desk 클라이언트 앱 구성 파일에 추가합니다. 이 단계는 Unified Service Desk 클라이언트 응용 프로그램이 설치된 각 컴퓨터에서 수행해야 합니다.
원격 호스트형 응용 프로그램 구성
Microsoft Dynamics 365에 로그인합니다.
설정 > Unified Service Desk로 이동합니다.
호스팅된 컨트롤, 새로 만들기를 차례로 클릭합니다.
새 호스팅된 컨트롤 페이지의 일반 아래에서 호스트형 응용 프로그램의 이름, 정렬 순서 및 표시 이름을 지정합니다. 각 호스트형 응용 프로그램에는 고유한 이름이 있어야 합니다. 정렬 순서는 호스트형 응용 프로그램이 검색되고 Unified Service Desk에 표시되는 순서를 지정합니다.
Unified Service Desk 영역 아래의 USD 구성 요소 유형 목록에서 CCA 호스트형 응용 프로그램을 선택합니다.
호스트형 앱 유형 영역에서 호스트형 응용 프로그램 목록의 원격 호스트형 응용 프로그램을 선택합니다.
어댑터 구성 섹션에는 어댑터 드롭다운 목록에서 선택할 세 가지 어댑터 구성이 있습니다.
어댑터 사용 안 함: 호스트형 응용 프로그램에 자동화가 필요하지 않다고 지정합니다.
자동화 어댑터 사용(HAT): 호스트형 응용 프로그램 도구 키트(HAT) 소프트웨어 팩터리에 사용되는 기본 구성을 지정합니다. 호스트형 응용 프로그램이 자동화 어댑터(HAT)를 사용하는 경우 자동화 영역에서 자동화 XML 필드의 호스트형 응용 프로그램의 바인딩 정보를 지정합니다. 바인딩에 대한 자세한 내용은 UII 검사자를 사용하여 호스트형 응용 프로그램에 대한 바인딩 만들기 문서를 참조하십시오.
어댑터 사용: 호스트형 응용 프로그램이 사용자 지정 어댑터를 사용하도록 지정합니다.
Citrix 통합에 어댑터를 사용하는 방법에 대한 내용은 샘플 Citrix 어댑터를 참조하십시오.
Citrix 응용 프로그램 설정 영역에서 다음 값을 지정합니다.
ICA 파일 이름: Citrix 응용 프로그램을 실행하는 데 필요한 .ica 파일의 전체 경로를 지정합니다. .ica 파일에는 서버 주소, 세션 속성 및 인증 정보와 같은 원격 서버에 연결하기 위한 정보가 포함되어 있습니다.
프로세스 인식 시도: 실행된 Citrix 응용 프로그램을 실행하는 과정에 대해 서버 쪽 실행 파일이 프로세스 테이블을 검색해야 하는 횟수를 지정합니다. Citrix 응용 프로그램 프로세스는 프로세스 테이블에 나타나려면 시간이 걸릴 수 있습니다.
프로세스 인식 지연: 각 프로세스 테이블 검색 사이의 지연 시간(밀리초)을 지정합니다.
프로세스 인식 파일 이름: Citrix 응용 프로그램 파일 이름의 전체 경로를 지정합니다. 이 값은 서버 쪽 실행 파일이 실행 중인 프로세스의 파일 이름과 비교하여 일치하는 항목을 찾는 데 사용됩니다.
호스팅된 컨트롤을 저장합니다.
실행 파일 복사, 레지스트리 패치 적용 및 Citrix 구성 설정 추가
이 단계는 Unified Service Desk 클라이언트 응용 프로그램이 설치된 각 컴퓨터에서 수행해야 합니다.
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component 폴더로 이동합니다. 여기에서 <ExtractedFolder>는 앞 Citrix 통합을 위한 서버 쪽 구성 요소 구성 섹션에서 다운로드한 UII SDK 패키지 파일을 추출한 위치입니다.
다음 파일을 <ExtractedFolder>\UII\Bin\UII\Citrix Server Component 폴더에서 Unified Service Desk 클라이언트 폴더(일반적으로 C:\Program Files\Microsoft Dynamics CRM USD\USD)로 복사합니다.
Microsoft.Uii.Csr.CitrixIntegration.exe
AxWFICALib.dll
WFICALib.dll
<ExtractedFolder>\UII\Bin\UII\Citrix Server Component 폴더에서 사용할 수 있는 다음 파일을 실행함으로써 Unified Service Desk 클라이언트 컴퓨터에 레지스트리 패치를 적용하여 사용자 지정 가상 채널을 사용합니다.
x86 클라이언트의 경우: ICAClient.reg의 RegPatch 허용 사용자 지정 가상 채널
x64 클라이언트의 경우: ICAClient x64 Client.reg의 RegPatch 허용 사용자 지정 가상 채널
참고
이 레지스트리 패치를 적용하지 않으면 클라이언트와 서버 간의 통신이 불가능합니다.
Unified Service Desk 클라이언트 설치 디렉터리에서 사용할 수 있는 UnifiedServiceDesk.exe.config 파일에 다음 앱 설정을 추가합니다. 이러한 앱 설정은 루트 <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>
참고
이러한 앱 설정은 Microsoft.Uii.Csr.CitrixIntegration.exe.config 파일의 서버 쪽 구성 요소에서도 사용할 수 있습니다.
각 키에 대한 설명은 다음과 같습니다.
키
설명
CitrixIntegration.VirtualChannelNamePrefix
실행된 모든 Citrix 응용 프로그램에 대해 두 개의 다른 이름이 지정된 가상 채널이 만들어지고 공통 접두사를 공유합니다. 이 설정은 일반적으로 필요하지는 않지만 접두사를 사용자 지정에 노출합니다. 이 설정은 클라이언트 쪽과 서버 쪽 모두 같아야 합니다.
CitrixIntegration.XmitFragmentSize
가상 채널 트랜잭션은 여기에 지정된 제한까지 조각납니다. 이 키는 내부 제한을 초과할 경우 내부 최대치가 결정됩니다(이러한 문제가 발생하면 추적 메시징이 보고해야 함). 이 설정은 클라이언트 쪽과 서버 쪽이 다를 수 있습니다.
CitrixIntegration.RecvTimeoutInMilliseconds
모든 네트워크 통신과 마찬가지로 통신 피어를 사용할 수 없는 경우 시간 제한이 필요합니다. Citrix 통합 통신은 요청/응답 지향적이고 이 설정은 시스템이 응답 대기를 중단하기 전에 응답을 반환하는 데 걸리는 시간을 지정합니다. 이 설정은 클라이언트 쪽과 서버 쪽이 다를 수 있습니다.
CitrixIntegration.HeartbeatMaxWaitInMilliseconds
모든 가상 채널 통신 활동을 "심장 박동"으로 계산합니다. 이 설정은 통신에 개입하지 않고 경과할 수 있는 최대 시간을 지정하는데 이 시간 후 통신 채널의 양쪽(클라이언트 또는 서버)이 반대 피어를 사용할 수 없게 되었다고 결정합니다. 서버 쪽 실행 파일(Microsoft.Uii.Csr.CitrixIntegration.exe)의 경우 이러한 결정을 내린 후 종료됩니다. 클라이언트 쪽 호스팅된 컨트롤 인스턴스의 경우 내부 심장 박동 ping 타이머를 종료합니다. 이 설정은 클라이언트 쪽과 서버 쪽이 다를 수 있습니다.
CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds
타이머가 서버 쪽 실행 파일(Microsoft.Uii.Csr.CitrixIntegration.exe)에 PING 메시지를 트리거하고 해당 PONG 메시지로 응답하는 시간을 지정합니다. 그 목적은 클라이언트와 서버 구성 요소 모두 잘못 통신을 결정하는 일이 없게 하기 위해서입니다. 이 설정은 해당 클라이언트 쪽에만 적용됩니다.
Citrix 통합: 작동 방식
Unified Service Desk에서 Citrix 통합을 구성하는 방법을 살펴보았습니다. 이제 에이전트가 Unified Service Desk 클라이언트에서 호스팅된 컨트롤을 시작할 때부터 호스팅된 컨트롤이 종료될 때까지 Citrix 통합이 작동하는 방식을 설명하겠습니다.
고객 서비스 에이전트는 Unified Service Desk 클라이언트에서 Citrix 호스팅된 컨트롤을 시작하고 호스팅된 컨트롤에 대해 구성된 ICA 파일 이름을 사용하여 Citrix 서버에서 Citrix 응용 프로그램을 실행합니다.
서버 쪽 실행 파일(Microsoft.Uii.Csr.CitrixIntegration.exe)은 자동으로 시작되고 Unified Service Desk 클라이언트에서 호스팅된 컨트롤에 대해 구성된 Citrix 응용 프로그램 설정을 요청합니다.원격 호스트형 응용 프로그램 구성 섹션의 8단계에서 이 정보를 구성했습니다.
CitrixIntegration.RecvTimeoutInMilliseconds 앱 설정에 지정된 값에 따라 응용 프로그램 설정 요청 제한 시간이 초과되는 경우 서버 쪽 실행 파일(Microsoft.Uii.Csr.CitrixIntegration.exe)이 Citrix 응용 프로그램 인스턴스가 UII 호스트형 응용 프로그램이 아니라고 결정하고 종료됩니다.
응용 프로그램 설정 요청 제한 시간이 초과되지 않으면 다음 단계로 진행합니다.
Citrix 호스팅된 컨트롤의 응용 프로그램 설정을 사용하여 서버 쪽 실행 파일(Microsoft.Uii.Csr.CitrixIntegration.exe)이 Citrix 응용 프로그램 프로세스 식별로 진행합니다.
Citrix 응용 프로그램 프로세스를 식별할 수 없는 경우 서버 쪽 실행 파일이 계속 실행되고 거의 동시에 클라이언트에 메시지를 보냅니다. 추적을 설정한 경우 이 메시지를 확인할 수 있습니다.
Citrix 응용 프로그램을 식별하면 서버 쪽 실행 파일이 프로세스를 획득하고 응용 프로그램에 대한 지정된 최상위 창 식별을 진행합니다. 외부 응용 프로그램에 일반적으로 사용하는 구성은 서버 쪽 실행 파일에 의해 참조되고 기본이 아닌 최장위 창을 선택하는 데 활용될 수 있습니다. 최상위 창을 찾을 수 없는 경우 서버 쪽 실행 파일이 계속 실행되고 추적을 설정될 때 확인할 수 있는 클라이언트에 정보 메시지를 보냅니다.
마지막으로 호스팅된 컨트롤에 대한 응용 프로그램 어댑터가 인스턴스화됩니다. 획득한 프로세스 및 최상위 창은 어댑터에 제공되고 모든 어댑터 작업은 이 시점에 클라이언트와 서버 사이에 라우팅됩니다.
참고
이 프로세스를 찾을 수 없는 경우 값은 null이 됩니다. 창을 찾을 수 없는 경우 값은 0이 됩니다. 어댑터를 인스턴스화할 수 없는 경우 서버 쪽 실행 파일이 계속 실행되고 추적을 설정될 때 확인할 수 있는 클라이언트에 정보 메시지를 보냅니다.
고객 서비스 에이전트가 Unified Service Desk 클라이언트에서 Citrix 호스팅된 컨트롤을 종료하면 서버 쪽 실행 파일도 종료됩니다.
샘플 Citrix 어댑터
다음은 검토/시도할 수 있는 몇 가지 샘플 Citrix 어댑터입니다.
샘플 응용 프로그램 어댑터
Citrix용 샘플 응용 프로그램 어댑터는 UII SDK 다운로드 패키지에서 사용할 수 있습니다. 이 어댑터를 검토/시도하려면
UII(User Interface Integration) SDK 패키지를 다운로드합니다.
패키지를 두 번 클릭하면 압축이 풀립니다.
<ExtractedFolder>\UII\SampleCode\UII\Citrix\ApplicationAdapter 폴더로 이동합니다. 폴더의 README.txt 파일은 이 어댑터에 대한 정보를 제공합니다.
샘플 데이터 기반 어댑터
사용자 지정 어댑터를 개발할 필요 없이 기존 데이터 기반 어댑터(DDA) 사용을 촉진하기 위해 Unified Service Desk는 DataDrivenAdapterBindings 태그를 사용하여 DDA를 인스턴스화하고 인스턴스화된 DDA: Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.dll에서 DDA 작업을 호출로 변환하기 위해 다음 어댑터를 제공합니다. 기본적으로 이 어셈블리는 Unified Service Desk 클라이언트 설치 디렉터리에서 사용할 수 있습니다.
Citrix 호스팅된 컨트롤에 샘플 DDA 어댑터를 사용하려면 호스팅된 컨트롤 정의를 업데이트하여 호스팅된 컨트롤에 대한 어댑터 구성 영역에서 다음 값을 지정합니다.
필드 |
값 |
---|---|
어댑터 |
어댑터 사용 |
URI |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter |
유형 |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.DdaAutomationAdapter |
Citrix 통합: 유용한 정보
Citrix 응용 프로그램과의 통합을 설정하는 동안 고려할 수 있는 몇 가지 사항이 있습니다.
Unified Service Desk에서 호스팅하려는 Citrix 응용 프로그램을 명시적으로 시작하여 자체적으로 실행에 성공할 수 있는지 확인합니다.
추적을 사용하여 문제를 식별 및 해결합니다. 추적 메시징은 문제가 있는 경우 식별 및 해결하는 데 도움이 됩니다. 기본적으로 Verbose 추적은 Microsoft.Uii.Csr.CitrixIntegration.exe.config 파일에서 사용할 수 있어 서버에 실행 메시지를 기록합니다.
<add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
그런 다음 표준 UII(User Interface Integration) 로깅 공급자(예: 파일 로깅 제공자) 중 하나를 사용하여 파일에 추적 로그를 작성합니다. 추적은 연결된 디버거에도 나타납니다. 클라이언트 쪽의 같은 설정(UnifiedServiceDesk.exe.config 파일)이 클라이언트 쪽 추적을 활성화합니다.
Windows에서는 같은 프로그램을 실행하는 여러 프로세스가 실행 파일 코드가 포함된 메모리 페이지를 공유합니다. .NET 프로그램의 특성은 JIT(Just-In-Time) 컴파일러가 응용 프로그램이 실행될 때 런타임에 중간 언어(IL)를 기계 지침(실행 파일 코드)으로 컴파일하는 것입니다. 이 런타임 컴파일을 통해 다른 경우 동일한 코드 페이지가 공유되지 않고 코드 페이지 공유가 최적화되지 않습니다. 서버 쪽 실행 파일(Microsoft.Uii.Csr.CitrixIntegration.exe)은 단일 컴퓨터에서 여러 인스턴스를 실행할 수 있는 .NET 프로그램이기 때문에 Ngen.exe(Native Image Generator) 도구를 활용하여 서버 쪽 실행 파일에 대한 종속 어셈블리의 네이티브 이미지를 만들고 로컬 컴퓨터의 네이티브 이미지 캐시에 설치하는 것이 효과적입니다. 이렇게 하면 JIT 컴파일러를 사용하지 않고 캐시에서 네이티브 이미지를 사용하여 원래 어셈블리를 컴파일하여 서버 리소스 활용도 개선이 촉진됩니다.
참고 항목
UII 호스트형 응용 프로그램
UII 호스트형 응용 프로그램 만들기 및 관리
Unified Service Desk 확장
Unified Service Desk 2.0
© 2017 Microsoft. All rights reserved. 저작권 정보