Integrieren mit Citrix-Anwendungen
Veröffentlicht: November 2016
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Integrieren Sie die Citrix-Anwendungen in Unified Service Desk, indem Sie sie in Unified Service Desk hosten. Das ermöglicht Kundenserviceagenten, mit den Citrix-Anwendungen im Unified Service Desk-Client zu interagieren, wenn sie Kundendaten in Microsoft Dynamics 365 verwenden. Sie können auch eine Windows-Anwendung als virtuelle Anwendung auf Citrix XenApp 7.6 konfigurieren, was als gehostete Anwendung in Unified Service Desk ausgeführt wird. Weitere Informationen: TechNet: Softwareanforderungen für die Citrix XenApp-Anwendungsvirtualisierung
Die Citrix-Anwendung, die im Unified Service Desk-Client gehostet wird, nutzt das Independent Computing Architecture (ICA)-Protokoll, um mit der Anwendung auf einem Citrix-Server remote zu kommunizieren. Eine Citrix-ICA-Datei enthält Informationen zur Verbindung zum Remoteserver wie Serveradresse, Sitzungseigenschaften und Authentifizierungsinformationen.
Weitere Informationen zur Integration von Unified Service Desk mit Citrix finden Sie unter Blog: Citrix and Unified Service Desk
Dieses Thema enthält Informationen zum Konfigurieren der server- und clientseitigen Komponenten für die Integration von Unified Service Desk in Citrix-Anwendungen, Citrix-Beispieladapter und bewährte Verfahren.
In diesem Thema
Konfigurieren der serverseitigen Komponente zur Citrix-Integration
Konfigurieren der clientseitigen Komponente zur Citrix-Integration
Citrix-Integration: Wie wird sie verwendet?
Beispiel Citrix-Adapter
Citrix-Integration: Bewährte Methoden
Konfigurieren der serverseitigen Komponente zur Citrix-Integration
Die serverseitige Komponente wird als ausführbare Datei (Microsoft.Uii.Csr.CitrixIntegration.exe) implementiert, die als Startprogramm konfiguriert wird, um automatisch gestartet zu werden, wenn eine Citrix-Anwendung startet. Die ausführbare Datei beendet sich schnell selbst, wenn die Citrix-Anwendung nicht von einem Unified Service Desk-Client aufgerufen worden ist. Die serverseitige Komponente muss für jeden Citrix-Server konfiguriert werden.
Laden Sie das User Interface Integration (UII) SDK-Paket herunter.
Doppelklicken Sie auf die Paketdatei, um den Inhalt zu extrahieren.
Navigieren Sie zum <ExtractedFolder>\UII\Bin\UII\Citrix Server Component-Ordner, und kopieren Sie dann alle Dateien in diesem Ordner in einen Ordner (z. B. ServerSideComponent) auf dem Citrix-Server.
Bearbeiten Sie im ServerSideComponent-Ordner des Citrix-Servers die RegPatch Install StartupPrograms on Citrix Server.reg-Datei mit Notepad, um den Wert des Parameters "StartupPrograms" auf den vollständigen Dateipfad der ausführbaren Microsoft.Uii.Csr.CitrixIntegration.exe-Datei festzulegen.
Übernehmen Sie den Registrierungspatch des Citrix-Servers durch Ausführen der RegPatch Install StartupPrograms on Citrix Server.reg-Datei. Dieser Registrierungspatch kennzeichnet eine ausführbare Datei als Startprogramm, das neben einer Citrix-Anwendung gestartet wird.
Konfigurieren der clientseitigen Komponente zur Citrix-Integration
Die clientseitige Konfiguration für die Citrix-Integration umfasst zwei Dinge:
Konfigurieren einer Instanz der gehosteten UII-Anwendung (Remote Hosted Application) in der Dynamics 365-Instanz, die ohne einen benutzerdefinierten Code direkt verwendet werden kann, oder bei Bedarf erweitert werden kann. Die Aktionen, die für die Instanzen der gehosteten UII-Anwendung ausgelöst werden, werden mithilfe einer ICA-Datei zur serverseitigen Komponente übertragen, wo sie an die konfigurierten Anwendungsadapter weitergeleitet werden, sofern vorhanden. Weitere Informationen zu den gehosteten UII-Anwendungen finden Sie unter Gehostete UII-Anwendungen.
Kopieren Sie die ausführbare Datei der Citrix-Anwendung und andere erforderliche Assemblys im Unified Service Desk-Clientinstallationsverzeichnis, übernehmen Sie den clientseitigen Registrierungspatch und fügen Sie Citrix-spezifische Einstellungen in der Unified Service Desk-Client-App-Konfigurationsdatei hinzu. Dieser Schritt muss auf jedem Computer ausgeführt werden, auf dem die Unified Service Desk-Client-Anwendung installiert ist.
Konfigurieren einer gehosteten Remoteanwendung
Melden Sie sich bei Microsoft Dynamics 365 an.
Gehen Sie zu Einstellungen > Unified Service Desk.
Klicken Sie auf Gehostete Steuerelemente und dann auf Neu.
geben Sie auf der seite Neues gehostetes Steuerelement unter dem Bereich Allgemein einen Namen, eine Sortierreihenfolge und einen Anzeigenamen für die ehostete Anwendung ein. Jede gehostete Anwendung sollte einen eindeutigen Namen besitzen. Die Sortierreihenfolge gibt die Reihenfolge an, in der die gehosteten Anwendungen in Unified Service Desk abgerufen und angezeigt werden.
Wählen Sie im Bereich Unified Service Desk die Option Gehostete CCA-Anwendung aus der Liste USD-Komponententyp aus.
Klicken Sie im Bereich Gehosteter App-Typ die Option Gehostete Remoteanwendung in der Liste Gehostete Anwendung.
Im Abschnitt Adapter-Konfiguration gibt es drei Adapterkonfigurationenen, die in der Dropdownliste Adapter ausgewählt werden können:
-Keinen Adapter verwenden: Gibt an, dass die gehostete Anwendung keine Automatisierung erfordert.
Automatisierungs-Adapter verwenden (HAT): Gibt die Standard-Konfiguration an, die für die Hosted Application Toolkit (HAT)-Software-Fabrik verwendet wird. Wenn die gehostete Anwendung einen Automatisierungs-Adapter (HAT) verwendet, geben Sie die Bindungs-Informationen der gehosteten Anwendung im Feld Automatisierungs-XML field im Bereich Automatisierung an. Weitere Informationen zu Bindungen finden Sie unter Verwenden des UII-Inspektors, um Bindungen für die gehostete Anwendung zu erstellen.
-Adapter verwenden: Gibt an, dass die gehostete Anwendung einen benutzerdefinierten Adapter verwendet.
Informationen zur Verwendung von Adaptern für die Citrix-Integration finden Sie unter Beispiel Citrix-Adapter
Geben Sie im Bereich Citrix-Anwendungseinstellungen folgende Werte ein:
ICA-Dateiname: Geben Sie den vollständigen Pfad zur ICA-Datei ein, die zum Starten der Citrix-Anwendung erforderlich ist. Eine ICA-Datei enthält Informationen zur Verbindung zum Remoteserver wie Serveradresse, Sitzungseigenschaften und Authentifizierungsinformationen.
Versuche für Übernahme verarbeiten: Geben Sie die Häufigkeit an, in der die serverseitige ausführbare Datei die Prozesstabelle durchsuchen soll, um nach dem Prozess, der die gestartete Citrix-Anwendung ausführt, zu suchen. Der Citrix-Anwendungsprozess kann eine Weile brauchen, bis er in der Prozesstabelle aufgeführt wird.
Übernahmeverzögerung verarbeiten: Geben Sie die Verzögerung zwischen jedem Prozesstabellenscan in Millisekunden an.
Dateiname für Übernahme verarbeiten: Geben Sie den vollständigen Pfad zum Citrix-Anwendungsdateinamen an. Dieser Wert wird von der serverseitigen ausführbaren Datei verwendet, um einen Vergleich mit den Dateinamen der laufenden Prozesse durchzuführen, um eine Übereinstimmung zu finden.
Speichern Sie das gehostete Steuerelement.
Kopieren der ausführbaren Datei, Übernehmen des Registrierungspatches und Hinzufügen der Citrix-Konfigurationseinstellungen
Dieser Schritt muss auf jedem Computer ausgeführt werden, auf dem die Unified Service Desk-Client-Anwendung installiert ist.
Navigieren Sie zum <ExtractedFolder>\UII\Bin\UII\Citrix Server Component-Ordner, wobei <ExtractedFolder> der Ort ist, an dem Sie die heruntergeladene UII-SDK-Paketdatei im vorherigen Abschnitt Konfigurieren der serverseitigen Komponente zur Citrix-Integration extrahiert haben.
Kopieren Sie die folgenden Dateien im Ordner <ExtractedFolder>\UII\Bin\UII\Citrix Server Component in den Unified Service Desk-Clientordner (üblicherweise C:\Program Files\Microsoft Dynamics CRM USD\USD):
Microsoft.Uii.Csr.CitrixIntegration.exe
AxWFICALib.dll
WFICALib.dll
Übernehmen Sie den Registrierungspatch des Unified Service Desk-Clientcomputers, um die Verwendung der benutzerdefinierten virtuellen Kanäle zu aktivieren, indem Sie die folgenden Dateien ausführen, die im <ExtractedFolder>\UII\Bin\UII\Citrix Server Component-Ordner zur Verfügung stehen:
Für x86-Client: RegPatch Allow Custom Virtual Channels in ICAClient.reg
Für x64-Client: RegPatch Allow Custom Virtual Channels in ICAClient x64 Client.reg
Hinweis
Wird dieser Registrierungspatch nicht angewendet, ist die Kommunikation zwischen Client und Server nicht möglich.
Fügen Sie die folgenden App-Einstellungen in der UnifiedServiceDesk.exe.config-Datei hinzu, die im Unified Service Desk-Clientinstallationsverzeichnis verfügbar ist. Diese App-Einstellungen müssen unter dem <configuration>-Stammknoten hinzugefügt werden:
<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>
Hinweis
Diese App-Einstellungen sind auch in der serverseitigen Komponente in der Microsoft.Uii.Csr.CitrixIntegration.exe.config-Datei verfügbar.
Hier finden Sie eine Beschreibung jedes Schlüssels:
Schlüssel
Beschreibung
CitrixIntegration.VirtualChannelNamePrefix
Für jede gestartete Citrix-Anwendung werden zwei deutlich benannte virtuelle Kanäle mit einem gemeinsamen Präfix erstellt. Diese Einstellung stellt das Präfix für die Anpassung zur Verfügung, obwohl es meist nicht erforderlich ist. Diese Einstellung muss sowohl clientseitig als auch serverseitig identisch sein.
CitrixIntegration.XmitFragmentSize
Übertragungen des virtuellen Kanals werden auf das hier angegebene Limit fragmentiert. Der Schlüssel wird intern begrenzt, wenn er interne Limits überschreitet (in diesem Fall wird dies vom Ablaufverfolgungsmessaging berichtet). Diese Einstellung kann sich clientseitig und serverseitig unterscheiden.
CitrixIntegration.RecvTimeoutInMilliseconds
Wie bei jeder Netzwerkkommunikation sind Timeouts erforderlich, um zu entscheiden, wann der Kommunikationspeer nicht verfügbar ist. Die Citrix-Integrationskommunikation ist anforderungs-/antwortorientiert, und diese Einstellung gibt an, wie lange dauert, um die Antwort zurückzugeben, bevor das System das Warten auf die Antwort einstellt. Diese Einstellung kann sich clientseitig und serverseitig unterscheiden.
CitrixIntegration.HeartbeatMaxWaitInMilliseconds
Jede virtuelle Kanalkommunikationsaktivität zählt als „Takt”. Mit dieser Einstellung wird die maximale Dauer angegeben, die ohne eine intervenierende Kommunikation verstreichen kann, nach jede Seite der Kommunikationskanäle (Client oder Server) beschließt, dass der gegenüberliegende Peer nicht mehr verfügbar ist. Für die serverseitige ausführbare Datei (Microsoft.Uii.Csr.CitrixIntegration.exe) wird dies nach diesem Beschluss beendet. Für die clientseitige Instanz des gehosteten Steuerelements beendet dies den internen Takt-Pingzeitgeber. Diese Einstellung kann sich clientseitig und serverseitig unterscheiden.
CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds
Gibt den Zeitraum eines Zeitgebers an, der PING-Nachrichten für die serverseitige ausführbare Datei (Microsoft.Uii.Csr.CitrixIntegration.exe) auslöst, die dann mit entsprechenden PONG-Nachrichten antwortet. So wird vermieden, dass die Client- und Serverkomponenten ihre Kommunikation nicht ordnungsgemäß beschließen. Diese Einstellung gilt nur clientseitig.
Citrix-Integration: Wie wird sie verwendet?
Jetzt, wo Sie wissen, wie die Citrix-Integration in Unified Service Desk konfiguriert wird, erfahren Sie nun, wie die Citrix-Integration direkt beim Starten des gehosteten Steuerelements im Unified Service Desk-Client durch den Agent funktioniert, wenn das gehostete Steuerelement geschlossen ist.
Der Kundenserviceagent startet das gehostete Citrix-Steuerelement im Unified Service Desk-Client, der die Citrix-Anwendung auf dem Citrix-Server startet, mithilfe des ICA-Dateinamens, der für das gehostete Steuerelement konfiguriert ist.
Die serverseitige ausführbare Datei (Microsoft.Uii.Csr.CitrixIntegration.exe) startet automatisch und fordert die Citrix-Anwendungseinstellungen, die für das gehostete Steuerelement im Unified Service Desk-Client konfiguriert wurden, an. Sie haben diese Informationen in Schritt 8 im Abschnitt Konfigurieren einer gehosteten Remoteanwendung konfiguriert
Gibt es bei der Anwendungseinstellungsanforderung ein Timeout auf Grundlage des Werts, der in der CitrixIntegration.RecvTimeoutInMilliseconds-App-Einstellung angegeben ist, beschließt die serverseitige ausführbare Datei (Microsoft.Uii.Csr.CitrixIntegration.exe), dass die Citrix-Anwendungsinstanz keine gehostete UII-Anwendung ist, und endet.
Gibt es bei der Anwendungseinstellungsanforderung kein Timeout, können Sie mit dem nächsten Schritt fortfahren.
Beim Verwenden der Anwendungseinstellungen des gehosteten Citrix-Steuerelements fährt die serverseitige ausführbare Datei (Microsoft.Uii.Csr.CitrixIntegration.exe) damit fort, den Citrix-Anwendungsprozess zu identifizieren.
Wenn der Citrix-Anwendungsprozess nicht erkannt werden konnte, wird die serverseitige ausführbare Datei weiter ausgeführt und sendet eine Nachricht an den Client darüber. Sie können die Meldung anzeigen, wenn Sie die Verfolgung aktiviert haben.
Wenn der Citrix-Anwendungsprozess erkannt wird, ruft die serverseitige ausführbare Datei den Prozess ab und fährt mit der Ermittlung des gekennzeichneten oberen Fensters für die Anwendung fort. Die Konfiguration, die allgemein für externe Anwendungen verwendet wird, wird durch die serverseitige ausführbare Datei verwiesen und kann genutzt werden, um ein nicht standardmäßiges oberes Fenster auszuwählen. Wenn das obere Fenster nicht gefunden werden kann, wird die serverseitige ausführbare Datei weiter ausgeführt und sendet eine Info-Nachricht an den Client, was angezeigt wird, wenn die Ablaufverfolgung aktiviert ist.
Abschließend wird der Anwendungsadapter für das gehostete Steuerelement instanziiert. Der abgerufene Prozess und das obere Fenster werden dem Adapter bereitgestellt, und alle Adaptervorgänge werden zwischen Clients und Server an dieser Stelle weitergeleitet.
Hinweis
Wenn der Prozess nicht gefunden werden kann, ist der Wert null. Wenn das Fenster nicht gefunden werden kann, ist der Wert null. Wenn der Adapter nicht instanziiert werden kann, wird die serverseitige ausführbare Datei weiter ausgeführt und sendet eine Info-Nachricht an den Client, was angezeigt wird, wenn die Ablaufverfolgung aktiviert ist.
Wenn der Kundenserviceagent das gehostete Citrix-Steuerelement im Unified Service Desk-Client schließt, wird die serverseitige ausführbare Datei auch beendet.
Beispiel Citrix-Adapter
Im Anschluss finden Sie einige Citrix-Beispiel-Adapter, die Sie prüfen/ausprobieren können.
Beispiel Anwendungsadapter
Ein Anwendungs-Beispieladapter für Citrix ist im UII-SDK-Downloadpaket verfügbar. So überprüfen/testen Sie den Adapter:
Laden Sie das User Interface Integration (UII) SDK-Paket herunter.
Doppelklicken Sie auf die Paketdatei, um den Inhalt zu extrahieren.
Wechseln Sie zum Ordner**<ExtractedFolder>\UII\SampleCode\UII\Citrix\ApplicationAdapter**. Die Datei README.txt im Ordner enthält Informationen zu diesen Adapter.
Beispiel datengesteuerter Adapter
Um die Verwendung der vorhandenen datengesteuerten Adapter (DDAs) ohne erforderliche Entwicklung eines benutzerdefinierten Adapters zu vereinfachen, bietet Unified Service Desk den folgenden Adapter zum Nutzen des DataDrivenAdapterBindings-Tags, um den DDA zu instanziieren und um DDA-Aktionen für Aufrufe zum instanziierten DDA zu übersetzen: Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.dll. Diese Assembly ist standardmäßig im Unified Service Desk-Clientinstallationsverzeichnis verfügbar.
Um den DDA-Beispiel-Adapter mit Ihrem gehosteten Citrix-Steuerelement zu verwenden, aktualisieren Sie die Definition für das gehostete Steuerelement, um die folgenden Werte im Bereich Adapter-Konfiguration für das gehostete Steuerelement anzugeben:
Feld |
Wert |
---|---|
Adapter |
Adapter verwenden |
URI |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter |
Typ |
Microsoft.Uii.HostedApplicationToolkit.DataDrivenAdapter.DdaAutomationAdapter |
Citrix-Integration: Bewährte Methoden
Im Anschluss finden Sie einige Aspekte, die Sie beim Einrichten der Integration in Citrix-Anwendungen beachten sollten.
Stellen Sie sicher, dass die Citrix-Anwendung, die Sie in Unified Service Desk hosten möchten, erfolgreich und eigenständig gestartet werden kann, indem Sie sie explizit starten.
Verwenden Sie die Ablaufverfolgung, um Probleme zu identifizieren und zu beheben. Mit dem Ablaufverfolgungsmessaging können Sie etwaige Probleme identifizieren und beheben. Standardmäßig ist die Verbose-Ablaufverfolgung in der Microsoft.Uii.Csr.CitrixIntegration.exe.config-Datei aktiviert, um die Ausführungsnachrichten auf dem Server zu protokollieren:
<add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
Sie können dann einen der Standard-User Interface Integration (UII)-Protokollierungsanbieter verwenden, z. B. den Dateiprotokollierungsanbieter, um die Ablaufverfolgungsprotokolle in eine Datei zu schreiben. Die Ablaufverfolgungen werden ebenfalls in allen angefügten Debuggern angezeigt. Dieselben Einstellungen in der clientseitigen Datei (UnifiedServiceDesk.exe.config) aktivieren die clientseitige Ablaufverfolgung.
Bei Windows geben mehrere Prozesse, die dasselbe Programm ausführen, ihre Speicherseiten mit ausführbarem Code frei. Die Art von .NET-Programmen ist, dass der Just-In-Times Compiler (JIT) die Intermediate Language (IL) zu Computerbefehlen (ausführbarer Code) zur Laufzeit kompiliert, wenn die Anwendung gestartet wird. Diese Laufzeitkompilierung unterbindet die Freigabe von andernfalls identischen Codeseiten, was die Codeseitenfreigabenoptimierung verhindert. Da die serverseitige ausführbare Datei (Microsoft.Uii.Csr.CitrixIntegration.exe) ein .NET-Programm ist, bei dem mehrere Instanzen auf einem einzelnen Computer ausgeführt werden können, ist es effektiv, das Tool Ngen.exe (Native Image Generator) zu nutzen, um systemeigene Images der abhängigen Assemblys für die serverseitige ausführbare Datei zu erstellen und diese im Zwischenspeicher des systemeigenen Images auf dem lokalen Computer zu installieren. Dies erleichtert die bessere Serverressourcennutzung, indem systemeigene Images aus dem Cache verwendet werden statt der JIT-Compiler, um die ursprüngliche Assembly zu kompilieren.
Siehe auch
Gehostete UII-Anwendungen
Erstellen und Verwalten von UII-gehosteten Steuerelementen
Unified Service Desk erweitern
Unified Service Desk 2.0
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright