Utiliser des adaptateurs DDA dans Unified Service Desk
Les adaptateurs pilotés par les données (DDA) sont généralement exploités par le HAT. Ces adaptateurs sont des assemblys génériques qui gèrent uniquement l’interaction avec l’interface utilisateur et ne contiennent pas de processus d’entreprise. Le Kit de développement logiciel (SDK) du Unified Service Desk est fourni avec un adaptateur DDA qui offre un ensemble commun de fonctions vous permettant d’héberger et d’accéder à un large éventail d’applications. Toutefois, il se peut que des fonctionnalités supplémentaires soient requises selon le type d’application. Il existe diverses méthodes d’extension des fonctionnalités existantes, par exemple en créant un nouvel adaptateur DDA (et en l’utilisant dans un adaptateur DDA composite avec des adaptateurs DDA externes) et en étendant un adaptateur DDA existant.
Contenu de la section
Extension d’un adaptateur DDA existant
Utilisation d’adaptateurs DDA dans les adaptateurs d’application personnalisés
Types d’adaptateurs DDA
Il existe quatre types d’adaptateurs DDA :
Création d’un adaptateur DDA
Vous pouvez créer un adaptateur DDA en héritant simplement la classe DataDrivenAdapterBase.
La classe contient le constructeur pouvant être surchargé.
Extension d’un adaptateur DDA existant
Dans la section précédente, nous avons vu comment créer un adaptateur DDA. Cependant, si votre personnalisation est nominale, vous pouvez utiliser l’adaptateur DDA existant et l’étendre selon les besoins.
Vous pouvez utiliser les classes suivantes pour étendre les adaptateurs DDA UII existants :
WinDataDrivenAdapter : crée un adaptateur en fonction de WinDDA.
WebDataDrivenAdapter : crée un adaptateur en fonction de WebDDA.
JavaDataDrivenAdapter : crée un adaptateur en fonction de JavaDDA.
UIADataDrivenAdapter : crée un adaptateur en fonction de UIADDA.
Toutes les classes précédentes dérivent de la classe DataDrivenAdapterBase.
Liaisons
Un adaptateur DDA utilise des données nommées « liaisons » pour définir la manière dont il identifie le composant d’interface utilisateur d’une application hébergée. Par exemple, les liaisons peuvent contenir des chemins d’accès DOM pour décrire les éléments contenus sur une page web. L’exemple suivant montre une chaîne d’initialisation d’application avec une sous-arborescence de liaison DDA intégrée. Il s’agit d’un exemple général, mais il indique le modèle utilisé pour implémenter les contrôles Acc
dans les liaisons Windows.
Note
Certains paramètres de configuration ont été supprimés pour des raisons de clarté.
<initstring>
<interopAssembly>
<URL>path to executable</URL>
<Arguments>test argument</Arguments>
<WorkingDirectory>c:\</WorkingDirectory>
<hostInside/>
</interopAssembly>
<!—- notice there is no custom application adapter specified here-->
<displayGroup>None</displayGroup>
<optimumSize x="800" y="600"/>
<minimumSize x="640" y="480"/>
<DataDrivenAdapterBindings>
<Type>typeName, assemblyName</Type>
<Controls>
<AccControl name="combobox1">
<Path>
<FindWindow>
<ControlID>1003</ControlID>
</FindWindow>
</Path>
</AccControl>
</Controls>
</DataDrivenAdapterBindings>
</initstring>
Si vous utilisez la fabrique logicielle HAT, elle crée InitString
. L’application peut ensuite être déployée sur le serveur à partir de la fabrique logicielle.
Si vous ajoutez directement une application hébergée à l’aide de l’interface utilisateur Administrateur, il est inutile de créer l’InitString
complet. Vous ne devez spécifier que la section <DataDrivenAdapterBindings
> et l’ajouter à l’onglet Automation Xml
.
Utilisation d’adaptateurs DDA dans les adaptateurs d’application personnalisés
Bien que les adaptateurs DDA aient été initialement conçus pour prendre en charge les automatisations dans la HAT, ils peuvent également être utilisés par les adaptateurs personnalisés pour obtenir des résultats utiles. L’exemple de code suivant, extrait d’un adaptateur personnalisé, montre comment les adaptateurs personnalisés peuvent utiliser les adaptateurs DDA. Il montre aussi les avantages généraux des adaptateurs DDA. Comme l’illustre l’exemple, l’utilisation d’adaptateurs DDA permet une séparation du code et des informations de configuration.
DataDrivenAdapter Dda;
public override bool Initialize()
{
Dda=DataDrivenAdapter.CreateInstance(ApplicationInitString,ApplicationObject);
return (Dda != null);
}
public override bool DoAction(Action action, ref string data)
{
if (action.Name == "AddToHistory")
{
Dda.ExecuteControlAction("combobox1");
Dda.SetControlValue("textbox1", data);
Dda.ExecuteControlAction("button1");
}
}
La configuration DDA, incorporée dans l’InitString
de l’application, est XML, comme dans l’exemple suivant.
<DataDrivenAdapterBindings>
<Type> Microsoft.UII.HostedApplicationToolkit.DataDrivenAdapter.WinDataDrivenAdapter, Microsoft.UII.HostedApplicationToolkit.DataDrivenAdapter</Type>
<Controls>
<AccControl name="combobox1">
<Path>
<FindWindow>
<ControlID>1003</ControlID>
</FindWindow>
</Path>
</AccControl>
<AccControl name="textbox1">
<Path>
<FindWindow>
<ControlID>1001</ControlID>
</FindWindow>
</Path>
</AccControl>
<AccControl name="button1">
<Path>
<FindWindow>
<ControlID>1002</ControlID>
</FindWindow>
</Path>
</AccControl>
</Controls>
</DataDrivenAdapterBindings>
L’élément <Type/>
demande à UII d’instancier dynamiquement le type spécifié dans Type, le format d’assembly, ce qui permet de charger et d’utiliser des adaptateurs personnalisés. L’élément <Controls/>
contient la liste des contrôles configurés, spécifiée de la façon requise par l’adaptateur DDA chargé.