Cette section aborde les points suivants :
Le composant Adapter for Manugistics s'intègre à l'aide de l'application Interface Generation Program (IGP) et de ses tables d'interface à la connexion JDBC et aux objets métier de WebSphere Business Integration Adapters qui permettent de créer, mettre à jour, supprimer et extraire des données de la base de données. L'IGP est un processus dans lequel les tables intermédiaires sont utilisées pour propager des données à des tables de base de données actives, via l'exécution de différentes procédures propres à l'application.
Pour que les requêtes d'appels de service puissent créer et mettre à jour les valeurs des données dans la base de données, l'adaptateur utilisera les tables d'interface IGP comme emplacement intermédiaire pour les valeurs. Ce processus nécessite de placer des données dans les tables d'interface qui doivent être traitées par les procédures stockées, puis déplacées vers les tables actives. Ces procédures stockées contrôlent l'intégrité des données.
Vous devrez exécuter et configurer l'application Manugistics Interface Generation Program pour créer des opérations Insert, Update et Upsert pour les données de la table d'intégration souhaitées. Pour plus d'informations, voir Manugistics WebWorks Guide.
Vous devez configurer le mécanisme de notification des événements dans la base de données pour que le connecteur puisse effectuer la livraison des événements. Pour ce faire, procédez comme suit :
Les sections qui suivent expliquent comment créer et configurer les tables d'événements et d'archivage.
Pour configurer le traitement des événements et de l'archivage, vous devez utiliser les propriétés de configuration pour spécifier les informations suivantes :
Vous pouvez également indiquer une valeur pour la propriété EventOrderBy afin d'indiquer l'ordre de traitement des événements. Pour plus d'informations sur les propriétés de configuration, voir l'Annexe A, Propriétés de configuration standard pour les connecteurs et le Tableau 6.
Par défaut, le nom de la table de la file d'attente des événements est xworlds_events et le nom de la table de la file d'attente d'archivage est xworlds_archive_events.
Pour utiliser le connecteur uniquement pour le traitement des requêtes, utilisez l'option -fno au démarrage et affectez la valeur null (en tant que chaîne) à la propriété EventTableName.
Si le pilote utilisé ne prend pas en charge la classe Java DatabaseMetaData et que vous voulez empêcher le connecteur de vérifier l'existence des tables d'événements et d'archivage, désactivez la propriété CheckForEventTableInInit en lui affectant la valeur false. Par défaut, la valeur affectée est true. Il est recommandé de ne pas affecter la valeur false.
Le connecteur utilise la table d'événements pour mettre en file d'attente les événements en vue de les extraire. Si vous avez affecté à la propriété ArchiveProcessed la valeur "true" ou aucune valeur, le connecteur utilise la table d'archivage pour stocker les événements après avoir mis à jour leur état dans la table d'événements.
Pour chaque événement, le connecteur extrait de la table d'événements le nom, l'instruction et la clé de l'objet métier. Le connecteur utilise ces informations pour récupérer intégralement l'entité de l'application. Si l'entité a été modifiée après la première journalisation de l'événement, le connecteur extrait l'événement initial et toutes les modifications qui suivent. En d'autres termes, si une entité est créée et mise à jour avant que le connecteur ne l'extraie de la table d'événements, le connecteur extrait les deux modifications apportées aux données en une seule fois.
Les trois sorties suivantes sont possibles pour chaque événement traité par un connecteur :
Si les événements n'ont pas été supprimés de la table d'événements une fois que le connecteur les a extraits, ils occupent inutilement de la place. Cependant, si vous les supprimez, tous les événements qui ne sont pas traités sont perdus et vous ne pouvez effectuer aucun audit du traitement des événements. Par conséquent, il est recommandé de créer également une table d'archivage et de conserver la valeur "true" pour la propriété ArchiveProcessed. Chaque fois qu'un événement est supprimé de la table d'événements, le connecteur l'insère tout d'abord dans la table d'archivage.
Ces scripts sont fournis uniquement comme modèle pour vous aider à créer les tables requises pour le connecteur. Pour les autres bases de données, créez vos scripts en les utilisant comme instructions.
Les scripts utilisés pour installer les tables d'identificateurs uniques, d'événements et d'archivage pour une base de données Oracle sont les suivantes :
Ces fichiers résident dans les répertoires suivants :
UNIX :
connectors/Manugistics/dependencies/
Windows :
connectors\Manugistics\dependencies\
Il est recommandé à l'administrateur de la base de données ou à la personne chargée d'implémenter le connecteur de modifier ces scripts afin qu'ils soient conformes aux spécifications d'installation et d'optimisation des requêtes. Par exemple, ces scripts ne créent pas d'index dans les tables. Il revient à la personne chargée d'implémenter le connecteur de créer des index afin d'améliorer les performances de l'optimiseur de requête.
Le Tableau 4 décrit le contenu des colonnes des tables d'événements
et d'archivage.
Tableau 4. Schéma des tables d'événements et d'archivage
Nom | Description | Type | Contrainte |
---|---|---|---|
event_id | Identificateur interne de l'événement | NUMBER | Clé primaire |
connector_id | ID unique du connecteur à qui est destiné l'événement. Cette valeur est importante lorsque plusieurs connecteurs interrogent la même table. | VARCHAR |
|
object_key | Clé primaire de l'objet métier. La clé peut être représentée comme une paire nom_valeur ou comme un ensemble de clés délimitées par un signe deux-points ou un autre délimiteur que vous devez définir (par exemple, 1000065:10056:2333). Pour plus d'informations, voir la propriété EventKeyDel. | VARCHAR | Non null |
object_name | Nom de l'objet métier | VARCHAR | Non null |
object_verb | Instruction associée à l'événement | VARCHAR | Non null |
event_priority | Priorité de l'événement (0 est la valeur la plus élevée, n est la plus faible) que le connecteur utilise pour extraire les événements suivant un ordre de priorité. Le connecteur n'utilise pas cette valeur pour diminuer ou augmenter les priorités. | NUMBER | Non null |
event_time | Date et heure à laquelle s'est produit l'événement | DATETIME | Date/heure actuelle (pour la table d'archivage, l'heure de l'événement en cours) |
archive_time | Date et heure à laquelle l'événement a été archivé (concerne uniquement la table d'archivage) | DATETIME | Date/heure d'archivage |
event_status | -2 (Erreur d'envoi de l'événement au courtier d'intégration) | NUMBER | Non null |
| -1 (Erreur de traitement de l'événement) |
|
|
| 0 (Prêt à interroger) |
|
|
| 1 (Envoyé au courtier d'intégration) |
|
|
| 2 (Pas d'inscription pour l'objet métier) |
|
|
| 3 (En cours). Cet état est utilisé uniquement dans la table d'événements et non dans la table d'archivage. |
|
|
event_comment | Description de l'événement ou de la chaîne d'erreur | VARCHAR |
|