IM InfoSphere Identity Insight, Version 8.0

score

Les plug-in de score personnalisés nécessitent une fonction de score.

score contient les paramètres suivants :

const int score(const char *thresholdStr, 
                const uint thresholdSize,
                const char *inboundStr, 
                const uint inboundSize, 
                const char *candidateStr, 
                const uint candidateSize, 
                char *result, 
                const uint resultSize);
thresholdStr
contient les seuils de concordance et de discordance. Ces seuils ne sont pas obligatoires.
thresholdSize
est la taille de la chaîne contenue dans thresholdStr.
inboundStr
contient l'attribut provenant de l'entité entrante en cours d'évaluation.
inboundSize
est la taille de la chaîne contenue dans inboundStr.
candidateStr
est un pointeur vers une chaîne contenant l'attribut provenant de l'entité candidate en cours d'évaluation.
candidateSize
est la taille de la chaîne contenue dans candidateStr.
result
est une mémoire tampon pré-affectée destinée à copier une chaîne terminée NULL contenant du XML décrivant les résultats de score. En cas d'erreur, les résultats seront une description de l'erreur. Le format de cette chaîne de retour est défini comme suit :
<SCORE_RESULT>
  <MATCH_SCORE>integer 0-100</MATCH_SCORE>
  <CONFIRMATION>TRUE/FALSE</CONFIRMATION>
</SCORE_RESULT>
En cas d'erreur, le format des résultats est le suivant :
<ERROR>texte d'erreur</ERROR>
resultSize
est la taille de la mémoire tampon pré-affectée vers laquelle pointe le résultat. La chaîne de résultat ne peut pas dépasser cette taille. Le document de résultat étant plutôt petit, il ne devrait pas poser de problème, sauf avec les messages d'erreur particulièrement longs.

Voici un exemple de pseudocode d'une fonction de score :

const int score(const char *thresholdStr, 
							const uint thresholdSize,
               	const char *inboundStr, 
							const uint inboundSize, 
		           const char *candidateStr, 
							const uint candidateSize,             
							char *result, 
							const uint resultSize)
{
  //créer des chaînes à partir de  thresholdStr, inboundStr et candidateStr
  //créer des documents XML à partir de thresholdStr, inboundStr et candidateStr
  //faire une analyse syntaxique des seuils à partir du doc XML de seuil en cas d'utilisation de seuils
  //faire une analyse syntaxique des valeurs à partir du doc XML entrant
  //faire une analyse syntaxique des valeurs à partir du doc XML candidat

  //rechercher des erreurs éventuelles, telles que des disparités de types attr, des données incorrectes, etc.
  //décoder les zones de données attr_value et attr_large_data si nécessaire
  //appliquer un algorithme de score aux données d'attribut
  //évaluer le score sur une plage de 0 à 100
  //déterminer la concordance ou la discordance (éventuellement à l'aide de seuils)

  //en cas d'erreur, créer une chaîne d'erreur terminée NULL et 
  //strcpy dans le résultat. Renvoyer -1.
  //s'il n'y a pas d'erreur, créer un document de résultat terminé NULL et strcpy dans 
  //le résultat.  Renvoyer 0.
}

La fonction de score doit renvoyer -1 en cas d'erreur.



Commentaires en retour

Dernière mise à jour : 2009