Fractionnement des fichiers

Si l'adaptateur extrait habituellement des fichiers volumineux depuis le système de fichiers d'informations d'entreprise, vous pouvez scinder les fichiers à l'aide de la fonction prévue à cet effet sur l'adaptateur. Lorsque la fragmentation de fichiers est activée, les fichiers d'événements sont scindés en plusieurs parties moins volumineuses, lesquelles sont acheminées séparément vers le noeud final. L'adaptateur ne procède pas au réassemblage des sous-parties sur le noeud final, mais fournit néanmoins les informations nécessaires dans le graphique métier.

Le fractionnement des fichiers par l'adaptateur repose sur la valeur spécifiée dans la propriété Split Criteria. Cette valeur peut être soir un délimiteur, soit une taille de fichier. Dans la mesure où le fractionnement des fichiers est une fonction facultative, elle peut être désactivée en laissant vides la valeur des propriétés SplitCriteria et SplittingFunctionClassName lors de la configuration des propriétés d'activation avec l'assistant de reconnaissance de service d'entreprise, ou bien en spécifiant une valeur nulle pour la propriété SplitCriteria.
Remarque : Si la valeur de EventContentType est nulle, la propriété SplitCriteria est automatiquement configurée pour fractionner les fichiers en fonction de leur taille.

Fractionnement des fichiers basé sur un délimiteur

Lorsque l'un ou plusieurs des caractères suivants suivants sont utilisés pour délimiter un objet métier, l'adaptateur peut exploiter ces informations afin de fractionner les fichiers en sous-parties de taille plus réduite : virgule (,), point-virgule (;), guillemets ( ", ' ), crochets ({}) ou barres obliques ( / \ ). Ces fragments sont acheminés séparément vers le serveur, puis réassemblés par la fonction de séquençage d'événements du serveur Websphere Process Server. Cette opération nommée Fractionnement des fichiers basé sur un délimiteur peut être activée via la propriété de spécification d'activation SplitCriteria.

Lorsque les fichiers d'événement sont ainsi fractionnés, il est important de ne pas oublier que chaque fragment crée un objet métier. Cela signifie que la valeur spécifiée pour la propriété PollQuantity et le nombre d'objets métier obtenus dans le noeud final peuvent être différents. Lorsque le fractionnement des fichiers basé sur un délimiteur est activé, la propriété PollQuantity spécifie le nombre de tels fichiers d'événement qui sont présents dans le magasin d'événements, tandis que la classe utilisée pour fractionner le fichier des événements est définie dans la propriété de spécification d'activation Nom de classe de fonction.

Pour illustrer le fonctionnement de la valeur PollQuantity lors du fractionnement de fichiers basé sur un délimiteur, prenons l'exemple de deux fichiers. Le premier fichier événements contient un objet métier, tandis que le second contient deux objets métier. Si la valeur de PollQuantity est 2, alors le premier objet métier du premier fichier d'événements et l'enregistrement métier suivant du deuxième fichier d'événements sont envoyés lors du premier cycle de reconnaissance. Le deuxième objet métier du deuxième fichier est envoyé lors du deuxième cycle de reconnaissance.

Les règles suivantes s'appliquent à l'utilisation de délimiteurs :
  • Toutes les nouvelles lignes du délimiteur sont représentées par \n. L'adaptateur traduit le \n en un caractère de retour à la ligne spécifique à la plate-forme.
  • S'il existe plusieurs délimiteurs, ils doivent être séparés par des points-virgules (;). Si le point-virgule (;) fait partie du délimiteur, le point-virgule (;) doit être échappé sous forme de \;. Par exemple, si le délimiteur est ##\;## il est traité comme ##;##, ce qui signifie que le point-virgule (;) fait partie du délimiteur.
  • Pour sauter le contenu faisant partie du délimiteur, spécifiez un double point-virgule (;;) afin que le contenu situé entre les délimiteurs soit ignoré. Par exemple, si le fichier d'événements contient un objet métier au format ci-dessous et que le délimiteur est ##;;$$, alors :

    Nom=Smith

    Compagnie=IBM

    ##ceci est le contenu qui sera ignoré par l'adaptateur$$

    L'adaptateur considérera le délimiteur comme ##$$ et ignorera "ceci est le contenu qui sera ignoré par l'adaptateur".

  • Le délimiteur prend n'importe quelle valeur, sans restriction. Il s'agit d'une combinaison de \n et d'un point-virgule (;) s'il y a plusieurs délimiteurs. Un délimiteur n'est pas nécessairement une combinaison de \n et ; dans tous les cas. \n est utilisé uniquement lorsqu'une nouvelle ligne doit être utilisée lors du fractionnement du contenu du fichier. Les délimiteurs suivants sont valides :
    • ####;\n;\n
    • ####;$$$$;\n;####
    • %%%%;$$$$$;#####
    • \n;\n;$$$$
    • ####\;####;\n;$$$$$
    • \n;\n;\n
    • ####;;$$$$
  • Si le délimiteur se trouve à la fin du fichier, SplitCriteria utilise END_OF_FILE ce qui signifie que l'objet métier se trouve à la fin physique du fichier.

Fractionnement des fichiers basé sur la taille

Le fractionnement des fichiers basé sur la taille est effectué en fonction de la valeur spécifiée dans la propriété SplitCriteria. Si la taille du fichier d'événements est supérieure à la valeur spécifiée dans la propriété SplitCriteria, le fichier est divisé en fragments, chacun étant envoyé séparément au noeud final. Si la taille du fichier d'événements est inférieure à la valeur SplitCriteria, l'ensemble du fichier d'événements est envoyé au noeud final. Lorsque les fichiers d'événement sont fractionnés, il est important de ne pas oublier que chaque fragment crée un objet métier. Cela signifie que la valeur spécifiée pour la propriété PollQuantity et le nombre d'objets métier obtenus dans le noeud final peuvent être différents. Bien que l'adaptateur effectue une recherche basée sur la valeur de PollQuantity, l'adaptateur traite en réalité le nombre d'objets métier présents dans le fichier un par un. Si par exemple un fichier d'événements est fractionné en trois, l'un des fichiers sera interrogé et le nombre d'objets métier reçus par le noeud final sera égal à trois (puisque chaque fragment crée un objet métier individuel).

Au niveau du noeud final, l'adaptateur ne réassemble pas les données fragmentées en un seul fichier. Cette fonctionnalité est au contraire gérée par la fonction de séquençage d'événements du serveur WebSphere Process Server. Toutefois, l'adaptateur Flat Files fournit des informations à propos d'un fragment qui permettent au serveur WebSphere Process Server de rassembler les fragments au sein d'un seul fichier. Les informations relatives aux fragments se trouvent dans la propriété chunkFileName de l'objet métier global FlatFile. Elles incluent la taille du fragment en octets et l'ID événement. L'ID événement d'un fragment se présente comme suit : eventFileLocation_/_timestampStr_/_MofN, où M est le numéro du fragment actuel et N est le nombre total de fragments. Un exemple d'ID événement se présenterait ainsi : C:\flatfile\eventdir\eventfile.in_/_2005_01_10_10_17_49_864_/_3of5, où timestampStr possède le format suivant : année_mois_jour_heure_minutes_secondes_millisecondes.


Conditions d'utilisation |


(c) Copyright IBM Corporation 2005, 2006.
Technologie Eclipse (http://www.eclipse.org)