428
IBM Maximo Asset Management Version 7.6 Intégration de données à des applications externes

IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

IBM Maximo Asset ManagementVersion 7.6

Intégration de données à desapplications externes

���

Page 2: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ImportantAvant d'utiliser le présent document et le produit associé, prenez connaissance des informations générales figurant à lasection «Remarques», à la page 415.

Cette édition s'applique à la version 7.6.0 d'IBM Maximo Integration Framework et à toutes les éditions etmodifications ultérieures, sauf indication contraire dans les nouvelles éditions.

LE PRESENT DOCUMENT EST LIVRE EN L'ETAT SANS AUCUNE GARANTIE EXPLICITE OU IMPLICITE. IBMDECLINE NOTAMMENT TOUTE RESPONSABILITE RELATIVE A CES INFORMATIONS EN CAS DECONTREFACON AINSI QU'EN CAS DE DEFAUT D'APTITUDE A L'EXECUTION D'UN TRAVAIL DONNE.

Ce document est mis à jour périodiquement. Chaque nouvelle édition inclut les mises à jour. Les informations qui ysont fournies sont susceptibles d'être modifiées avant que les produits décrits ne deviennent eux-mêmesdisponibles. En outre, il peut contenir des informations ou des références concernant certains produits, logiciels ouservices non annoncés dans ce pays. Cela ne signifie cependant pas qu'ils y seront annoncés.

Pour plus de détails, pour toute demande d'ordre technique, ou pour obtenir des exemplaires de documents IBM,référez-vous aux documents d'annonce disponibles dans votre pays, ou adressez-vous à votre partenairecommercial.

Vous pouvez également consulter les serveurs Internet suivants :v http://www.fr.ibm.com (serveur IBM en France)

v http://www.ibm.com/ca/fr (serveur IBM au Canada)

v http://www.ibm.com (serveur IBM aux Etats-Unis)

Compagnie IBM FranceDirection Qualité17, avenue de l'Europe92275 Bois-Colombes Cedex

© Copyright IBM France 2014. Tous droits réservés.

© Copyright IBM Corporation 2008, 2014.

Page 3: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Table des matières

Avis aux lecteurs canadiens . . . . . vii

Intégration de données à desapplications externes . . . . . . . . . 1Présentation de l'infrastructure d'intégration . . . . 1

Architecture . . . . . . . . . . . . . 2Infrastructure d'échange de données . . . . 2Infrastructure d'intégration d'un produit degestion opérationnelle . . . . . . . . . 4Infrastructure d'intégration de l'interfaceutilisateur . . . . . . . . . . . . . 5

Activation de l'importation et de l'exportation dedonnées . . . . . . . . . . . . . . . . 5

Préparation du système. . . . . . . . . . 5Configuration de files d'attente JMS . . . . 5Configuration des propriétés d'intégration . . 5Activation de la tâche périodique pour des filesd'attente JMS . . . . . . . . . . . . 6Exportation de données dans un fichier de test 6Importation de données depuis un fichier detest . . . . . . . . . . . . . . . 7

Composants d'intégration . . . . . . . . . . 7Structures d'objet . . . . . . . . . . . . 8

Identification d'objet . . . . . . . . . . 8Clés alternatives . . . . . . . . . . . 8Zones d'objet . . . . . . . . . . . . 9Considérations relatives à la table d'interfaceet au fichier à plat . . . . . . . . . . 10Modification d'une structure d'objet prédéfinie 10Configuration d'une structure d'objet . . . . 10

Canaux et services . . . . . . . . . . . 15Canaux de publication. . . . . . . . . 15Canaux d'appel . . . . . . . . . . . 17Services de structure d'objet . . . . . . . 20Services d'entreprise . . . . . . . . . 20Services standard . . . . . . . . . . 24

Points de terminaison et gestionnaires . . . . 24Configuration d'un point de terminaison . . 25Gestionnaires de points de terminaisonprédéfinis . . . . . . . . . . . . . 27

Services Web d'intégration . . . . . . . . 41Sources de service Web . . . . . . . . 41Options de déploiement de service Web . . . 42Actions de déploiement de service Web . . . 43Génération de schéma . . . . . . . . . 43Génération d'un fichier WSDL . . . . . . 44Enregistrement UDDI . . . . . . . . . 44Création et déploiement de service Web . . . 45Présentation des interactions de service Web 47

Systèmes externes . . . . . . . . . . . 49Configuration d'un système externe . . . . 49

Contenu d'intégration prédéfini. . . . . . . 64Objets de données maître . . . . . . . . 64Objets d'article et de stock . . . . . . . 74Objets de documents . . . . . . . . . 80

Objets d'interface de transaction . . . . . 91Objets système . . . . . . . . . . . 101Ordre de chargement des données . . . . 115

Traitement des données d'intégration . . . . . 116Planification du traitement des données àintégrer . . . . . . . . . . . . . . 116Traitement des données entrantes. . . . . . 117

Traitement asynchrone des messages entrants 117Traitement synchrone des messages entrants 118Initiation du traitement asynchrone desdonnées entrantes . . . . . . . . . . 118Lancement du traitement synchrone desdonnées entrantes . . . . . . . . . . 120Séquences de traitement . . . . . . . . 122

Traitement des données sortantes. . . . . . 124Intégration asynchrone avec un canal depublication . . . . . . . . . . . . 124Intégration synchrone à l'aide d'un canald'appel . . . . . . . . . . . . . 126

Configuration du traitement d'intégration . . . 128Configuration du traitement asynchrone desmessages entrants à l'aide des servicesd'entreprise . . . . . . . . . . . . 128Configuration du traitement asynchrone desmessages sortants à l'aide des canaux depublication . . . . . . . . . . . . 129

Personnalisation basée sur des règles . . . . 130Définitions de règles pour les objets etenregistrements. . . . . . . . . . . 130Définition d'une règle de traitement . . . . 130Conditions et évaluations . . . . . . . 135Commandes d'intégration . . . . . . . 139Configuration de règles de traitement . . . 142

Personnalisation basée sur du code . . . . . 157Méthodes et classes Java de personnalisation 157Personnalisation à l'aide de scriptsd'automatisation . . . . . . . . . . 164Mappage XSL . . . . . . . . . . . 181Classe d'exit utilisateur de table d'interface 182

Configuration de l'infrastructure d'intégration . . 183Propriétés du système d'intégration . . . . . 183Configuration de la file d'attente JMS . . . . 190

Création et configuration d'une file d'attente 191Files d'attente séquentielles . . . . . . . 192Files d'attente continues . . . . . . . . 193Format des messages de file d'attente . . . 198Sélecteurs de file d'attente . . . . . . . 199Affichage et suppression de messages dansune file d'attente JMS. . . . . . . . . 200Configuration de files d'attente avecWebSphere MQ. . . . . . . . . . . 201

Gestion des erreurs . . . . . . . . . . 202Gestion des erreurs non basée sur une filed'attente . . . . . . . . . . . . . 203Gestion des erreurs basée sur une filed'attente . . . . . . . . . . . . . 203

© Copyright IBM Corp. 2008, 2014 iii

Page 4: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Configuration de la gestion des erreurs. . . 204Notification d'erreurs . . . . . . . . . 205Nouveau traitement des messages . . . . 205Gestion des erreurs à l'aide de la fonctiond'importation des données basées sur unfichier . . . . . . . . . . . . . . 208Gestion des erreurs de la table d'interface 212Causes communes des erreurs . . . . . . 213Recherche d'erreurs . . . . . . . . . 214Suivi des messages . . . . . . . . . 215

Configuration en cluster . . . . . . . . . 220Files d'attente JMS dans un cluster deserveurs . . . . . . . . . . . . . 220Configuration de la tâche périodique . . . 223Configuration d'un serveur de traitement desmessages . . . . . . . . . . . . . 223Configuration du répertoire général . . . . 223Accès aux services par des messages entrants 224

Sécurité d'intégration . . . . . . . . . . 225Sécurité d'authentification . . . . . . . 225Sécurité d'autorisation . . . . . . . . 232

Support de langue. . . . . . . . . . . 233Traitement par défaut multilingue . . . . 234Attributs multilingues . . . . . . . . 234Support de langue bidirectionnelle . . . . 235Formats de langue bidirectionnels . . . . 235Configuration du support de languebidirectionnelle pour des systèmes externes . 235

Exportation et importation de données basées surun fichier. . . . . . . . . . . . . . . 236

Exportation et importation de données dansl'application Systèmes externes . . . . . . 236

Exportation de données basées sur un fichier 236Importation de données basées sur un fichier 237

Tâche périodique de traitement des donnéesentrantes . . . . . . . . . . . . . . 239

Tâche périodique XMLFILECONSUMER . . 239Tâche périodique FLATFILECONSUMER . . 240

Configuration d'une application pourl'importation et l'exportation de données . . . 241

Définition du contenu de la structure d'objet 242Activation de l'importation et del'exportation de données dans uneapplication . . . . . . . . . . . . 243Lancement de l'exportation et del'importation de données dans uneapplication . . . . . . . . . . . . 243

Interface de programme d'application REST . . . 245Infrastructure d'interface de programmed'application REST . . . . . . . . . . 246Représentations prises en charge . . . . . . 246Gestionnaires de ressources et URI . . . . . 247Méthode GET . . . . . . . . . . . . 247

Paramètres de requête et opérateurs . . . . 250Paramètre _opmodeor . . . . . . . . 252Paramètres _rsStart et _maxItems. . . . . 253Paramètre _orderbyasc . . . . . . . . 254Paramètres _includecols et _excludecols . . 255Paramètre _dropnulls. . . . . . . . . 256Paramètres _format et _compact . . . . . 256Négociation du contenu des représentations 258

Défilement en session . . . . . . . . 259Mise en cache de demandes GET . . . . . 260

Méthodes PUT, POST et DELETE. . . . . . 261Méthode PUT . . . . . . . . . . . 262Méthode POST . . . . . . . . . . . 262Méthode DELETE . . . . . . . . . . 264Mises à jour simultanées de ressources . . . 264

Requêtes et mises à jour de méthode de service 264Méthodes de service utilisant HTTP POSTpour mettre à jour des ressources. . . . . 265Méthodes de service utilisant HTTP GETpour interroger des ressources. . . . . . 266Méthodes de service utilisant HTTP GETpour interroger des données système . . . 268

Propriétés d'en-tête HTTP . . . . . . . . 268Codes de réponse . . . . . . . . . . . 270Sécurité dans l'interface de programmed'application REST . . . . . . . . . . 270Personnalisation de l'interface de programmed'application REST . . . . . . . . . . 272Paramètres de requête REST . . . . . . . 273Propriétés système REST . . . . . . . . 277Appels de service externe . . . . . . . . 281

intégration OSLC . . . . . . . . . . . . 281OSLC - Implémentation dans Maximo AssetManagement . . . . . . . . . . . . 282OSLC - Configuration . . . . . . . . . 283

Spécification de ressources OSLC . . . . . 283Fournisseurs de services de domaine . . . 285Requêtes sauvegardées . . . . . . . . 287Sécurité OSLC . . . . . . . . . . . 288Connexion OSLC . . . . . . . . . . 289

Transactions HTTP . . . . . . . . . . 290Requêtes de ressource OSLC . . . . . . 290Création d'une instance de ressource . . . 295Modification de ressources . . . . . . . 296En-têtes HTTP . . . . . . . . . . . 299Codes de réponse HTTP. . . . . . . . 301

Intégration en tant que client OSLC . . . . . 301Création d'enregistrements fournisseur OSLC 302Conception d'une interaction OSLC . . . . 307Création de groupes d'interaction. . . . . 315Exemple : Exécution d'une interaction OSLC 316Changements de l'identificateur URI public 318Migration d'intégrations OSLC . . . . . 318Changement manuel de l'interface utilisateur 319Propriétés OSLC . . . . . . . . . . 321

Requêtes d'intégration . . . . . . . . . . 321Services d'interrogation . . . . . . . . . 322Création d'une requête de service d'entreprise 322Requêtes de service Web . . . . . . . . 322Structure XML de requête . . . . . . . . 323Critères de sélection de requête . . . . . . 326

Sélection de zones . . . . . . . . . . 327Evaluation de zone . . . . . . . . . 328Sélection par plage . . . . . . . . . 329Sélection de clause Where . . . . . . . 329

Tables d'interface . . . . . . . . . . . . 331Création de tables d'interface . . . . . . . 333Régénération des tables d'interface . . . . . 333

iv Intégration de données à des applications externes

Page 5: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Suppression de tables d'interface etd'enregistrements . . . . . . . . . . . 334Format des tables d'interface . . . . . . . 334Interrogation de la table d'interface . . . . . 338

Tâche périodique d'interrogation de la tabled'interface . . . . . . . . . . . . 338Interrogation avancée de la table d'interface 339

Traitement des tables d'interface sur un systèmeexterne . . . . . . . . . . . . . . 340

Activation du traitement entrant . . . . . 340Activation du traitement sortant . . . . . 341

Modules d'intégration . . . . . . . . . . 341Composants du module d'intégration . . . . 342

Définitions du module d'intégration . . . . 342Produits de gestion opérationnelle . . . . 342Opérations de gestion logique . . . . . . 343

Configuration requise pour l'implémentation 344Propriétés d'implémentation . . . . . . . 345

Paramètres du module d'intégration . . . . 345Flux de processus du module d'intégration 346Points de terminaison . . . . . . . . 346

Implémentation d'un canal d'appel ou d'uneclasse Java . . . . . . . . . . . . . 347

Comparaison d'un canal d'appel et d'uneclasse Java . . . . . . . . . . . . 347Implémentation d'un canal d'appel . . . . 348Implémentation d'une classe Java. . . . . 350

Traitement du module d'intégration . . . . . 351Identification des composants d'intégration 351Appel du module d'intégration . . . . . 352Traitement de la réponse du moduled'intégration. . . . . . . . . . . . 355

Configuration de modules d'intégration . . . 355Création de modules d'intégration . . . . 355Sélection d'opérations de gestion logiquepour les modules d'intégration . . . . . 356Association d'une opération de gestionlogique à un module d'intégration . . . . 357

Configuration d'opérations de gestion logique 359Création d'opérations de gestion logique . . 359Ajout d'attributs aux opérations de gestionlogique . . . . . . . . . . . . . 360

Fonction Lancement dans le contexte . . . . . 361Préparation de l'application externe . . . . . 361URL d'entrée de lancement dans une applicationexterne . . . . . . . . . . . . . . 361URL d'entrée de lancement dans une applicationde produit . . . . . . . . . . . . . 362Activation du lancement en contexte . . . . 363

Création d'une entrée de lancement . . . . 363Configuration d'une option de signature pourun point de lancement . . . . . . . . 364Ajout d'un point de lancement à un menud'application . . . . . . . . . . . 365Ajout d'un bouton comme point delancement . . . . . . . . . . . . 366Ajout d'une condition à un point delancement . . . . . . . . . . . . 366

Informations de référence sur l'intégration. . . . 367Propriétés du système d'intégration . . . . . 367Messages XML d'intégration . . . . . . . 374

Présentation . . . . . . . . . . . . 374Structure XML . . . . . . . . . . . 376Schémas XML d'intégration. . . . . . . 387

Dispositifs de collaboration . . . . . . . . 398Format des dispositifs de collaboration . . . 398Récupération d'un dispositif de collaboration 400Configuration de dispositifs de collaboration 400Dispositifs de collaboration prédéfinis . . . 403

Remarques . . . . . . . . . . . . 415Marques . . . . . . . . . . . . . . . 417

Table des matières v

Page 6: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

vi Intégration de données à des applications externes

Page 7: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Avis aux lecteurs canadiens

Le présent document a été traduit en France. Voici les principales différences etparticularités dont vous devez tenir compte.

Illustrations

Les illustrations sont fournies à titre d'exemple. Certaines peuvent contenir desdonnées propres à la France.

Terminologie

La terminologie des titres IBM peut différer d'un pays à l'autre. Reportez-vous autableau ci-dessous, au besoin.

IBM France IBM Canada

ingénieur commercial représentant

agence commerciale succursale

ingénieur technico-commercial informaticien

inspecteur technicien du matériel

Claviers

Les lettres sont disposées différemment : le clavier français est de type AZERTY, etle clavier français-canadien de type QWERTY.

OS/2 et Windows - Paramètres canadiens

Au Canada, on utilise :v les pages de codes 850 (multilingue) et 863 (français-canadien),v le code pays 002,v le code clavier CF.

Nomenclature

Les touches présentées dans le tableau d'équivalence suivant sont libelléesdifféremment selon qu'il s'agit du clavier de la France, du clavier du Canada ou duclavier des États-Unis. Reportez-vous à ce tableau pour faire correspondre lestouches françaises figurant dans le présent document aux touches de votre clavier.

© Copyright IBM Corp. 2008, 2014 vii

Page 8: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Brevets

Il est possible qu'IBM détienne des brevets ou qu'elle ait déposé des demandes debrevets portant sur certains sujets abordés dans ce document. Le fait qu'IBM vousfournisse le présent document ne signifie pas qu'elle vous accorde un permisd'utilisation de ces brevets. Vous pouvez envoyer, par écrit, vos demandes derenseignements relatives aux permis d'utilisation au directeur général des relationscommerciales d'IBM, 3600 Steeles Avenue East, Markham, Ontario, L3R 9Z7.

Assistance téléphonique

Si vous avez besoin d'assistance ou si vous voulez commander du matériel, deslogiciels et des publications IBM, contactez IBM direct au 1 800 465-1234.

viii Intégration de données à des applications externes

Page 9: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Intégration de données à des applications externes

L'infrastructure d'intégration vous permet d'intégrer des données d'applications àd'autres applications, au sein de votre entreprise ou avec des systèmes externes.L'infrastructure comprend un contenu prédéfini qui permet l'intégration à uncertain nombre d'objets métier et un kit d'outils que vous pouvez utiliser pourétendre un contenu d'intégration prédéfini et pour développer de nouveaux pointsd'intégration.

Présentation de l'infrastructure d'intégrationL'infrastructure d'intégration vous permet d'intégrer des données d'application àd'autres applications, dans votre entreprise ou des systèmes externes.L'infrastructure dispose d'un contenu prédéfini qui permet l'intégration à uncertains nombre d'objets métier et un kit d'outils que vous pouvez utiliser pourétendre le contenu d'intégration prédéfini et développer de nouveaux pointsd'intégration.

L'infrastructure d'intégration contient les composants et les fonctions suivants :v Contenu d'intégration prédéfiniv Applications pour créer et configurer des composants d'intégrationv Prise en charge de plusieurs modes de communication, notamment les services

Web, le protocole HTTP (Hyper Text Transfer Protocol) et la messagerie JMS(Java Message Service)

v Prise en charge de différents formats de données, notamment les tablesd'interface de base de données, les messages XML et JavaScript Object Notationainsi que les fichiers à plat, comme les fichiers texte séparés par une virgule

v Traitement orienté événement, par lots, initialisé par un programme etl'utilisateur, mais aussi lancement orienté contexte d'applications externes

v Prise en charge de l'intégration dans les produits de gestion opérationnellev Prise en charge d'environnements en clusterv Prise en charge de l'interaction avec des applications supportant la spécification

de l'intégration Open Services for Lifecycle Collaboration (OSLC).L'infrastructure d'intégration peut permettre à une application d'être uneapplication de client OSLC pouvant s'intégrer à une application externe ayantimplémenté des fonctions du fournisseur OSLC.

L'infrastructure d'intégration fournit plusieurs options permettant l'envoi et laréception de données. Evaluez l'approche la plus efficace selon vos exigences lorsde la planification d'une intégration. Certains scénarios d'intégration classiquesincluent :v Le chargement de fichiers disposant de données existantes lors d'une

implémentation.v La synchronisation de données maître entre une application du produit et une

application ERP externe.v L'utilisation de services Web pour permettre l'interrogation en temps réel des

données de l'application du produit par une application externe.v L'appel d'une application externe afin de valider des données saisies dans une

application de produit.

© Copyright IBM Corp. 2008, 2014 1

Page 10: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si vous voulez importer un grand nombre d'enregistrements à partir d'un systèmeexterne, importez les données dans des fichiers par lots ou utilisez des tablesd'interface. Cette approche sépare les données afin que plusieurs messages soienttraités comme des transactions distinctes. Grâce à une seule transaction qui effectueun traitement synchrone (par exemple : un appel de service Web), limitez lenombre de messages dans une transaction unique afin de vous assurer que letraitement de la transaction s'effectue dans une délai acceptable. Lorsque vousplanifiez une intégration, évaluez l'option d'intégration la plus appropriée à vosexigences.

Le contenu d'intégration prédéfini contient une prise en charge pour un certainsnombre d'objets métier et les fonctions Insérer, Mettre à jour et Supprimer de cesobjets métier sont activées. Lorsque vous utilisez un contenu prédéfini, certaineslimitations peuvent affecter votre implémentation. S'il existe des règles métier dansl'objet métier qui n'autorisent pas une fonction (par exemple : la fonctionSupprimer), alors cette dernière n'est pas disponible pour l'intégration. Outre laprise en charge des opérations d'insertion, de mise à jour et de suppression, lesapplications du produit prennent en charge d'autres fonctions qui sont disponiblessous forme d'actions. Le contenu de l'intégration prédéfini ne prend pas en chargetoutes les actions disponibles. Le plus souvent, l'action Changer le statut est priseen charge dans l'intégration.Concepts associés:«Contenu d'intégration prédéfini», à la page 64L'infrastructure d'intégration fournit un contenu d'intégration prédéfini,comprenant des structures d'objet, des canaux de publication et des servicesd'entreprise qui prennent en charge l'importation de données depuis un systèmeexterne ou leur exportation vers ce dernier.

ArchitectureL'architecture de l'infrastructure d'intégration inclut les composants de données, detransport, de communication et de sécurité requis pour échanger des informationsentre des applications et des systèmes distincts.

Infrastructure d'échange de donnéesL'infrastructure d'échange de données contient des composants et des outils quevous pouvez utiliser pour implémenter différents types de scénarios d'intégration.

Composants

L'infrastructure contient des composants d'intégration et des applicationsprédéfinis que vous pouvez utiliser pour configurer des composants. Lescomposants principaux sont décrits dans la table suivante.

Tableau 1. Composants d'échange de données de l'infrastructure d'intégration

Composant Description

Structures d'objet Une structure d'objet correspond à la couche de donnéescommunes que les composants de l'infrastructure d'intégrationutilisent pour le traitement des messages d'applications entrants etsortants. Une structure d'objet se compose d'un ou de plusieursobjets métier associés qui définissent le contenu d'un message XML(schéma).

Objets métier Les objets métier d'application sont disponibles en tant queressources Representational State Transfer (REST) pour les requêteset les mises à jour à l'aide du composant de l'interface deprogramme d'application REST de l'infrastructure d'intégration.

2 Intégration de données à des applications externes

Page 11: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 1. Composants d'échange de données de l'infrastructure d'intégration (suite)

Composant Description

Canaux de publication Un canal de publication permet d'envoyer des messagesasynchrones, via une file d'attente JMS, à un système externe. Lesmessages du canal de publication peuvent être initiés via unévénement ou la fonction Exportation de données.

Canaux d'appel Les canaux d'appel permettent d'envoyer des messages synchronesà un système externe et de traiter le contenu de la réponse. Lecanal prend en charge l'implémentation de la logique de traitementet le mappage de la requête et sa réponse. Un canal d'appel permetaussi d'utiliser des données de réponse pour mettre à jour desobjets métier et permettre aux utilisateurs de l'application de lesconsulter.

Services d'entreprise Un service d'entreprise est un pipeline permettant d'interroger etd'importer des données à partir d'un système externe. Un serviced'entreprise peut traiter des données de façon synchrone (sans filed'attente) ou asynchrone (avec file d'attente). Les servicesd'entreprise peuvent utiliser plusieurs protocoles, tels que lesservices Web et HTTP.

Systèmes externes Un système externe est défini pour l'application externe aveclaquelle vous planifiez l'intégration. Le système externe identifie leprotocole de communication à utiliser et les services d'entreprise,les canaux de publication et les files d'attente JMS à implémenterpour ce système externe.

Points de terminaisonet gestionnaires

Un point de terminaison et son gestionnaire associé acheminent lesmessages sortants vers un système externe. La combinaison d'unpoint de terminaison et d'un gestionnaire indique le protocole detransport (par exemple : HTTP ou service Web) et fournit lesdonnées de communication requises pour atteindre la destination(par exemple : une URL).

Services Web Vous pouvez déployer des services de l'infrastructure d'intégration,tels que des services de structure d'objet ou d'entreprise, en tantque services Web que les systèmes externes peuvent appeler.

Importation etexportation dedonnées

Vous pouvez charger des données à partir de fichiers XML ou defichiers à plat, comme des fichiers texte séparés par des virgules.Vous pouvez initier l'importation et l'exportation de données àpartir d'une application du produit et planifier un processus parlots afin d'exécuter une importation en tant que processusd'arrière-plan. Vous pouvez exporter un ou plusieursenregistrements dans un fichier à l'aide d'un canal de publicationoù les conditions de filtrage peuvent être appliquées pour contrôlerle contenu des données exportées.

Contenu L'infrastructure d'intégration fournit un contenu prédéfini quiinclut des structures d'objet, des services d'entreprise et des canauxde publication correspondants, un système externe et desgestionnaires prédéfinis prenant en charge différents protocoles decommunication.

Traitement

Etant donné que les messages d'intégration entrent et sortent, l'infrastructurefournit des options, telles que les classes Java, le mappage XSL et des règles detraitement, afin que les règles métier et logique de transformation des messagesrépondent à vos exigences d'intégration.

Intégration de données à des applications externes 3

Page 12: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Communication

L'infrastructure d'intégration peut faciliter l'échange de données asynchrones ousynchrones. Les messages asynchrones sont traités dans les files d'attentes JMS(Java Message Service). Les files d'attente JMS peuvent traiter des messages parordre de priorité (séquentielles), ou de manière multiprocessus (continues). Lesmessages synchrones exigeant une réponse de l'expéditeur ne sont pas traités dansles files d'attente JMS et exigent une connexion directe entre l'infrastructured'intégration et l'application externe.

Vous pouvez configurer plusieurs protocoles de communication, notamment HTTP,des services Web et la messagerie JMS.

Lors de l'intégration à plusieurs applications externes, vous pouvez configurerdifférents canaux et services de sorte à utiliser différents protocoles decommunication, notamment HTTP, des services Web et la messagerie JMS, selon lesfonctions de chaque application externe individuelle.

Sécurité

L'infrastructure d'intégration utilise la prise en charge du produit pour la sécuritéd'authentification J2EE afin que vous puissiez configurer des EJB (Enterprise JavaBeans), le protocole HTTP et des services Web. Vous pouvez configurer la sécuritéd'autorisation des applications, des objets et des méthodes de services standard.Concepts associés:«Interface de programme d'application REST», à la page 245L'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

Infrastructure d'intégration d'un produit de gestionopérationnelleLes produits de gestion de processus peuvent s'intégrer à des produits de gestionopérationnelle dans un mode automatisé à l'aide de modules d'intégration. Lesproduits de gestion de processus peuvent utiliser la fonction de contexte delancement pour s'intégrer aux produits de gestion opérationnelle dans un modeassisté.

Le produit de gestion de processus fournit une classe d'action Java qui initiel'appel à un module d'intégration, et donc au produit de gestion opérationnelle. Leproduit de gestion de processus traite ensuite la réponse dans le produit de gestionopérationnelle.

Une opération de gestion logique définit l'action que le produit de gestion deprocessus applique au produit de gestion opérationnelle. L'opération de gestionlogique identifie les propriétés suivantes :v Le nom et la description de l'action pris en chargev Si le traitement est synchrone ou asynchronev Les objets et zones d'entrée (source) et de sortie (cible) de la transaction

Le module d'intégration fournit un mécanisme pour un produit de gestion deprocessus permettant d'appeler un produit de gestion opérationnelle externe.Lorsqu'il est démarré par un produit de gestion de processus, le moduled'intégration utilise des données fournies par le produit de gestion de processus

4 Intégration de données à des applications externes

Page 13: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

afin d'appeler le service du produit de gestion opérationnelle. Le moduled'intégration peut également renvoyer des données de réponse au produit degestion de processus.

Les produits de gestion opérationnelle fournissent des services que les modulesd'intégration peuvent appeler pour initier les actions du produit de gestionopérationnelle.

Infrastructure d'intégration de l'interface utilisateurVous pouvez configurer l'infrastructure d'intégration pour ouvrir une fenêtre dansune application externe et fournir des données à inclure dans le contexte de cettefenêtre.

Vous pouvez configurer l'URL d'une console de n'importe quelle application àl'aide d'une console Web et configurer les URL des consoles utilisant Java WebStart. Vous ne pouvez pas utiliser une entrée de lancement pour ouvrir desapplications qui ne sont pas activées pour le Web. Vous pouvez configurer unpoint de lancement à partir de n'importe quelle application. Vous pouvez fournirun accès aux points de lancement sous forme d'actions, de liens hypertexte et àl'aide des boutons de l'application.

Vous pouvez utiliser la même approche pour ouvrir la fenêtre d'une application duproduit à partir d'une application externe.

Activation de l'importation et de l'exportation de donnéesAvant d'utiliser l'infrastructure d'intégration pour échanger des données avec uneapplication externe, vous devez configurer les composants requis pour lacommunication entrante et sortante. Ces procédures décrivent les étapes deconfiguration minimales requises pour autoriser l'exportation de données vers unfichier et l'importation de données à partir d'un fichier.

Préparation du systèmePour permettre l'intégration, vous devez exécuter certaines tâches de configurationrelatives aux propriétés système, aux files d'attente JMS et aux tâches périodiques.

Configuration de files d'attente JMSLes files d'attente JMS sont configurées sur le serveur d'applications. Laconfiguration de la file d'attente JMS peut être automatique ou manuelle surWebSphere Application Server. La configuration de la file d'attente JMS est toujoursune procédure manuelle sur WebLogic Server.

Procédure1. Confirmez que les files d'attente JMS sont configurées.2. Confirmez que les beans gérés par message sont activés pour la file d'attente

continue.

Configuration des propriétés d'intégrationAvant d'activer l'infrastructure d'intégration, modifiez les paramètres par défautpour les propriétés d'intégration sur des paramètres appropriés pour votreenvironnement.

Intégration de données à des applications externes 5

Page 14: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure1. Dans l'application Propriétés Système, filtrez les propriétés à configurer. Si vous

filtrez mxe.int dans la zone Propriété, toutes les propriétés d'intégration sontrépertoriées.

2. Sélectionnez la propriété mxe.int.dfltuser et vérifiez que le compte utilisateurspécifié est un compte d'utilisateur système valide. Modifiez la valeur de lapropriété si nécessaire. La propriété spécifie l'ID de connexion par défaut utilisépour toutes les transactions d'intégration traitées par une file d'attente JMSentrante.

3. Facultatif : Vous pouvez configurer un répertoire général dans lequel lesfichiers d'intégration ne peuvent être stockés qu'à un seul endroit sur lesystème de fichiers. Les serveurs Maximo Asset Management doivent avoiraccès au répertoire général sur le système de fichiers. Par exemple, lorsquevous utilisez un point de terminaison basé sur des fichiers pour lequel aucunemplacement de fichier n'a été configuré, le fichier généré par le point determinaison est placé dans un répertoire par défaut du répertoire général. Vouspouvez configurer le nom du répertoire général dans la propriété systèmemxe.int.globaldir.

Activation de la tâche périodique pour des files d'attente JMSPour le traitement asynchrone, des messages d'intégration sont placés dans desfiles d'attente JMS. Les tâches périodiques interrogent les files d'attente JMS àintervalles réguliers, puis traitent les messages trouvés dans les files d'attente.

Procédure1. Dans l'application Configuration des tâches périodiques, recherchez la tâche

périodique JMSQSEQCONSUMER.2. Vérifiez que la tâche périodique est configurée pour interroger les files d'attente

SEQQIN et SEQQOUT.3. Cochez la case Actif pour chaque file d'attente.4. Cliquez sur Sauvegarder.5. Cliquez sur l'action Demande de rechargement.

Exportation de données dans un fichier de testPour vérifier que ce traitement sortant est correctement configuré et activé,exécutez un test d'exportation.

Pourquoi et quand exécuter cette tâche

Pour tester le traitement sortant, cette tâche utilise la fonction d'exportation dedonnées pour exporter un enregistrement de personne dans un fichier. La tâcheutilise les composants d'intégration prédéfinis suivants :v Système externe : EXTSYS1v Canal de publication : MXPERSONInterface, qui utilise la structure d'objet

MXPERSONv Point de terminaison : MXXMLFILE

Procédure1. Dans l'onglet Systèmes, vérifiez que la case Activé est cochée pour le système

externe EXTSYS1.2. Dans l'onglet Canaux de publication, filtrez sur le canal de publication

MXPERSONInterface.

6 Intégration de données à des applications externes

Page 15: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

3. Dans la section Caractéristiques du canal de publication MXPERSONInterface,indiquez MXXMLFILE dans la zone Point de terminaison.

4. Cliquez sur Exportation de données.5. Dans la fenêtre Exportation de données, indiquez 1 dans la zone Nombre pour

limiter l'exportation à un seul enregistrement.

Résultats

Si l'emplacement n'a pas été défini dans la propriété FILEDIR, le fichier XML estexporté à l'emplacement que vous avez indiqué dans la propriétémxe.int.globaldir.

Importation de données depuis un fichier de testPour vérifier que ce traitement entrant est correctement configuré et activé,exécutez un test d'importation.

Procédure1. Ouvrez le fichier de test que vous avez exporté dans un éditeur de texte et

exécutez les modifications suivantes :a. Changez la balise <PublishMXPERSON> pour <SyncMXPERSON> pour

modifier l'opération pour le traitement d'événement entrant.b. Ajoutez un suffixe à la valeur LASTNAME, par exemple

LASTNAME_TEST, pour faciliter la vérification de la modification lors del'importation du fichier de test.

c. Sauvegardez le fichier.2. Dans l'onglet Système de l'application Systèmes externes, assurez-vous que la

case à cocher Activé est sélectionnée pour le système externe EXTSYS1.3. Dans l'onglet Services d'entreprise, filtrez le service d'entreprise

MXPERSONInterface.4. Sélectionnez la ligne MXPERSONInterface et désélectionnez Utiliser la file

d'attente continue.5. Cliquez sur Sauvegarder.6. Sélectionnez la ligne MXPERSONInterface et cliquez sur Importer les

données.7. Dans la fenêtre Importer les données, indiquez les valeurs suivantes :

a. Sélectionnez l'option XML file.b. Dans la zone Spécifier le fichier d'importation, accédez au fichier de test

modifié et sélectionnez-le.8. Cliquez sur OK.9. Dans l'application Personnes, filtrez sur l'enregistrement de test et vérifiez que

la valeur de la zone Nom inclut le suffixe que vous avez ajouté.10. Supprimez le suffixe pour restaurer l'enregistrement à sa valeur d'origine et

cliquez sur Sauvegarder.

Composants d'intégrationEn fonction de l'étendue et des exigences de votre implémentation, vous pouvezcréer de nouveaux composants ou copier, modifier ou étendre les composantsprédéfinis.

La duplication d'un composant d'intégration et la modification de la copieprésentent plusieurs avantages. La copie d'un composant d'intégration devient une

Intégration de données à des applications externes 7

Page 16: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

entité définie par l'utilisateur et les restrictions de modification qui s'appliquent aucomposant prédéfini ne s'appliquent pas à la copie. La version d'origine ducomposant reste inchangée. Pour éviter de modifier un composant lors de sonutilisation pour le traitement de transactions, effectuez toutes les modifications enmode administrateur.

Structures d'objetUne structure d'objet correspond à la couche de données commune que lescomposants de l'infrastructure d'intégration utilisent pour envoyer et recevoir desdonnées dans Maximo Asset Management. Une structure d'objet se compose d'unou de plusieurs objets métier qui définissent le contenu d'un message d'intégration.

Une structure d'objet fournit le contenu d'un message pour les canaux et serviceset active l'importation et l'exportation basée sur l'application. De plus, unestructure d'objet, seule, peut être appelée en tant que service, prenant ainsi encharge les opérations Créer, Mettre à jour, Supprimer, Synchroniser et Interroger.

Identification d'objetL'identification des données à inclure dans une structure d'objet exige de connaîtreles applications et les objets qui leur sont associés. Examinez le modèle de donnéesd'une application pour déterminer les objets, tables de base de données et vuescontenant les données que vous devez transférer depuis et vers le système externe.

Vous devez rechercher les objets censés renseigner les tables de base de données.Généralement, il existe une relation une-à-une entre un objet et une table de basede données. Cependant, dans certains cas, plusieurs objets écrivent des donnéesdans une seule table.

Une structure d'objet prédéfinie est fournie pour échanger les données d'un objetPersonne avec un système externe. Si aucune structure d'objet prédéfinie n'existe,pour en créer une, vous indiquez que les données dont vous avez besoin setrouvent dans les tables PERSON, PHONE, EMAIL et SMS. Les tables de base dedonnées ont des noms identiques aux objets correspondants. Insérez ces objetsdans la structure d'objet que vous créez. Le nom de la structure d'objet doitcommencer par un caractère alphabétique.

Lorsqu'une structure contient plusieurs objets, elle est organisée comme unehiérarchie, avec un objet racine (l'objet supérieur ou l'objet principal) et les objetsenfant. Une structure d'objet peut prendre en charge n'importe quel nombre deniveaux d'objet dans sa hiérarchie. Vous devez spécifier une relation parent-enfantvalide pour tous les objets des niveaux inférieurs et vous ne pouvez pas référencerles objets plusieurs fois dans la même branche de hiérarchie. Lorsque vous créezune structure d'objet, commencez par ajouter l'objet (niveau supérieur) principal.Vous pouvez ensuite ajouter plusieurs objets comme objets enfant de l'objet parent.

Clés alternativesLe traitement des messages entrants repose sur les zones de clé d'un objet pourrechercher un enregistrement existant dans le système afin de prendre en chargeles mises à jour et les suppressions. Le traitement par défaut repose sur la cléprincipale pour extraire les enregistrements existants. Une clé principale est parfoisinconnue d'une application externe et une clé alternative (connue du systèmeexterne) est définie pour prendre en charge la mise à jour et la suppression desenregistrements par le système externe.

Un message entrant utilise normalement la clé principale d'un objet pourrechercher et traiter des enregistrements qui existent déjà dans le système.

8 Intégration de données à des applications externes

Page 17: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Toutefois, une clé principale est parfois une valeur générée en interne qui n'est pasdisponible pour le système externe. Dans ces cas, vous pouvez définir une cléalternative pour un objet et le système externe transmet les zones de la cléalternative utilisée par l'infrastructure d'intégration, à la place des zones de cléprincipale, pour extraire les données correspondant à cet objet.

Vous pouvez spécifier une clé alternative pour un objet soit au niveau de l'objet,soit au niveau de la structure de l'objet. Si vous spécifiez une clé alternative auniveau de l'objet, toutes les structures d'objet contenant l'objet utilisent la même cléalternative. Si vous spécifiez une clé alternative au niveau de la structure d'objet,vous pouvez utiliser différentes structures d'objet pour spécifier une autre clédifférente pour chaque source de données externe utilisée par l'objet. Vousdéfinissez l'index qui constitue une clé alternative pour un objet dans l'applicationConfiguration de base de données. Une fois que vous avez créé l'index, vouspouvez le sélectionner comme une clé alternative pour l'objet.

Lors du traitement d'événement entrant, l'infrastructure d'intégration traite la cléalternative et la clé principale dans l'ordre suivant :v Elle traite la clé alternative de la structure d'objet, si celle-ci est configurée.v Elle traite la clé alternative de l'objet, si celle-ci est configurée et qu'une clé

alternative n'est pas configurée pour la structure d'objet.v Elle utilise la clé principale de l'objet si une clé alternative n'est configurée ni

pour la structure d'objet, ni pour l'objet.

Après que vous avez spécifié une clé alternative, les messages entrants peuventéchouer si vous modifiez ou supprimez l'index de la clé alternative.

Zones d'objetL'infrastructure d'intégration et le système externe échangent un sous-ensemble decolonnes de données dans les objets de la structure d'objet. Sous certainesrestrictions, vous pouvez contrôler le contenu des zones d'objet du message enincluant des colonnes permanentes et non permanentes d'objets individuels.

Un objet métier peut posséder plusieurs zones, la plupart d'entre elles peuvent êtreinutiles pour un scénario d'intégration. Lorsque vous configurez une structured'objet, vous pouvez sélectionner les zones à inclure dans les messagesd'intégration et améliorer la performance du transfert des messages entre lesapplications. Par défaut, les objets d'une structure incluent toutes les colonnespermanentes des objets. Une colonne permanente est une zone de données qu'unobjet utilise pour écrire des données dans une table de base de données lors de sontraitement. Pour contrôler la taille du contenu, vous pouvez exclure les colonnespermanentes qui n'effectuent aucun échange avec les applications externes. Seulesles colonnes permanentes incluses font partie du message XML pour les messagessortants. Pour les messages entrants, seules les colonnes d'objet incluses dans lastructure d'objet sont mises à jour. N'excluez aucune colonne faisant partie d'uneclé primaire ou alternative.

Par défaut, une structure d'objet exclut la plupart des colonnes non permanentesdes objets de composant. Une colonne non permanente est une zone de donnéestemporaires qu'un objet utilise pour les calculs ou le stockage temporaire. Vouspouvez inclure des colonnes non permanentes supplémentaires dans la structured'objet. Par exemple, les objets contenant la colonne permanente DESCRIPTIONcontiennent également la colonne non permanenteDESCRIPTION_LONGDESCRIPTION. La plupart des structures d'objet prédéfinies

Intégration de données à des applications externes 9

Page 18: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

inclut cette colonne non permanente car beaucoup de scénarios d'intégrationrequièrent les zones de description détaillée. Si cette zone n'est pas incluse, elle nefait pas partie des messages d'intégration.

Si vous modifiez le contenu du message d'une structure d'objet actuellementutilisée par une table d'interface, la table d'interface doit être regénérée pourrefléter le contenu mis à jour de la structure d'objet.

Considérations relatives à la table d'interface et au fichier à platSi vous utilisez une structure d'objet pour échanger des données avec les tablesd'interface ou fichiers à plat, vous devez vérifier que la structure d'objet necontient pas de noms de colonne en double.

Vous devez cocher la case Flat Supported (Fichier à plat pris en charge) pourtoutes les structures d'objet que vous prévoyez d'utiliser pour les scénariosd'intégration de tablse d'interface ou fichiers à plat. Lorsque cette option estdéfinie, les messages sont vérifiés afin de garantir que chaque colonne des objetsde la structure possède un nom unique. Si des noms de colonne existent en double,vous pouvez créer un nom de zone d'alias pour ces derniers. La modification del'alias permet de garantir que chaque nom de colonne est unique et que le systèmepeut générer la table d'interface ou le fichier à plat sans erreur. Les tablesd'interface requièrent que toutes les colonnes incluses dans l'objet correspondantpossèdent un nom d'alias de 18 caractères maximum.

Modification d'une structure d'objet prédéfinieIl existe certaines restrictions lorsque vous modifiez une structure d'objetprédéfinie.

Vous pouvez ajouter des objets à une structure d'objet prédéfinie, mais vous nepouvez pas supprimer des objets prédéfinis de la structure d'objet. Pour évitercette restriction, dupliquez la structure d'objet prédéfinie pour créer une structured'objet définie par l'utilisateur, et supprimer des objets de la version dupliquée.

Vous pouvez inclure et exclure des colonnes permanentes et non permanentes, enfonction des validations standards s'appliquant au traitement de l'intégration. Lesmessages sortants incluent des colonnes pour les objets que vous ajoutez à unestructure d'objet. Testez les messages entrants pour vous assurer que les colonnesajoutées sont traitées correctement. Si les colonnes d'objet supplémentaires ne lesont pas, ajoutez une classe de traitement de structure d'objet pour qu'elle secharge du traitement de l'événement entrant.

Si vous utilisez la structure d'objet dans des tables d'interface ou des fichiers à plat,vérifiez qu'il n'y ait pas de conflits d'alias. Un conflit d'alias peut se produire sideux objets d'une structure d'objet prenant en charge des fichiers à plat comportedes colonnes avec le même nom. Lorsque vous recherchez les conflits d'alias, lesnoms en double sont identifiés et vous pouvez affecter des noms d'alias à utiliseren remplacement pour résoudre le conflit. Si vous utilisez des tables d'interface,régénérez celles de chaque service d'entreprise ou canal de publication qui utilisentla structure d'objet modifiée.

Configuration d'une structure d'objetVous pouvez créer de nouvelles structures d'objet et, lors de ce processus, générerdes fichiers de schéma, inclure ou exclure des zones et résoudre des conflits d'alias.Vous pouvez également spécifier des restrictions de paramètre entrant, définir despropriétés de configuration avancée et configurer des autorisations de l'application.

10 Intégration de données à des applications externes

Page 19: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Création de structures d'objet :

Lorsque vous créez une structure d'objet, vous définissez un groupe d'objetsassociés devant faire partie d'un message d'intégration que vous échangez avec desapplications externes. Vous pouvez identifier des zones de données pour chaqueobjet métier qui détermine le contenu de messages d'intégration.

Pourquoi et quand exécuter cette tâche

Si nécessaire, lors de la configuration, vous pouvez définir les classes Java quitraitent des messages entrants et sortants. Vous pouvez également définir uneapplication qui fournit des règles d'autorisation pour les messages d'intégrationtraités via la structure d'objet. Si la structure d'objet est conçue uniquement pourles requêtes et que vous ne souhaitez pas l'utiliser pour la mise à jour, sélectionnezl'option Demande uniquement. Si l'objet principal de la structure d'objet a unerelation avec elle-même en tant qu'objet enfant, sélectionnez l'optionAutoréférence.

Procédure

1. Dans l'application Structures d'objet, cliquez sur Nouvelle structure d'objet.2. Dans la zone Structure d'objet, indiquez un identifiant de structure d'objet.3. Facultatif : Si vous utilisez la structure d'objet pour les opérations

d'interrogation, cochez la caser Demande uniquement.4. Facultatif : Si vous utilisez des tables d'interface ou des fichiers à plat pour

échanger des données entre l'infrastructure d'intégration et un système externe,cochez la case Support Flat File Structure (Prise en charge de la structure defichier à plat).

5. Dans la zone Consommé par, spécifiez le module qui utilise la structured'objet.

Option Description

INTEGRATION Infrastructure d'intégration

MIGRATIONMGR Gestionnaire de migration

REPORTING Génération de rapports

OSLC OSLC

6. Dans la table Objects source, cliquez sur Nouvelle ligne.7. Renseignez les zones suivantes pour créer une hiérarchie d'objets métier :

v Objet

v Objet parent

v Description du rapport

v Relation

v Ordre de l'objet

8. Cliquez sur Sauvegarder la structure de l'objet.

Que faire ensuite

Si la case Conflit d'alias est cochée sur l'enregistrement de structure d'objet, vouspouvez ajouter ou modifier un alias pour corriger des noms de zone en doubledans vos objets source. Vous pouvez également spécifier les zones permanentes ettampon que vous souhaitez exclure et inclure dans la structure d'objet.

Intégration de données à des applications externes 11

Page 20: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Configuration d'une clé alternative :

Pour configurer une clé alternative, créez un index unique dans l'applicationConfiguration de base de données et référencez-le en tant que clé alternative pourune structure d'objet ou un objet spécifique.

Pourquoi et quand exécuter cette tâche

Si vous définissez la clé alternative au niveau de l'objet, elle s'applique à toutes lesutilisations de l'objet dans n'importe quelle structure d'objet. Si vous la définissezdans la structure d'objet, elle s'applique à l'objet uniquement lorsqu'un utilisateur yaccède via la structure d'objet sélectionnée.

Procédure

1. Identifiez la ou les zones d'un objet à utiliser comme clé alternative.2. Sélectionnez l'objet dans l'application Configuration de base de données.3. Créez un index unique pour les zones dans l'onglet Index.4. Indiquez cet index dans la zone Alternative Key de l'un des onglets suivants :

a. Dans l'onglet Objet de l'application Configuration de la base de données, sivous souhaitez appliquer la clé alternative à l'objet pour toutes les sourcesde données externes.

b. Dans l'onglet Structures d'objet de l'application Configuration de base dedonnées, si vous souhaitez appliquer la clé alternative à cette utilisationspécifique de l'objet.

Inclusion de zones tampon dans la structure d'objet :

Les objets métier utilisent des zones tampon pour les calculs ou pour le stockagetemporaire de données. Par défaut, les zones tampon d'un objet métier sont excluesde la définition de structure d'objet. Vous pouvez inclure les données de zonestampon dans des messages d'intégration.

Avant de commencer

Si vous souhaitez modifier une structure d'objet prédéfinie, créez un double decette structure d'objet pour créer une version définie par l'utilisateur qui convienneaux modifications.

Procédure

1. Dans l'application Structures d'objet, sélectionnez la structure d'objet que vousvoulez mettre à jour.

2. Sélectionnez l'objet métier qui contient la zone tampon à inclure.3. Sélectionnez l'action Exclure/inclure des zones.4. Cliquez sur l'onglet Zones tampon pour afficher les zones tampon de l'objet

métier.5. Spécifiez si la zone tampon doit être exclue ou incluse.

Option Incluse

Inclure la zone Sélectionné

Exclure la zone Effacé

6. Cliquez sur OK.

12 Intégration de données à des applications externes

Page 21: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exclusion de zones permanentes de la structure d'objet :

Les objets métier utilisent des zones permanentes pour écrire des données detraitement dans une base de données. Par défaut, les zones permanentes sontincluses dans la définition de structure d'objet. Vous pouvez exclure les données dezone permanente que vous ne souhaitez pas mapper vers un messaged'intégration.

Avant de commencer

Si vous souhaitez modifier une structure d'objet prédéfinie, créez un double decette structure d'objet pour créer une version définie par l'utilisateur qui convienneaux modifications.

Pourquoi et quand exécuter cette tâche

Vous ne pouvez pas exclure une zone faisant partie d'une clé principale. Si vousexcluez une zone permanente d'une structure d'objet prédéfinie, il se peut quel'objet associé ne fonctionne pas correctement pendant le traitement du messageentrant. Testez vos messages entrants pour vous assurer qu'une zone permanenteexclue n'affecte pas le traitement de l'objet.

Procédure

1. Dans l'application Structures d'objet, sélectionnez la structure d'objet que vousvoulez mettre à jour.

2. Sélectionnez l'objet métier qui contient la zone permanente à exclure.3. Sélectionnez l'action Exclure/inclure des zones.4. Cliquez sur l'onglet Zones permanentes pour afficher les zones permanentes de

l'objet métier.5. Spécifiez si la zone permanente doit être exclue ou incluse.

Option Exclu

Exclure la zone Sélectionné

Inclure la zone Effacé

6. Cliquez sur OK.

Résolution de conflits d'alias :

Une structure d'objet contenant plusieurs objets et prenant en charge des fichiers àplat ou des tables d'interface ne peut pas avoir de noms de zone en double pouraucune des zones de ses objets. Vous devez résoudre tous les conflits de nom dezone (alias) pour pouvoir générer des tables d'interface et des enregistrements defichiers à plat.

Pourquoi et quand exécuter cette tâche

S'il existe un conflit d'alias, la case Conflit d'alias est cochée dans l'enregistrementde structure d'objet. Vous ne pouvez changer un alias que si la case Support FlatFile Structure (Prise en charge de la structure de fichier à plat) est cochée dansl'enregistrement, ce qui indique que les données sont traitées à l'aide de tablesd'interface ou de fichiers à plat.

Intégration de données à des applications externes 13

Page 22: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure

1. Lorsqu'un alias de conflit existe, sélectionnez un objet métier dans la tableObjets source.

2. Sélectionnez l'action Ajouter/Modifier un alias. Si des alias en double existentpour une zone, la case Dupliquer est cochée.

3. Pour mettre à jour un alias en double :a. Cliquez sur Afficher les détails pour l'alias dupliqué.b. Spécifiez une nouvelle valeur dans la zone ALIASNAME.c. Cliquez sur OK.

Que faire ensuite

Après avoir résolu tous les conflits d'alias, vous pouvez générer des tablesd'interface et des enregistrements de fichier à plat. Si vous utilisez des tablesd'interface, vous devez régénérer toutes celles qui utilisent la structure d'objet miseà jour. Pour cela, sélectionnez l'action Créer les tables d'interface dans l'applicationSystèmes externes.

Définition de restrictions sur des zones de messages entrants :

Le traitement d'intégration standard définit les valeurs des zones d'objet avec lesvaleurs correspondantes d'un message entrant. Vous pouvez définir une zonecomme restreinte si vous ne souhaitez pas que la valeur soit mise à jour par desmessages entrants, par exemple pour une zone avec un ID interne ou dans laquelleune classe de traitement fournit la logique permettant de définir la zone.

Procédure

1. Sélectionnez l'action Restrictions de paramètre entrant.2. Dans la fenêtre Restrictions de paramètre entrant, sélectionnez l'objet auquel

vous souhaitez appliquer des restrictions de paramètre. La table Restrictions deparamètre entrant est actualisée avec une liste des zones configurées pourl'objet sélectionné.

3. Cochez la case Restriction pour toutes les zones que vous ne souhaitez pas voirmises à jour avec des valeurs de messages entrants.

4. Vous pouvez cocher la case Substitution pour supprimer les restrictionsdéfinies pour une zone. Vous ne pouvez pas supprimer la restriction définie surcertaines zones, par exemple pour les zones comportant un ID généré par lesystème.

5. Cliquez sur OK.

Définition de configurations avancées pour une structure d'objet :

Vous pouvez définir des configurations avancées pour un structure d'objet afin dechanger certains comportements de traitement par défaut pour des messagesd'intégration. Les configurations avancées comprennent la configuration dutraitement des zones clés pour les objets enfants, si un événement d'un objet enfantactive un événement correspondant sur l'objet parent et si des données généréesautomatiquement sont supprimées.

Procédure

1. Sélectionnez l'action Configuration avancée.2. Décochez la case Exclure les attributs de clé parentes pour tous les objets pour

lesquels vous souhaitez que ces attributs soient inclus aux objets enfants.

14 Intégration de données à des applications externes

Page 23: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Lorsque cette case est cochée (valeur par défaut), les zones clés existant dansun objet enfant ne sont pas inclues à la section du message de cet objet si lamême zone fait partie de la clé de l'objet parent. Si vous désélectionnez cetteoption, les zones clés d'un objet enfant sont toujours inclues et la zone estinclue à la fois dans la section de l'objet enfant du message et dans la sectionde l'objet parent.

3. Décochez la case Supprimer les données autogénérées pour tous les objetsdans lesquels vous souhaitez conserver ces données. Lorsque cette case estcochée (valeur par défaut), le traitement d'intégration supprime toujours toutesles données de niveau enfant qui sont automatiquement créées par la logiqued'objet métier lorsque l'objet parent est créé. Si vous désélectionnez cette option,toutes les données supplémentaires créées automatiquement sont conservées.

4. Sélectionnez l'option Propager un événement pour tous les objets dans lesquelsvous souhaitez qu'un événement sur un objet enfant déclenche un événementsur l'objet principal. Lorsque vous configurez un canal de publication pourenvoyer des messages en fonction d'un événement d'objet, le programmed'écoute d'événement est configuré pour l'objet principal de la structure d'objet.Dans certains cas, la mise à jour d'un objet enfant ne déclenche pasd'événement sur l'objet principal et aucun message n'est envoyé. Sélectionnezcette option si vous souhaitez qu'une mise à jour de l'objet enfant déclenche unévénement sur l'objet principal sans avoir à mettre à jour ce dernier. Si un objetenfant inclut une logique qui déclenche un événement sur son objet parent,vous ne pouvez pas l'activer ou la désactiver avec cette configuration.

Canaux et servicesLes canaux et services référencent une structure d'objets pour le contenu de leurmessage et permettent un échange synchrone et asynchrone des données avec lessystèmes externes. Deux types de canal traitent les messages sortants : les canauxde publication et les canaux d'appel. Trois types de service traitent les messagesentrants : les services de structure d'objet, les services d'entreprise et les servicesstandard.

Canaux de publicationUn canal de publication permet d'envoyer des messages asynchrones, via une filed'attente JMS, à un système externe. Les messages de canal de publication peuventêtre lancés au moyen d'un événement ou d'une fonction d'exportation de données.

L'infrastructure d'intégration comprend des canaux de publication prédéfinis ouvous pouvez en configurer de nouveaux. Lorsque vous configurez un canal depublication, vous devez l'associer à une structure d'objet et vous pouvez,facultativement, activer un programme d'écoute d'événement. Vous devezégalement configurer la canal de publication avec un système externe pourdéterminer où le message a été livré.

Vous pouvez également configurer des règles de traitement, des classes detraitement Java ou une mappe XSL pour personnaliser le traitement destransactions du canal de publication.

Configuration d'un canal de publication :

Pour utiliser un canal de publication pour exporter des données, vous devezd'abord en créer un, l'associer à une structure d'objet, puis activer un programmed'écoute des événements. Vous devez également configurer un point determinaison acheminant la transaction vers un système externe spécifique. Vous

Intégration de données à des applications externes 15

Page 24: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

pouvez également configurer des règles de publication, des classes de traitementJava, ou un mappage XSL pour personnaliser le traitement de la transaction.

Création de canaux de publication :

Vous pouvez créer un enregistrement de canal de publication pour envoyer desmessages d'intégration à un système externe.

Avant de commencer

Avant de créer et de configurer un canal de publication, utilisez l'applicationStructures d'objet pour configurer la structure d'objet que vous souhaitez associerau canal.

Procédure

1. Dans l'application Canaux de publication, cliquez sur Nouveau canal depublication.

2. Dans la zone Canal de publication, spécifiez un nom pour le canal depublication.

3. Dans la zone Structure d'objet, indiquez la structure d'objet à utiliser avec lecanal de publication. La section Structure de l'objet des sous-enregistrementss'actualise alors avec les informations relatives aux objets contenus dans lastructure d'objet.

4. Facultatif : Si vous prévoyez d'utiliser une table d'interface en tant que sourcede données, indiquez son nom dans la zone Table d'interface. La structured'objet doit être configurée de sorte à prendre en charge les fichiers à platutilisés avec les tables d'interface.

5. Facultatif : Si vous pensez personnaliser la logique de traitement sortante,spécifiez les chemins d'accès aux classes Java et à la feuille de style XSL dansles zones suivantes :a. Classe de traitement

b. Classe de sortie utilisateur

c. Mappage XSL

d. Classe de filtre de définition d'événement

Toute classe Java spécifiée doit appartenir au fichier EAR d'application. Unfichier XSL peut être inclus dans le fichier EAR ou dans un système de fichiersaccessible.

6. Facultatif : Vous pouvez configurer les règles de traitement du canal depublication.

7. Facultatif : Si nécessaire, décochez la case Conserver les MBO pour que lecanal de publication ne traite pas les règles basées sur les objets métier.

8. Cliquez sur Sauvegarder le canal de publication.

Que faire ensuite

Vous pouvez activer un programme d'écoute de canaux de publication pourdemander à l'infrastructure d'intégration de construire et de traiter le canal depublication sélectionné. Vous pouvez également utiliser l'application Systèmesexternes pour associer le canal de publication à un système externe et identifier unpoint de terminaison final pour la transmission des messages envoyés par le canal.

16 Intégration de données à des applications externes

Page 25: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Activation des programmes d'écoute de canaux de publication :

Vous pouvez activer un programme d'écoute des événements sur un canal depublication afin de surveiller l'activité de traitement sur les objets de canal depublication associés. Le traitement du canal de publication est initié lorsqu'unévénement se produit sur l'objet principal de la structure d'objet associée.

Procédure

1. Dans l'application Canaux de publication, sélectionnez le canal de publication àconfigurer avec un programme d'écoute des événements.

2. Sélectionnez l'action Activer le programme d'écoute d'événement.3. Cliquez sur OK pour activer le programme d'écoute de canaux de publication.

Les informations relatives au canal de publication sont alors actualisées et lacase Event Listener (Programme d'écoute d'événement) est cochée.

Que faire ensuite

Sélectionnez l'action Désactiver les programmes d'écoute d'événements si voussouhaitez désactiver le programme d'écoute d'événement à un moment donné.

Canaux d'appelLes canaux d'appel définissent la logique de traitement et le mappage des donnéesentrantes et sortantes, qui permettent à l'infrastructure d'intégration d'appeler desapplications externes et de traiter les réponses. Aucun canal d'appel prédéfini n'estfourni.

Création de canaux d'appel :

Vous pouvez créer un enregistrement de canal d'appel pour envoyer des donnéessortantes d'une structure d'objet vers un système externe afin de traiter desréponses du système externe.

Avant de commencer

Vous devez inclure la classe de traitement définie, la classe de sortie utilisateur etles fichiers de mappage XSL dans le fichier EAR de l'application. Vous devezégalement définir un chemin de nom de fichier de mappage XSL auquel le serveurd'applications peut accéder.

Procédure

1. Dans l'application Canaux d'appel, cliquez sur Nouveau canal d'appel.2. Entrez un identificateur de canal d'appel dans la zone Canal d'appel.3. Renseignez les zones suivantes :

v Adaptateur

v Point de terminaison

4. Facultatif : Si ce canal d'appel traite des réponses d'une application externe,cochez la case Réponse de processus.

5. Dans la table Configuration de la demande de service, entrez des valeurs dansles zones suivantes :

Intégration de données à des applications externes 17

Page 26: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Description

Structure de l'objet de demande Structure d'objet utilisée pour définir lecontenu du traitement des donnéessortantes.

Classe de traitement de la demande Fichier de classe Java utilisé lorsque lecanal d'appel requiert une logique detraitement sortant prédéfinie.

Sortie utilisateur de la demande Fichier de classe utilisé par le canald'appel pour personnaliser la logique detraitement sortant prédéfinie

Fichier XSL de la demande Fichier XSL utilisé pour personnaliser lemappage de canal d'appel sortantprédéfini.

6. Facultatif : Si vous avez coché la case Réponse du processus, entrez desvaleurs dans les zones suivantes de la table Configuration de la réponse duservice :

Option Description

Structure de l'objet de réponse Structure d'objet utilisée pour définir lecontenu de la réponse.

Classe de traitement de la réponse Fichier de classe Java utilisé lorsque le canald'appel requiert une logique de traitemententrant prédéfinie pour la réponse.

Classe de sortie utilisateur de réponse Fichier de classe utilisé par le canal d'appelpour personnaliser la logique de traitemententrant prédéfinie pour la réponse.

Fichier XSL de la réponse Fichier XSL utilisé pour personnaliser lemappage de canal d'appel entrant prédéfinipour la réponse.

7. Cliquez sur Sauvegarder le canal d'appel.

Que faire ensuite

Vous pouvez afficher le schéma XML de la structure d'objet à l'aide d'une adresseURL au format suivant :

http://localhost:port/meaweb/schema/service/nom_structure_objet

Configuration d'une action d'appel d'un canal d'appel :

L'infrastructure d'intégration fournit une classe d'action par défaut que vouspouvez configurer comme action système. En fournissant cette classe d'action, vouspouvez configurer un contrôle d'interface utilisateur, une escalade ou un flux detravaux pour appeler un service externe à l'aide d'un canal d'appel.

Procédure

1. Créez un canal d'appel dans l'application Canaux d'appel.2. Créez une action dans l'application Actions.3. Indiquez un objet pour l'action. Cet objet doit être identique à l'objet principal

de la structure d'objet de la requête du canal d'appel et à l'objet principal del'application, du flux de travaux ou de l'escalade appelant l'action.

18 Intégration de données à des applications externes

Page 27: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

4. Indiquez Classe personnalisée dans la zone Type.5. Indiquez le nom de la classe personnalisée dans la zone Variable. Vous pouvez

utiliser le nom de la classe par défaut fournie à cet effet,psdi.iface.action.InvokeCustomClass, ou un autre nom de classe si vous avezcréé votre propre classe personnalisée pour appeler un système externe.

6. Indiquez des valeurs dans la zone Paramètre/Attribut. Indiquez les valeursdans l'ordre suivant et séparez chaque valeur par une virgule :a. Obligatoire : Nom du canal d'appel à utiliser. La valeur doit être strictement

identique au nom du canal d'appel.b. Facultatif : Nom de la relation à utiliser si l'objet principal de la structure

d'objet de la réponse est différent de l'objet principal de la structure d'objetde la requête dans le canal d'appel. Si l'objet de la réponse est identique àl'objet de la requête, aucune relation n'est requise.

c. Facultatif : Si vous avez indiqué une relation, indiquez l'action à appliquer.L'action par défaut est Ajouter ; elle crée des enregistrements. Pour mettre àjour des enregistrements existants, indiquez Modifier comme action. Si lesstructures d'objet de requête et de réponse sont identiques, les objets sontmis à jour si des zones mises à jour sont mappées dans la structure objet dela réponse.

7. Indiquez si l'action doit être appliquée à toutes les applications, aux flux detravaux ou aux applications.

8. Enregistrez l'action.

Que faire ensuite

Associez une application, un flux de travaux ou une escalade à l'action. L'objetprincipal est transmis à la classe d'action puis à la structure d'objet du canald'appel pour former la requête XML.

Appel d'un système externe à partir d'une application :

Après avoir configuré une classe d'action pour appeler un système externe (via uncanal d'appel), vous pouvez configurer un bouton dans une application pourdéclencher l'action d'appel. Vous pouvez également étendre la classe d'action pourafficher les résultats de la transaction dans une boîte de dialogue d'application.

Avant de commencer

Vous devez créer un canal d'appel et une classe d'action avant d'ajouter l'actiond'appel à une application. Si vous tentez d'afficher les résultats de l'appel, créezune fenêtre Résultats (boîte de dialogue) à l'avance.

Procédure

1. Ouvrez l'application dans l'application Concepteur d'applications. L'objetprincipal de cette application doit être identique à l'objet principal du canald'appel et à l'action que vous tentez d'appeler à partir de l'application.

2. Ajoutez un contrôle Groupe de boutons à l'espace de travail à partir de laPalette de contrôles. Le contrôle >Groupe de boutons ajoute automatiquementune commande Bouton à l'espace de travail.

3. Cliquez sur Propriétés pour ouvrir la fenêtre Propriétés du bouton.4. Indiquez un nom pour le bouton dans la zone Valeur, par exemple Invoke

External System.5. Indiquez l'ID de contrôle pour la fenêtre Résultats dans la zone ID objectif.

Intégration de données à des applications externes 19

Page 28: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

6. Indiquez une méthode dans la zone Valeur qui appelle le canal d'appel etredirige les résultats vers la fenêtre Résultats. Par exemple :InvokeChannelCache.getInstance().getInvokeChannel(channelName).invoke(metaData, mbo, mbo.getMboSet(rel), action, null);

Où :v La valeur channelName correspond au nom du canal d'appel.v La valeur mbo correspond au nom de l'objet.v La valeur rel correspond au nom de la relation (si applicable).v La valeur d'action est Ajouter.

Services de structure d'objetLorsque vous configurez une structure d'objet, aucune configurationsupplémentaire n'est requise pour la rendre disponible en tant que service ouressource REST.Concepts associés:«Interface de programme d'application REST», à la page 245L'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

Services d'entrepriseUn service d'entreprise est un pipeline pour la requête de données externes etl'importation de données à partir d'un système externe. Un service d'entreprisepeut traiter des données de façon synchrone (sans file d'attente) ou asynchrone(avec file d'attente). Ils peuvent utiliser plusieurs protocoles, tels que des servicesWeb et HTTP.

Un service d'entreprise possède des couches de traitement de données quitransforment les données et appliquent des règles de traitement métier auxdonnées avant qu'il atteigne les objets cible. Lorsque le message entrant atteint lacouche de structure d'objet, le message XML doit être au format du schéma destructure d'objet. L'infrastructure d'intégration peut alors traiter le message avecsuccès.

Vous pouvez configurer un service d'entreprise pour implémenter le traitement detransaction suivant :v Règles de traitementv Classe de traitement Java d'exit utilisateurv Classe de traitement de service d'entreprisev Mappage XSL

La passerelle est le point d'entrée des messages de service d'entreprise, àl'exception de ceux qui sont livrés directement depuis une file d'attente externedans la file d'attente d'intégration. Pour certains scénarios d'intégration, il peut êtreutile de configurer les propriétés de passerelle, par exemple si les propriétés tellesque les ID système sont fournis dans le message XML et non dans les informationsd'en-tête. Vous pouvez configurer une classe Java d'interpréteur pour modifier l'IDsystème externe, l'ID de service d'entreprise ou d'autres propriétés d'en-tête demessage JMS qui sont fournies dans un message entrant. Un autre solution consisteà configurer les propriétés de passerelle dans l'application Services d'entreprise.

20 Intégration de données à des applications externes

Page 29: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Configuration d'un service d'entreprise :

Lorsque vous créez un service d'entreprise, vous l'associer à une structure d'objet.Vous pouvez également configurer des propriétés de passerelle qui sont ajoutées àdes informations d'en-tête de messages entrants.

Création d'un service d'entreprise :

Vous pouvez créer un enregistrement de service d'entreprise pour recevoir desdonnées entrantes depuis un système extérieur. Sur le service d'entreprise, vouspouvez identifier les règles de traitement et de transformation des donnéesutilisées par l'infrastructure d'intégration pour recevoir des données entrantesdepuis un système externe.

Avant de commencer

Avant de créer et de configurer un service d'entreprise, utilisez l'applicationStructures d'objet pour configurer la structure d'objet devant être associée auservice d'entreprise.

Pourquoi et quand exécuter cette tâche

Lorsque la case Utiliser le schéma externe est cochée, les zones Scinder la balise,Fichier de schéma externe et Elément de schéma externe sont modifiables. Lesvaleurs de schéma externe identifient l'emplacement du schéma et le nom del'élément racine externe.

Procédure

1. Dans l'application Services d'entreprise, cliquez sur Nouveau serviced'entreprise.

2. Dans la zone Service d'entreprise, spécifiez un identificateur de serviced'entreprise.

3. Entrez une valeur dans les zones suivantes :v Structure d'objet

v Adaptateur

4. Facultatif : Renseignez les zones suivantes :

Option Description

Opération Détermine la manière dont le serviced'entreprise traite les données. Parexemple, vous pouvez synchroniser desobjets ou créer de nouveaux objets.

Vous pouvez également mettre à jour,supprimer ou interroger des objetsexistants.

Commande de multiplication Détermine la commande de référencecroisée utilisée par le service d'entreprisepour multiplier un message entrant àdestination de plusieurs organisations ousites.

Table d'interface Reflète le contenu des structures d'objet deservice d'entreprise.

Intégration de données à des applications externes 21

Page 30: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Description

Scinder la balise Indique si le message reçu contientplusieurs instances d'un document.

Par exemple, un seul message peutcontenir dix bons de commande. Leprocessus de scission gère chacune de cesinstances individuellement. L'applicationécrit plusieurs fichiers dans la file d'attenteentrante.

La syntaxe que vous utilisez pouridentifier ces valeurs de noeud doit avoirune expression XPATH complète.

5. Facultatif : Pour utiliser un schéma externe, cochez la case Utiliser le schémaexterne.

6. Facultatif : Vous pouvez personnaliser la logique de traitement de serviced'entreprise entrant de la manière suivante :a. Dans la zone Classe de traitement, entrez une valeur de classe si le service

d'entreprise requiert une logique de traitement entrant prédéfinie.b. Dans la zone Classe de sortie utilisateur, entrez une valeur de classe que le

service d'entreprise utilise pour personnaliser la logique de traitementprédéfinie d'événement entrant.

c. Dans la zone Mappage XSL, entrez une valeur pour personnaliser lemappage de service d'entreprise entrant prédéfini.

7. Cliquez sur Sauvegarder le service d'entreprise.

Que faire ensuite

Vous pouvez également utiliser l'application Systèmes Externes pour associer leservice d'entreprise à un système externe.

Configuration de structures d'objet supplémentaires pour un service d'entreprise :

Un service d'entreprise doit être associé à une structure d'objet principale. Vouspouvez ajouter des structures d'objet supplémentaires à un service d'entreprisepour prendre en charge les données de mise à jour supplémentaires qui ne sontpas incluses dans la structure d'objet principale du service d'entreprise. En fonctionde l'ordre de traitement défini, le service d'entreprise traite des structures d'objetsupplémentaires avant de traiter sa structure d'objet principale.

Procédure

1. Dans l'application Services d'entreprise, affichez le service pour lequel vousvoulez ajouter une structure d'objet.

2. Sélectionnez l'action Ajouter/Modifier la structure de l'objet supplémentaire etcliquez sur Nouvelle ligne.

3. Renseignez les zones suivantes :v Structure d'objet

v Ordre de traitement

4. Facultatif : Vous pouvez personnaliser la logique de traitement de serviced'entreprise entrant de la manière suivante :

22 Intégration de données à des applications externes

Page 31: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

a. Dans la zone Classe de traitement, entrez une valeur de classe si le serviced'entreprise nécessite une logique prédéfinie de traitement d'événemententrant.

b. Dans la zone Classe de sortie utilisateur, entrez une valeur de classe que leservice d'entreprise utilise pour personnaliser la logique de traitementprédéfinie d'événement entrant.

c. Dans la zone Mappe XSL, entrez une valeur pour personnaliser le mappageprédéfini du service d'entreprise d'événement entrant.

d. Dans la zone Commande de multiplication entrez une valeur pour définirla commande de référence croisée utilisée par le service d'entreprise pourmultiplier un message entrant à destination de plusieurs organisations ousites.

5. Cliquez sur OK.

Ajout de propriétés de passerelle à un service d'entreprise :

La passerelle est le point d'entrée des messages du service d'entreprise, àl'exception des messages envoyés directement d'une file d'attente externe vers lafile d'attente d'intégration. Une classe Java d'interpréteur peut être implémentéepour changer le système externe (SENDER) ou le service d'entreprise(INTERFACE) et définir d'autres propriétés d'en-tête JMS si nécessaire. Dansl'application Services Entreprise, vous pouvez définir des propriétés de passerelleen tant que valeurs codées en dur ou en spécifiant des balises XML.

Avant de commencer

Avant de configurer ces propriétés, consultez les informations ci-dessous relativesaux paramètres Propriétés de la passerelle.v Si vous sélectionnez la case à cocher Balise XML et que vous laissez la zone

Valeur vide, la passerelle utilise le nom de l'élément principal dans le messageXML en tant que valeur de la propriété correspondante.

v Si vous sélectionnez la case à cocher Balise XML et que vous entrez un nom debalise dans la zone Valeur, la passerelle utilise la valeur de cette balise en tantque valeur pour la propriété correspondante.

v Si la balise apparaît plusieurs fois dans le message XML, l'adaptateur utilise lavaleur de la première occurrence de la balise. Si vous désactivez la case à cocherBalise XML et que vous entrez une valeur de données dans la zone Valeur, lapasserelle utilise ces données en tant que valeur pour la propriétécorrespondante.

Procédure

1. Dans l'application Services d'entreprise, affichez le service pour lequel vousvoulez ajouter une propriété de passerelle.

2. Sélectionnez l'action Propriétés de la passerelle.3. Dans la table Propriétés de la passerelle pour le service d'entreprise, cliquez sur

Nouvelle ligne.4. Dans la zone Propriété entrez le nom de la propriété que vous voulez inclure

dans le message.5. Dans la zone Valeur, entrez les données devant être utilisées comme valeur de

la propriété.6. Facultatif : Spécifiez si vous voulez utiliser l'élément principal XML comme

valeur de la propriété correspondante.

Intégration de données à des applications externes 23

Page 32: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Balise XML

Utiliser l'élément principal XML Sélectionnée

Ne pas utiliser l'élément principal XML Effacée

7. Cliquez sur OK.

Services standardUn service standard est basé sur une méthode annotée dans une application. Il estspécifique à la méthode annotée pour un objet et n'est pas réutilisable pourd'autres objets. Vous pouvez déployer un service standard en tant que service Web.Vous pouvez accéder à un service standard à l'aide de l'interface de programmed'application REST.

Un service standard est un service fournit par une application pour effectuer uneopération spécifique sur un objet. Les services standard sont uniquementdisponibles pour les méthodes correctement annotées au sein du service. Lesschémas de service qui sont générés pour les services standard sont utilisésuniquement par les actions correspondantes.Concepts associés:«Interface de programme d'application REST», à la page 245L'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

Points de terminaison et gestionnairesUn point de terminaison et son gestionnaire associé acheminent les messagessortants vers un système externe. L'association d'un point de terminaison et d'ungestionnaire indique le protocole de transport à utiliser (par exemple une adresseHTTP ou un service Web) et fournit les données de communication requises pouratteindre la destination (par exemple : une adresse URL).

Pour exporter des données à l'aide d'un canal de publication, la tâche périodiquede la file d'attente sortante appelle le gestionnaire. Pour exporter des données àl'aide d'un canal d'appel, ce dernier appelle directement le gestionnaire. Il utiliseles propriétés des métadonnées du message afin de déterminer le système externe(pour une transaction du canal de publication) et toute valeur de substitutionconfigurée pour les propriétés du point de terminaison. Puis il envoie les donnéesà la destination indiquée par le point final auquel il est associé. Un seulgestionnaire peut avoir plusieurs points de terminaison, où chacun contientdifférents paramètres.

Les points de terminaison et les gestionnaires sont uniquement utilisés pourl'intégration sortante. Toutefois, le point de terminaison et le gestionnaire de latable d'interface prennent également en charge la création de tables d'interface quisont requises pour l'intégration entrante.

Les points de terminaison fournissent des valeurs pour les paramètres d'exécutionque le gestionnaire utilise pour accomplir sa fonction. Les métadonnées inclusesdans la définition du point de terminaison et le message d'intégration sortant sontutilisées par le gestionnaire au moment de l'exécution. Certains gestionnairespossèdent des points de terminaison prédéfinis. Ils peuvent être modifiés ou denouveaux points de terminaison peuvent être configurés à l'aide de l'applicationdes points de terminaison. Le tableau suivant répertorie les points de terminaisonprédéfinis.

24 Intégration de données à des applications externes

Page 33: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Point de terminaison Gestionnaire Description

FICHIERPLATMX FICHIERPLAT Ecrit des messages d'intégration sortants auformat de fichier à plat dans unemplacement de répertoire spécifié.

MXIFACETABLE TABLEIFACE Ecrit des messages d'intégration sortantsdans les tables d'interface.

FICHIERXMLMX FICHIERXML Ecrit des messages d'intégration sortants auformat de fichier XML dans unemplacement de répertoire spécifié.

MXCMDLINE CMDLINE Implémente le gestionnaire CMDLINE.Utilise une commande et un point determinaison comme éléments d'entrée, ainsique le protocole SSH, pour appeler lacommande sur le système cible et renvoyerdes résultats.

Un certain nombre de gestionnaires prédéfinis sont fournis. Pour plusieurs de cesgestionnaires, les définitions des points de terminaison correspondants ont étéconfigurées. La définition du point de terminaison fournit les valeurs desmétadonnées pour les paramètres du gestionnaire, comme le nom du répertoire dugestionnaire FLATFILE.

Configuration d'un point de terminaisonDans l'application Points de terminaison, vous pouvez créer un point determinaison qui spécifie comment les transactions sortantes sont livrées ainsi queles gestionnaires qui les acheminent.

Création de points de terminaison :

La création d'un point de terminaison permet d'identifier un emplacement cible lemécanisme de transport utilisé par l'infrastructure d'intégration ou le gestionnairede déploiement pour publier des données ou appeler un service.

Procédure

1. Dans l'application Points de terminaison, cliquez sur Nouveau point determinaison.

2. Dans la zone Point de terminaison, spécifiez un identificateur pour le point determinaison.

3. Renseignez la zone Gestionnaire. La zone Consommé par affiche lesinformations associées au gestionnaire de point de terminaison spécifié.

4. Dans la fenêtre Propriétés du point de terminaison, cliquez sur Afficher lesdétails pour la zone Propriétés du point de terminaison, puis procédez commesuit :a. Ajoutez une valeur unique à la zone Valeur afin d'identifier la propriété du

point de terminaison.b. Ajoutez une valeur à Valeur chiffrée afin d'identifier si la sécurité de la

propriété du point de terminaison a besoin d'être renforcée pour le stockageet l'affichage. Vous ne pouvez mettre à jour une valeur chiffrée que sur unpoint de terminaison ayant une propriété Mot de passe.

c. Cochez la case Autoriser les substitutions afin de déterminer si vouspouvez écraser le code de la propriété du point de terminaison. Cochezcette case lorsque vous utilisez une classe de traitement de canal d'appel.

Intégration de données à des applications externes 25

Page 34: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

5. Cliquez sur Sauvegarder le point de terminaison.

Que faire ensuite

Vous pouvez ajouter un gestionnaire pour indiquer comment acheminer lesdonnées sortantes vers un emplacement de point de terminaison spécifique dansun format spécifique. Vous pouvez utiliser le point de terminaison dans lesapplications d'infrastructure d'intégration suivantes :v Systèmes externesv Canaux de publicationv Canaux d'appelv Modules d'intégrationv Opérations de gestion logique

Ajout d'un gestionnaire à un point de terminaison :

L'ajout d'un gestionnaire à un enregistrement de point de terminaison permetd'indiquer comment acheminer les données sortantes vers un emplacement depoint de terminaison spécifique. Vous pouvez également ajouter un gestionnairepour définir le format de données utilisé pour transférer les données. Lorsque vouscréez un gestionnaire, vous devez indiquer le fichier classe Java™ spécifique quicontient la logique de traitement nécessaire au transfert de données.

Pourquoi et quand exécuter cette tâche

Vous ne pouvez ni modifier, ni supprimer un gestionnaire prédéfini.

Procédure

1. Dans l'application Points de terminaison, sélectionnez le point de terminaisonque vous souhaitez mettre à jour avec les informations du gestionnaire.

2. Sélectionnez l'action Ajouter/modifier des gestionnaires.3. Cliquez sur Nouvelle ligne.4. Renseignez les zones suivantes :

v Gestionnaire

v Nom de la classe de gestionnaire

v Consommé par

5. Cliquez sur OK.

Ecriture de gestionnaires personnalisés :

Vous pouvez écrire un gestionnaire personnalisé et l'associer à un point determinaison, par exemple pour prendre en charge la communication avec unserveur FTP.

Pourquoi et quand exécuter cette tâche

La classe de gestionnaire affiche les propriétés pour lesquelles vous devez indiquerdes valeurs. Le fichier FTPHandler.java du répertoire psdi.iface.samples contientun exemple de gestionnaire FTP.

Procédure

1. Pour écrire un gestionnaire personnalisé, implémentez l'interfaceRouterHandler.

26 Intégration de données à des applications externes

Page 35: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

2. Indiquez la méthode suivante pour renvoyer une liste de propriétés utilisée parle gestionnaire pour envoyer des données au point de terminaison :getParameter()

La méthode renvoie une liste d'objets RouterPropsInfo. L'attribut isCrypto del'objet RouterPropsInfo indique s'il faut chiffrer la valeur de propriété lors dustockage des données. Pour les propriétés de mot de passe, la valeur de cetteattribut est True.

3. Indiquez la méthode suivante pour envoyer des données au point determinaison spécifié :sendData(Map metaData, byte[] data, Map destinationMap)

La méthode renvoie les informations suivantes :v Les métadonnées fournissent des informations sur le système externe et

l'interface.v Les données sont des données XML.v DestinationMap indique le point de terminaison.

Gestionnaires de points de terminaison prédéfinisDes gestionnaires prédéfinis pouvant être associés à un point de terminaison sontfournis. Vous pouvez également créer et enregistrer des gestionnaires prédéfinis sinécessaire.

Gestionnaire de bean entreprise :

Le gestionnaire Enterprise Java Bean (EJB) est un composant Java constitué declients de bean entreprise. Le gestionnaire publie un ensemble de propriétés utilisépar le client pour communiquer avec un client cible et lui transmettre un messaged'intégration. Le client cible peut s'exécuter sur un serveur d'applications local oudistant.

Pour établir une connexion, la classe Java distante et la classe Java personnelledoivent être disponibles dans le chemin d'accès aux classes du gestionnaire. Si leclient se trouve sur un serveur d'applications distant différent du serveurd'applications du gestionnaire, la référence de fichier jar du client doit se trouverdans le chemin d'accès aux classes du gestionnaire. Le gestionnaire collecte le nomde classe de fabrique de contexte du serveur d'applications local lorsque le clientde bean entreprise se situe sur le même serveur d'applications distant que legestionnaire.

Propriété CONTEXTFACTORY

Cette propriété obligatoire indique un nom de classe de fabrique de contexte J2EE.La documentation de serveur d'applications contient le nom de la fabrique decontexte par défaut à utiliser.

CONTEXTFACTORY utilise la propriété suivante lorsque le client s'exécute surIBM WebSphere Application Server :com.ibm.websphere.naming.WsnInitialContextFactory

Propriété EJBEXIT

Cette propriété facultative est utilisée pour la personnalisation et indique le nomqualifié complet d'une classe Java personnalisée qui implémente l'interface EJBExit.

Intégration de données à des applications externes 27

Page 36: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si vous ne spécifiez aucune valeur pour cette propriété, l'interface DefaultEJBExits'exécute et tente de résoudre la signature et les paramètres de la méthode du beanentreprise.

Si le client de bean entreprise dispose de sa propre signature et de ses propresparamètres de méthode, créez une classe Java contenant votre version de l'interfaceEJBExit et les implémentations des méthodes suivantes :public Class[] getClassParams()

La méthode getClassParams() renvoie la signature de méthode sous la forme d'untableau de classes Java.

public Object[] getObjectParams(byte[] data, String interfaceName, MapString,? metaData)throws MXException

La méthode getObjectParams() renvoie les paramètres de la méthode métier dubean entreprise sous la forme d'un tableau d'objets Java.public void responseOk(Object response)throws MXException

La méthode responseOk() est appelée suite à un appel réussi de bean entreprise.public void responseError(Exception e) throws MXException

La méthode responseError() est appelée avec l'exception d'origine en tant queparamètre si une erreur se produit lors de l'appel du bean entreprise.

Le code suivant représente l'aspect de votre implémentation de getClassParams()lorsque le client de bean entreprise possède une méthode métier avec un tableaud'octets et une chaîne :Class[] classParams = {byte[].class, String.class};return classParams;

Le code suivant représente l'aspect de votre implémentation de getObjectParams ()lorsque le client de bean entreprise possède une méthode métier avec un tableaud'octets et une chaîne :byte[] data = ...;String ifaceType = ...;

Object[] objParams = {data,ifaceType};return objParams;

Effectuez l'une des actions suivantes pour identifier l'emplacement de la structurede package pour le fichier classe EJBExit :v Placez la classe dans la structure de package Java du répertoire

applications/maximo/businessobjects/classes.v Modifiez le chemin d'accès aux classes mboweb\webmodule\META-INF\MANIFEST.MF

afin d'inclure la structure de package.v Regénérez le fichier EAR et incluez le fichier classe EJBExit.

Propriété JNDINAME

Cette propriété obligatoire indique le nom sous lequel le client de bean entrepriseest enregistré dans l'arborescence JNDI (Java Naming and Directory Interface) surWebSphere Application Server. Le nom de fichier est ibm-ejb-jar-bnd.xml et lapropriété est définie sur

28 Intégration de données à des applications externes

Page 37: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<ejbBindings xmi:id="Session_enterpriseservice_Bnd"jndiName="ejb/maximo/remote/enterpriseservice">

<enterpriseBean xmi:type="ejb:Session"href="META-INF/ejb-jar.xml#Session_enterpriseservice"/>

</ejbBindings>

Propriété METHODNAME

Cette propriété obligatoire indique la méthode métier publique présentée par leclient du bean entreprise appelé par ce gestionnaire.

Propriété PROVIDERURL

Cette propriété obligatoire indique l'URL du serveur d'applications cible sur lequels'exécute le bean entreprise. Le système se mappe ensuite à la propriétéjava.naming.provider.url et crée l'objet InitialContext.

L'exemple suivant est une URL fournisseur IBM WebSphere Application Server.corbaloc:iiop:hostname:iiopport

Si le gestionnaire et le bean entreprise cible s'exécutent sur la même instance deserveur d'applications, n'indiquez pas cette propriété car elle est définie par défautsur l'URL du serveur local.

Propriétés USERNAME et PASSWORD

Les propriétés du nom d'utilisateur et du mot de passe correspondent auxpropriétés java.naming.security.principal (USERNAME) etjava.naming.security.credentials (PASSWORD) utilisées pour créer l'objetInitialContext.

Gestionnaire de fichiers à plat :

Le gestionnaire FLATFILE convertit un message d'intégration sortant en fichier àplat et l'écrit dans un répertoire dont l'emplacement peut être configuré. Lesfichiers à plat contiennent des données ASCII sous forme de lignes et de colonnes.Chaque ligne de texte constitue une ligne, et un caractère de séparation séparechaque colonne de la ligne. Le gestionnaire FLATFILE code les fichiers à platsortants au format UTF-8 standard.

Le gestionnaire FLATFILE peut être utilisé uniquement avec des canaux depublication, pas avec des canaux d'appel. La structure d'objets associée au canal depublication doit être configurée pour prendre en charge les fichiers à plat. Vousdevez résoudre tous les conflits d'alias de la structure d'objet et formater lemessage XML conformément au schéma de la structure d'objet avant d'écrire lemessage sur un fichier à plat.

Conventions de dénomination

Les noms de fichier requièrent le format suivant.

externalsystemname_publishchannelname_uniqueidentifier.dat

v externalsystemname est l'identifiant du système (la valeur deMAXVARS.MXSYSID).

v publishchannelname est le nom du canal de publication.v uniqueidentifier est le chiffre basé sur l'heure système actuelle.

Intégration de données à des applications externes 29

Page 38: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

L'exemple de nom de fichier suivant indique que le fichier s'applique au systèmeexterne EXTSYS1 et a été publié via le canal de publication MXASSETInterface :

EXTSYS1_MXASSETInterface_10971102668641498.dat

Les deux premières lignes du fichier contiennent les informations d'en-têtesuivantes. La première ligne possède le format suivant :

externalsystemname <separator> publish channel name <separator> [action]<separator> langcode

La deuxième ligne du fichier contient les noms des colonnes, séparés par lecaractère de séparation. Les noms de colonne sont identiques aux noms de la tabled'interface correspondante.

Format de fichier à plat

Si les données du fichier à plat contiennent le délimiteur du fichier à plat, lesdonnées ajoutent le qualificateur de texte, qui est " (guillemets). Si les donnéescontiennent des guillemets, le gestionnaire les échappe. Vous ne pouvez pas utiliserdes guillemets comme délimiteur.

L'exemple de données suivant utilise une virgule (,) comme délimiteur. La valeurINVOICEDESC, (Rotating Custom Item, No 71), contient une virgule. Lorsque lefichier à plat est écrit, la valeur INVOICEDESC est placée entre guillemets.EXTSYS1,MXINVOICEInterface,AddINVOICENUM,INVOICEDESC,PONUM,VENDOR,CONTACT,PAYMENTTERMS1071,"Rotating Custom Item, No 71",1000,A0001,,

L'exemple de données suivant utilise une virgule (,) comme délimiteur. La valeurINVOICEDESC (Rotating "Custom" Item No 71) contient des guillemets. Lorsquele fichier à plat est écrit, les guillemets contenus dans les données INVOICEDESCsont placés dans d'autres guillemets, et l'intégralité de la chaîne est placée entreguillemets.EXTSYS1,MXINVOICEInterface,AddINVOICENUM,INVOICEDESC,PONUM,VENDOR,CONTACT,PAYMENTTERMS1071,"Rotating ""Custom"" Item No 71",1000,A0001,,

L'exemple de données suivant utilise une virgule (,) comme délimiteur. La valeurINVOICEDESC (Rotating "Custom" Item, No. 71) contient le délimiteur et desguillemets. Lorsque le fichier à plat est écrit, la valeur INVOICEDESC s'affichedans le code.EXTSYS1,MXINVOICEInterface,AddINVOICENUM,INVOICEDESC,PONUM,VENDOR,CONTACT,PAYMENTTERMS1071,"Rotating ""Custom"" Item, No. 71",1000,A0001,,

Propriétés du fichier à plat

La propriété FLATFILEDIR est une propriété facultative indiquant l'emplacementdu fichier à plat. L'emplacement doit exister sur le serveur local où s'exécute latâche périodique JMS de la file d'attente sortante ou sur un lecteur réseau partagéaccessible. La valeur par défaut pointe vers le répertoire général/flatfiles. Pourspécifier un emplacement pour le répertoire général, configurez la propriétémxe.int.globaldir dans l'application Propriétés système.

30 Intégration de données à des applications externes

Page 39: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

La propriété FLATFILESEP est une propriété obligatoire qui indique le caractèreséparant les colonnes sur chaque ligne.

Gestionnaire HTTP :

Le gestionnaire HTTP est un composant Java constitué de propriétés. Legestionnaire transmet un message d'intégration sortant sous forme de documentXML à une adresse URL à l'aide des protocoles HTTP ou HTTPS. Le gestionnaireHTTP évalue également le code de réponse de réponse reçu du système externe.

Propriété HTTPEXIT

Cette propriété facultative est utilisée pour la personnalisation et indique le nomqualifié complet d'une classe Java qui interprète la réponse HTTP. Cette propriétéfacilite également l'implémentation du code requis pour qu'un système externeinterprète la réponse HTTP.

La classe Java distante doit être disponible dans le fichier EAR d'application et doitse situer dans le chemin d'accès aux classes du gestionnaire.

Propriété Valeur

Classe Java DefaultHTTPExit.java

Package psdi.iface.router

PropriétéHTTPEXIT

psdi.iface.router.DefaultHTTPExit

Si vous n'indiquez aucune valeur pour cette propriété, la classe d'exitDefaultHTTPExit est exécutée et implémente l'interfacepsdi.iface.router.HTTPExit. La classe Java possède les méthodes clé suivantes :v processResponseData()

Cette méthode possède la signature suivante :public void processResponseData(int responseCode, String responseMsg,byte[] msgBodyData) throws MXException

L'implémentation par défaut compare le code de réponse du système externe àune plage de codes valide (valeurs de 200 à 299). Si le code de réponse se situeen dehors de cette plage, le système suppose que le message n'a pas été transmisau système externe. Une exception se produit lorsque le message reste dans lafile d'attente.Si un traitement supplémentaire est requis pour une implémentation spécifique,développez l'implémentation par défaut et substituez la méthodeprocessResponseData (). Vous pouvez également implémenter l'interfacepsdi.iface.router.HTTPExit. Si la réponse reçue du système externe netransmet pas la validation dans cette classe, la méthode de substitution doitémettre une exception.Si vous ne définissez aucune valeur pour cette propriété, l'implémentation pardéfaut de HTTPExit est exécutée.

v getURLProperties()Cette méthode possède la signature suivante :public Map Chaîne, Chaîne getURLProperties(Map Chaîne,? metaData, byte[]data, Map Chaîne,MaxEndPointPropInfo httpInfo)

Intégration de données à des applications externes 31

Page 40: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Cette méthode renvoie la mappe des propriétés de l'URL qui sont ajoutées àl'URL sous la forme url?prop1=value1&... L'implémentation par défaut renvoieune valeur NULL.

v getHeaderProperties()Cette méthode possède la signature suivante :public Map Chaîne, Chaîne getHeaderProperties(Map Chaîne,? metaData,byte[] data, Map Chaîne,MaxEndPointPropInfo httpInfo)

Cette méthode renvoie une mappe des propriétés d'en-tête HTTP de la requête.L'implémentation par défaut renvoie une valeur NULL sauf si une mappe depropriété d'en-tête est associée à la mappe de métadonnées possédant la cléHEADERPROPS.

v transformPayloadToFormData()Cette méthode possède la signature suivante :public Map Chaîne, Chaîne transformPayloadToFormData(Map Chaîne,?metaData, byte[] data, Map Chaîne,MaxEndPointPropInfo destinationMap)

Cette méthode convertit la charge XML en données. L'implémentation par défautrenvoie une valeur NULL.

Propriété CONNECTTIMEOUT

Cette propriété facultative indique la valeur du délai d'attente de connexion enmillisecondes.

Propriété READTIMEOUT

Cette propriété facultative indique la valeur du délai d'attente de lecture enmillisecondes.

Propriété HTTPMETHOD

Cette propriété obligatoire indique une méthode HTTP valide exécutée par le pointde terminaison. Les méthodes HTTP valides sont GET, POST, PUT et DELETE.

Propriété HTTPHEADER

Cette propriété facultative peut ajouter une liste de noms et de valeurs séparéespar des virgules à la section d'en-tête des messages HTTP. La liste inclut lesinformations de noms et de valeurs sous le format Headername1:Headervalue1,Headername2:Headervalue2. Si aucune valeur n'est fournie dans la propriété, lecode personnalisé peut injecter les valeurs dans le contexte de transaction lors dutraitement du canal d'appel.

Propriété URL

Cette propriété facultative indique une URL valide sur laquelle les données XMLpeuvent être envoyées ou sur laquelle une opération GET HTTP peut êtreeffectuée.

Propriétés USERNAME et PASSWORD

Si l'URL demande une authentification de base, ces propriétés indiquent les valeursrequises. Les deux valeurs sont codées en MIME et transmises à l'URL.

32 Intégration de données à des applications externes

Page 41: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Gestionnaire IFACETABLE :

Le gestionnaire IFACETABLE est constitué de plusieurs propriétés. Il écrit unmessage d'intégration sortant sur une table d'interface dans une base de donnéeslocale ou distante. Il n'y a pas de classes d'exit Java pour ce gestionnaire.

Seuls les canaux de publication peuvent utiliser le gestionnaire IFACETABLE. Lescanaux d'appel ne peuvent pas l'utiliser.

Propriété ISREMOTE

Cette propriété obligatoire est une valeur booléenne indiquant si les tablesd'interface sont disponibles dans la base de données locale ou distante. Une valeurde 0 (false) indique que les tables d'interface sont disponibles dans la base dedonnées locale du schéma système. Vous n'avez pas besoin d'entrer d'autrespropriétés de gestionnaire. Dans le gestionnaire MAXIFACETABLE prédéfini, lavaleur de cette propriété est 0. Une valeur de 1 (true) indique que les tablesd'interface se trouvent dans une base de données distante. Si nécessaire, indiquezles valeurs de toutes les propriétés du gestionnaire.

Propriété DRIVER

Cette propriété indique le pilote JDBC à connecter à une base de données distantecontenant les tables d'interface. Cette propriété s'applique uniquement lorsque lavaleur de la propriété ISREMOTE est 1.

Propriété de l'URL

Cette propriété indique l'URL JDBC et s'applique uniquement lorsque la valeur dela propriété ISREMOTE est 1. L'exemple suivant contient l'emplacement, le numérode port et le nom de la base de données :

jdbc:db2://nom_hôte:port/maximodb

Propriétés USERNAME et PASSWORD

Si l'accès à l'instance de base de données distante requiert un nom d'utilisateur etun mot de passe, ces propriétés les indiquent. Ces propriétés s'appliquentuniquement lorsque la valeur de la propriété ISREMOTE est 1.

Gestionnaire JMS :

Le gestionnaire JMS transmet les messages d'intégration sortants à un système demessagerie compatible JMS prenant en charge une file d'attente ou rubrique JMS.

Les modèles de message ont les caractéristiques suivantes :v Messagerie point à point (un pour un) : un expéditeur génère des messages et

les place dans une file d'attente. Un seul destinataire peut obtenir les messagesde la file d'attente.

v Publication/abonnement (un pour plusieurs) : un diffuseur de publicationsgénère des messages et les place dans une rubrique. Plusieurs abonnés peuventrécupérer les messages de la rubrique.

Le système de messagerie représente une file d'attente ou rubrique disponible surle serveur d'applications local, un serveur d'applications distant ou un système demise en file d'attente dédié distant comme par exemple IBM® WebSphere MQ.

Intégration de données à des applications externes 33

Page 42: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pour utiliser ce gestionnaire, activez les systèmes de messagerie à l'aide de JMS. Lesystème de messagerie est distinct des files d'attente internes standard situées surle serveur d'applications local.

Propriété CONFACTORYJNDINAME

Cette propriété obligatoire spécifie un objet Java utilisé pour créer les connexions àun fournisseur JMS. Avant que le système puisse se connecter à une file d'attenteou une rubrique, il doit obtenir une référence à une fabrique de connexions.

Propriété DESTINATIONTYPE

Cette propriété facultative indique le type de destination JMS ; file d'attente ourubrique. Le tableau suivant répertorie les options DESTINATIONTYPE et lesvaleurs qui y sont associées.

Destination Valeur

Rubrique javax.jms.Topic

File d'attente javax.jms.Queue

Propriété DESTJNDINAME

Cette propriété obligatoire indique le nom sous lequel la file d'attente ou rubriqueJMS est enregistrée dans l'arborescence Java Naming and Directory Interface (JNDI)du serveur d'applications.

Propriété CONTEXTFACTORY

Cette propriété indique le nom de la classe de fabrique de contexte initiale. Lapropriété n'est pas obligatoire lorsque le gestionnaire JMS communique avec unfournisseur JMS partageant la même fabrique de contexte initiale que le serveurd'applications du gestionnaire. Lorsque le gestionnaire et le fournisseur JMSpartagent WebSphere Application Server, ils partagent la classe de fabrique decontexte initiale. La valeur de la propriété contexte est requise lorsque legestionnaire et le fournisseur JMS ne partagent pas WebSphere Application Server.

Propriété ISCOMPRESS

Cette propriété obligatoire indique si le message est compressé avant d'être placédans une file d'attente ou une rubrique. La compression n'est pas une techniqued'optimisation qui transmet des messages moins volumineux à une file d'attente ourubrique. Le tableau suivant répertorie les options ISCOMPRESS et les valeurs quiy sont associées.

Option Valeur

Ne compresse pas les données 0

Compresse les données 1

Les messages compressés doivent être décompressés une fois reçus. Décompressezles messages en créant le composant abonné ou destinataire JMS approprié et enplaçant la logique de décompression Java dans le destinataire ou abonné. Utilisezla classe Java Inflater() standard incluse dans le package java.util.zip. Lacompression par défaut utilise la classe Java Deflator() standard.

34 Intégration de données à des applications externes

Page 43: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété ISTEXT

Cette propriété facultative spécifie si le gestionnaire JMS distribue les messages auxautres files d'attente au format texte.

Option Valeur

Distribue les messages au format par défaut(octets)

0

Distribue les messages au format texte 1

Propriété JMSEXIT

Dans un environnement multilocation, la personnalisation via les classes Java peutuniquement être implémentée par le fournisseur système et peut ne pas être prisen charge dans votre environnement.

Cette propriété facultative est utilisée pour la personnalisation et indique le nomqualifié complet d'une classe Java qui exécute l'interface JMSExit. La classe Javadoit implémenter la méthode getMessageProperties() définie dans l'interfaceJMSExit. La classe Java doit être disponible dans le fichier EAR d'application etdoit se situer dans le chemin d'accès aux classes du gestionnaire.

Vous pouvez utiliser cette option pour modifier ou ajouter des propriétés dans lemessage JMS. Si cette propriété ne contient aucune valeur, les attributs d'en-tête dumessage ne sont pas modifiés lorsque le message est transmis à la file d'attente ourubrique externe.

Propriété PROVIDERURL

Cette propriété obligatoire indique une URL distante ou locale sur laquelle lefournisseur JMS est accessible. Si le fournisseur JMS cible est accessible en local surle serveur d'applications du gestionnaire, la propriété n'est pas requise. Lapropriété suivante est un exemple de valeur PROVIDERURL sur WebSphereApplication Server :corbaloc:iiop:nom_hôte:port_iiop

Propriétés PROVIDERUSER et PROVIDERPASWORD

Ces propriétés sont utilisées pour l'authentification du fournisseur JMS. Lespropriétés se mappent à l'APIconnectionFactory.createConnection(provideruser,providerpassword) dans JMS.

Propriétés USERNAME et PASSWORD

Ces propriétés correspondent aux propriétés java.naming.security.principal(USERNAME) et java.naming.security.credentials (PASSWORD) utilisées pour créerl'objet InitialContext.

Gestionnaire de service Web :

Le gestionnaire du service Web est un client Java pouvant appeler n'importe quelservice Web document/littéral conforme à WS-I BP 1.1. Le message d'intégrationsortant forme la charge (corps SOAP) et le gestionnaire fournit les en-têtes etl'enveloppe SOAP. Ce gestionnaire fonctionne indépendamment du conteneur.

Intégration de données à des applications externes 35

Page 44: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Ce gestionnaire de service Web prend en charge une implémentation anticipée desservices Web et assure la compatibilité descendante avec les services Web existants.Si vous implémentez de nouveau services Web, configurez-les de manière à utiliserle gestionnaire de service Web pour JAX-WS.

Propriété MEP

Cette propriété facultative indique le modèle d'échange de message utilisé par leservice Web. Elle prend en charge les valeurs suivantes. Si vous ne fournissez pasde valeur, la valeur par défaut, sendreceive, est utilisée.

Valeur Type d'opération de service Web

sendreceive Demande et réponse

sendrobust Demande associée à une réponse non valideou contenant des erreurs

fireandforget Demande uniquement, pas de réponse et pasd'erreur

Propriété ENDPOINTURL

Cette propriété obligatoire indique une URL de service Web valide sur laquelleappeler un service Web. Vous pouvez utiliser la classe WSEXIT pour substituer lavaleur spécifiée via l'interface utilisateur juste avant d'appeler le service Web.

Propriété SERVICENAME

Cette propriété obligatoire indique le nom du service Web déployé dans l'URL.

Propriété SOAPACTION

Cette propriété facultative spécifie la valeur de l'en-tête HTTP SOAPAction àutiliser lors de l'appel du service Web. La valeur par défaut est une chaîne vide.Pour définir une valeur pour la propriété, consultez le fichier WSDL du serviceWeb dont vous souhaitez déterminer l'action, puis spécifiez cette valeur. Vouspouvez utiliser la classe WSEXIT pour substituer la valeur spécifiée dans l'interfaceutilisateur avant d'appeler le service Web.

Propriété SOAPVERSION

Cette propriété facultative indique la version de spécification SOAP utilisée lors del'appel d'un service Web. Les valeurs valides sont SOAP11 et SOAP12.

Propriété HTTPVERSION

Cette propriété facultative indique la version du protocole HTTP pour les appelsde service Web. Les valeurs valides sont HTTP/1.0 et HTTP/1.1. Si vous nefournissez aucune valeur, le système utilise la valeur par défaut, HTTP/1.1.

Propriété HTTPCONNTIMEOUT

Cette propriété facultative indique la valeur du délai d'attente de connexion enmillisecondes. La valeur par défaut de cette propriété est 60000.

36 Intégration de données à des applications externes

Page 45: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété HTTPREADTIMEOUT

Cette propriété facultative indique la valeur du délai d'attente de lecture enmillisecondes. La valeur par défaut de cette propriété est 60000.

Propriétés USERNAME et PASSWORD

Si le service Web spécifié est sécurisé (si l'authentification de base HTTP estactivée), indiquez un nom d'utilisateur et un mot de passe.

Propriété WSEXIT

Dans un environnement multilocation, la personnalisation via les classes Java peutuniquement être implémentée par le fournisseur système et peut ne pas être prisen charge dans votre environnement.

Cette propriété facultative est utilisée pour la personnalisation. Elle indique le nomqualifié complet d'une classe Java personnalisée qui implémente l'interface HTTPpsdi.iface.router.WSExit. La propriété définit les méthodes suivantes :

La méthode responseOk() est appelée après qu'un appel du service Web externe aitréussi.public void responseError(Exception e) throws MXException

Si une erreur se produit lors de l'appel du service Web, la méthode responseError()est appelée avec l'exception d'origine en tant que paramètre.

L'implémentation par défaut de l'interface WSExit estpsdi.iface.router.DefaultWSExit.

Gestionnaire de service Web (JAX-WS) :

Le gestionnaire WEBSERVICE-JAX-WS est un client Java pouvant appelern'importe quel service Web document/littéral conforme à WS-I BP 1.1. Le messaged'intégration sortant forme la charge (corps SOAP) et le gestionnaire fournit lesen-têtes et l'enveloppe SOAP.

Ce gestionnaire de service Web prend en charge l'implémentation de services Weben cours. Si vous implémentez de nouveaux services Web, configurez-les demanière à utiliser ce gestionnaire de service Web.

Propriété MEP

Cette propriété facultative indique le modèle d'échange de message utilisé par leservice Web. Elle prend en charge les valeurs suivantes. Si vous n'indiquez aucunevaleur, la valeur par défaut sendreceive est utilisée.

Valeur Type d'opération de service Web

sendreceive Demande et réponse

sendrobust Demande associée à une réponse non valideou contenant des erreurs

fireandforget Demande uniquement, pas de réponse et pasd'erreur

Intégration de données à des applications externes 37

Page 46: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété ENABLEAPPCONTEXT

Définissez cette propriété sur 1 (true) lors de l'implémentation de la prise encharge des règles WS-*.

Propriété ENDPOINTURL

Cette propriété obligatoire indique une URL de service Web valide sur laquelleappeler un service Web. Vous pouvez utiliser la classe WSEXIT pour substituer lavaleur spécifiée via l'interface utilisateur juste avant d'appeler le service Web.

Propriété SERVICENAME

Cette propriété obligatoire indique le nom du service Web cible appelé par legestionnaire.

Propriété SOAPACTION

Cette propriété facultative spécifie la valeur de l'en-tête HTTP SOAPAction àutiliser lors de l'appel du service Web. La valeur par défaut est une chaîne vide.Pour définir une valeur pour la propriété, consultez le fichier WSDL du serviceWeb dont vous souhaitez déterminer l'action, puis spécifiez cette valeur. Vouspouvez utiliser la classe WSEXIT pour substituer la valeur spécifiée dans l'interfaceutilisateur avant d'appeler le service Web.

Propriété SOAPVERSION

Cette propriété facultative indique la version de spécification SOAP utilisée lors del'appel d'un service Web. Les valeurs valides sont SOAP11 et SOAP12.

Propriété HTTPCONNTIMEOUT

Cette propriété facultative indique la valeur du délai d'attente de connexion enmillisecondes. La valeur par défaut de cette propriété est 60000.

Propriété HTTPREADTIMEOUT

Cette propriété facultative indique la valeur du délai d'attente de lecture enmillisecondes. La valeur par défaut de cette propriété est 60000.

Propriété HTTPHEADER

Cette propriété facultative peut ajouter une liste de noms et de valeurs séparéespar des virgules à la section d'en-tête des messages HTTP. La liste inclut lesinformations de noms et de valeurs sous le format Headername1:Headervalue1,Headername2:Headervalue2. Si aucune valeur n'est fournie dans la propriété, lecode personnalisé peut injecter les valeurs dans le contexte de transaction lors dutraitement du canal d'appel.

Propriétés USERNAME et PASSWORD

Si le service Web spécifié est sécurisé (si l'authentification de base HTTP estactivée), indiquez un nom d'utilisateur et un mot de passe.

38 Intégration de données à des applications externes

Page 47: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété WSEXIT

Dans un environnement multilocation, la personnalisation via les classes Java peutuniquement être implémentée par le fournisseur système et peut ne pas être prisen charge dans votre environnement.

Cette propriété facultative est utilisée pour la personnalisation. Elle indique le nomqualifié complet d'une classe Java personnalisée qui implémente l'interface HTTPpsdi.iface.router.WSExit. La propriété définit les méthodes suivantes :

La méthode responseOk() est appelée après qu'un appel du service Web externe aitréussi.public void responseError(Exception e) throws MXException

Si une erreur se produit lors de l'appel du service Web, la méthode responseError()est appelée avec l'exception d'origine en tant que paramètre.

L'implémentation par défaut de l'interface WSExit estpsdi.iface.router.DefaultWSExit.

Propriété CFGXMLPATH

Cette propriété est obsolète. Ne l'utilisez pas.

Gestionnaire de fichiers XML :

Le gestionnaire de fichiers XML est un composant Java qui écrit un messaged'intégration sortant dans un fichier au format XML.

Propriété FILEDIR

Cette propriété facultative indique l'emplacement où le gestionnaire crée lesfichiers XML. La valeur par défaut est mxe.int.globaldir/xmlfiles. L'emplacementdes fichiers doit être accessible par la tâche périodique JMS pour la file d'attentesortante pour les messages du canal de publication. Pour les messages du canald'appel, l'emplacement des fichiers doit être accessible par tous les serveursMaximo Asset Management sur lesquels un canal d'appel peut être initié.

Propriété PRETTYPRINT

Cette propriété obligatoire indique si le gestionnaire formate le fichier XML. Lesvaleurs valides sont 0 et 1. Une valeur de 1 invite le gestionnaire à formater lefichier XML. Les noms de fichier de canal de publication, canal d'appel et APId'appel possèdent les formats suivants :nom_système_externe_nom_canal_publication_identifiant_unique.xml

invocationchannelname_uniqueidentifier.xml

v nom_système_externe est l'identifiant du système (la valeur deMAXEXTSYSTEM.EXTSYSNAME).

v nom_canal_publication est le nom du canal de publication.v identifiant_unique est un chiffre basé sur l'heure système actuelle.

Par exemple, le nom de fichier MX_MXASSETInterface_10971102668641398.xmlindique que le fichier a été généré pour envoyer des données au système externe

Intégration de données à des applications externes 39

Page 48: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

EXTSYS1. Le nom de fichier indique également que le fichier contient le canal depublication MXASSETInterface.

Gestionnaire de ligne de commande :

Le gestionnaire CMDLINE prend une commande et un point de terminaisoncomme entrée. Le gestionnaire CMDLINE utilise le protocole SSH pour exécuter lacommande sur le système cible et exécuter à nouveau les résultats.

Un paramètre de métadonnées est transmis pendant un appel système lorsque legestionnaire est appelé. Le paramètre est une mappe contenant le nom du point determinaison représentant le système cible. Le demandeur peut cibler tous lessystèmes au moment de l'exécution et transmettre le point de terminaison augestionnaire de commande. Le demandeur utilise toute configuration que le pointde terminaison peut posséder au moment de l'appel.

Propriétés du gestionnaire CMDLINE

Le gestionnaire CMDLINE possède les propriétés suivantes :v CMDTIMEOUT – Valeur du délai d'attente pour l'exécution de la commandev CONNTIMEOUT – Valeur du délai d'attente pour la connexionv USERNAME – Nom d'utilisateur pour la connexionv PASSWORD – Mot de passe du nom d'utilisateur correspondantv HOST – Nom d'hôte de la cible sur laquelle la commande s'exécutev PORTNO – Numéro de port de la cible sur laquelle la commande s'exécutev IGNORESETUPERR – Valeur booléenne indiquant si une erreur doit être ignorée

lors de l'exécution de la commande d'installationv RETRYINTERVAL – Délai d'attente avant de tenter à nouveau une commandev MAXRETRY – Nombre de tentatives pour exécuter une commande avant le

renvoi d'une exceptionv SSHEXIT – Classe d'exit Java pouvant être implémentée pour personnaliser le

traitement du gestionnaire

Paramètres des données de commande

Le paramètre des données est une représentation sous forme de tableau d'octetsd'un document XML. Le paramètre des données contient les informations suivantes:v Les balises correspondant à la commande d'installationv Le répertoire de travailv La commande à exécuterv Tous les paramètres de substitution

Balises disponibles

Les balises suivantes sont disponibles :v CLWORKINGDIR – Répertoire pour lequel changer (cd) sur le système distant

avant l'exécution de la commande.v CLSSETUPCMD – Commande d'installation à exécuter avant la commande

principale. Utilisez cette balise pour toute installation d'environnement devantêtre effectuée sur le système distant avant que la commande principale soitémise.

40 Intégration de données à des applications externes

Page 49: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v CLCMDPATTERN - Chaîne définissant le modèle de la commande à exécuter. Leformat de ce modèle est similaire à la classe java.text.MessageFormat. Unexemple est ls -l {0}, où {0} représente un paramètre substitué.

v CLSUB0 - Valeur à substituer dans les positions marquées par {0} dansCLCMDPATTERN.

v CLSUB1- Valeur à substituer dans les positions marquées par {1} dansCLCMDPATTERN.

v CLSUBn - Valeur à substituer dans les positions marquées par {n} dansCLCMDPATTERN. Une balise CLSUBn doit correspondre à chaque position desubstitution dans la balise CLCMDPATTERN.

Résultats de commande

La représentation sous forme de tableau d'octets d'un document XML contient lesrésultats de la commande. Le document XML contient des balises correspondant àla valeur de retour, STDOUT et STDERR.

Les balises suivantes sont disponibles :v CLRETURNCODE – Code retour de la commande distante.v CLRESPONSEOUT – Données renvoyées par la commande distante dans la

balise STDOUT.v CLRESPONSEERR – Données renvoyées par la commande distante dans la

balise STDERR.

Services Web d'intégrationLes systèmes externes peuvent utiliser des services Web d'infrastructured'intégration pour envoyer des messages ou des requêtes à la base de donnéesMaximo. Vous pouvez utiliser un service d'infrastructure d'intégration commesource pour un service Web et déployer ce service pour communiquer avec lessystèmes externes.

Sources de service WebLa source d'un service Web peut être un service de structure d'objet, un servicestandard ou d'entreprise.

Services de structure d'objet

Vous pouvez créer un service Web de structure d'objet à partir d'un service destructure d'objet prédéfini ou défini par l'utilisateur. Les services Web de structured'objet prennent en charge les opérations de création, mise à jour, suppression,synchronisation et d'interrogation. De plus, les opérations de création etd'interrogation prennent également en charge les réponses. La réponse à l'opérationde création peut être basée sur la clé principale ou alternative de l'objet principaldéfini dans la structure d'objet. La réponse à l'opération d'interrogation est fourniedans le format du schéma XML de la structure d'objet.

Services standard

Vous pouvez créer un service Web standard à partir de méthodes annotées dans lesservices d'application. Afin d'être disponibles en tant que services Web, lesméthodes annotées (par exemple, ChangeStatus) doivent être incluses dans uneapplication. Un service Web standard unique est créé pour chaque serviced'application et toutes les méthodes annotées comprises dans le service sont lesopérations de service Web. Le système associe les paramètres d'entrée et de sortie

Intégration de données à des applications externes 41

Page 50: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

des méthodes aux paramètres d'entrée et de sortie du service Web standard.

Services d'entreprise

Vous pouvez créer un service Web d'entreprise à partir d'un service d'entrepriseprédéfini ou défini par l'utilisateur. Les services Web d'entreprise prennent encharge le traitement de la sortie, les règles métier et transformationssupplémentaires. Il existe un service pour chaque opération contenue dans unenregistrement de service d'entreprise (un service par opération). La couche detraitement de la sortie vous permet de mapper un schéma XML externe au fichierXML de structure d'objet pour l'invocation et la réponse. Les services Webd'entreprise fournissent le contenu des réponses pour les opérations de création etd'interrogation traitées dans la file d'attente. La définition de service d'entrepriseinclut un indicateur ProcessResponse qui indique si le service prend en charge uneréponse.

Paramètres de file d'attente JMS pour services Web d'entreprise :

Les services Web d'entreprise peuvent utiliser la file d'attente Java Message Service(JMS) pour traiter des messages XML. Alternativement, vous pouvez spécifier queles services doivent ignorer la file d'attente JMS.

Le traitement basé sur la file d'attente JMS permet un traitement de messagerieasynchrone. Pour les services d'entreprise prenant en charge les processussynchrones, vous devez spécifier un traitement de message non basé sur la filed'attente. L'infrastructure d'intégration traite les messages XML provenant desapplications externes en se basant sur les paramètres de file d'attente définis pourle service Web d'entreprise :

Traitement des messages basé sur la file d'attenteUn service Web d'entreprise basé sur la file d'attente traite les messagesXML et les écrit dans la file d'attente JMS entrante et configurée. Lorsquele message est transféré dans la file d'attente JMS, l'appel de applicationexterne est terminé. L'infrastructure d'intégration traite les messages et lesenregistre dans la base de données Maximo.

Un service Web d'entreprise ne peut pas utiliser la file d'attente JMS si leservice inclut des opérations de création et d'interrogation qui exigent quel'application externe reçoive une réponse.

Traitement des messages non basé sur la file d'attenteUn service Web d'entreprise non basé sur la file d'attente traite lesmessages depuis l'infrastructure d'intégration jusqu'à la couche detraitement de l'objet, puis, le cas échéant, enregistre les informations dansla base de données Maximo. Une fois le traitement des messages terminé,l'infrastructure d'intégration envoie une réponse à l'application externe.Vous devez spécifier le traitement non basé sur la file d'attente si le serviceWeb d'entreprise prend en charge les opérations de création etd'interrogation qui exigent que l'application externe reçoive une réponse.

Options de déploiement de service WebAprès avoir créé un service Web, un choix d'options de déploiement s'offre à vous.Si vous déployez un service Web sur le conteneur de services Web du produit, ledéploiement s'effectue automatiquement. Si vous déployez un service Web sur unconteneur de services Web du serveur d'applications, le déploiement doits'effectuer manuellement.

42 Intégration de données à des applications externes

Page 51: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Les services Web peuvent uniquement être déployés sur un type de conteneur.Vous ne pouvez pas déployer certains services Web sur le conteneur de serviceWeb d'un produit et les autres services Web sur le conteneur de service Web d'unserveur d'application. Il est plus rapide d'effectuer un déploiement sur le conteneurde services Web du produit car l'opération est automatique. Ce type dedéploiement ne nécessite pas de redéployer les fichiers EAR Maximo, ni deredémarrer le serveur d'applications.

Pour appeler un service Web sur le serveur d'application, vous devez déployer leservice sur le conteneur de service Web du serveur d'application. L'intégration à unserveur d'applications permet de fournir au service Web un accès à des servicessupplémentaires, tels que des politiques de sécurité avancées. Si vous choisissez cetype de déploiement, les informations sont ajoutées dans le fichier deplmodule.dar.Vous devez alors ajouter ce fichier au répertoire de déploiement du serveurd'applications, régénérer les fichiers EAR et redémarrer le serveur d'applications.

Vous pouvez convertir des services Web existants déployés sur le conteneur deservices Web du produit pour les redéployer sur le conteneur de services Web duserveur d'applications.

Actions de déploiement de service WebLe déploiement d'un service Web entraîne un grand nombre d'événements,notamment la génération du schéma XML et du fichier WSDL du service Web.

Les événements se produisant lors du déploiement d'un service Web sont lessuivants :v Le schéma XML est disponible pour un nouveau service Web ou régénéré pour

un service Web existant.v Le fichier WSDL est disponible pour l'interface de service.v Le service Web est déployé pour le service sélectionné.v Si les propriétés de registre UDDI (Universal Description Discovery and

Integration) sont configurées, le service Web est enregistré dans ce dernier.

Le service Web déployé est disponible à l'URL suivante :http://hostname:port/meaweb/services/web service name

v host:port/meaweb correspond à la valeur de la propriété URL d'application Webd'intégration.

v web service namecorrespond au nom du service pour lequel est déployé leservice Web.

La liste des services Web déployés est disponible dans l'application Bibliothèquedes services Web.

Génération de schémaL'application Bibliothèque des services Web permet de générer le schéma etd'afficher le fichier XML de n'importe quel service Web. Vous pouvez égalementrégénérer le schéma pour vérifier qu'il est mis à jour de façon à répercuter toutchangement apporté au service.

Une structure de données de service Web est basée sur la structure d'objet qui luiest associée (pour les services de structure d'objet et les services d'entreprise) ousur la signature de méthode (pour les services Web standard). La structure dedonnées de service Web est fournie sous forme de schéma, dans une représentationXML standard. Ce schéma est utilisé pour créer le fichier WSDL du service.

Intégration de données à des applications externes 43

Page 52: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si vous modifiez la structure de données associée à un service Web, veillez àrégénérer le schéma afin de le mettre à jour ainsi que le fichier WSDL. Lesmodifications suivantes apportées au dictionnaire de données modifient lastructure d'objet :v Ajout de nouveaux champs à une tablev Modification du type d'un champv Suppression de champs d'une tablev Modification d'une zone de Facultative à Obligatoire

Le fichier XML ne contient pas de zones marquées pour exclusion dans la structured'objet.

Avant de déployer un service Web, générez le schéma afin de fournir desinformations de schéma à jour pour le fichier WSDL. Lorsque vous générez unschéma, les éléments d'entrée s'affichent dans la fenêtre Données XML, tandis queles éléments de sortie s'affichent dans la fenêtre XML de réponse.

Vous pouvez visualiser le schéma généré aux adresses URL suivantes :v Pour les schémas de service d'entreprise et de structure d'objet, utilisez l'URL

http://localhost:port/meaweb/schema/service/MXSRService.xsd, où MXSR estle nom de la structure d'objet associée au service.

v Pour les schémas de service standard, utilisez l'URL http://localhost:port/meaweb/schema/service/ss/ITEMService.xsd, où ITEM est le nom du service.

Si vous définissez la propriété globale mxe.int.resolveschema sur True dansl'application Propriétés système, le système résout tous les fichiers d'inclusion. Toutle contenu du schéma réside dans un même fichier.

Génération d'un fichier WSDLLe fichier WSDL (Web Services Description Language) est généré au cours dudéploiement du service Web. Il décrit le service Web, indique son emplacement etspécifie les opérations rendues disponibles par ce service.

Le fichier WSDL spécifie également la structure XML des messages d'entrée et desortie de l'opération d'après le schéma XML, ainsi que l'adresse URL du serviceWeb et les opérations rendues disponibles par ce service Web.

Un programme client requiert les définitions de schéma et le fichier WSDL pourgénérer des modules de remplacement client. Il utilise en outre un langage deprogrammation (par exemple, Java ou C#) pour appeler le service Web.

Vous pouvez consulter le fichier WSDL généré dans un navigateur à l'adressehttp://hôte_local:port/meaweb/wsdl/nom_service?wsdl, où nom_servicecorrespond au nom du service, par exemple MXASSET.

Enregistrement UDDIVous pouvez enregistrer les services Web déployés dans un registre UDDI. Il s'agitd'un registre XML dédié à la publication et au stockage des fichiers WSDLdécrivant les applications de service Web.

Vous pouvez enregistrer les services Web déployés dans un registre UDDI enconfigurant les propriétés globales suivantes dans l'application Propriétés système :

44 Intégration de données à des applications externes

Page 53: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété système Description

mxe.int.uddipuburl Adresse URL de publication du registreUDDI

mxe.int.uddiinqurl Adresse URL d'interrogation du registreUDDI

mxe.int.uddiname ID utilisateur du registre UDDI

mxe.int.uddipassword Mot de passe du registre UDDI

Si vous spécifiez des valeurs pour les propriétés d'adresse URL de publication etd'interrogation, le service Web est enregistré dans le registre UDDI. Pour ignorerl'enregistrement UDDI, n'indiquez pas de valeur pour ces propriétés. Seul lemodèle du fichier WSDL est enregistré dans le registre UDDI. Les valeursbusinessEntity, businessService et bindingTemplate ne le sont pas. L'entrée del'enregistrement UDDI contient l'adresse URL associée au fichier WSDL.

Création et déploiement de service WebVous pouvez créer un service Web en vous basant sur n'importe quel service destructure d'objet, standard ou d'entreprise défini pour le système. Vous pouvezensuite déployer le service Web sur le conteneur de service Web du produit ou surle conteneur de service Web de l'application.

Création de service Web :

Lors de la création d'un service Web, un système externe peut envoyer desmessages et des requêtes Web au service associé sans nécessiter la configuration deservices ou de protocoles de communication supplémentaires.

Avant de commencer

Procédez aux contrôles suivants pour vérifier que le service que vous souhaitezutiliser est disponible pour la création d'un service Web :v Pour un service de structure d'objet, vérifiez que la zoneConsommé par est

définie sur INTEGRATION dans l'application Structures d'objet.v Pour un service standard, vérifiez qu'une méthode est annotée dans le service

d'applications pour chaque opération que vous souhaiter utiliser dans le serviceWeb. Seules les méthodes correctement annotées sont accessibles dansl'application Bibliothèque des services Web

v Pour un service d'entreprise, vérifiez que le service est associé à une applicationexterne dans l'application Systèmes externes.

Procédure

1. Dans l'application Bibliothèque des services Web, sélectionnez l'action CréerService Web adéquate.

2. Choisissez le service à utiliser en cochant la case Nom de la sourcecorrespondante.

3. Facultatif : Dans la zone Nom, spécifiez un identificateur pour le service Web.4. Pour un service Web basé sur un service d'entreprise, indiquez si vous

souhaitez que le service Web soit basé sur la file d'attente ou qu'il ignore la filed'attente JMS.

5. Cliquez sur Créer.

Intégration de données à des applications externes 45

Page 54: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Que faire ensuite

Vous devez déployer le service Web avant de l'utiliser afin de traiter les requêtes etles messages entrants. Vous pouvez également générer le schéma et afficher lesstructures XML de n'importe quel service Web sélectionné.

Déploiement d'un service Web sur le conteneur de service Web du produit :

Après avoir créé un service Web, vous devez le déployer avant qu'il ne commenceà traiter les messages XML. Lorsque vous déployez un service Web sur leconteneur de service Web du produit, le processus de déploiement s'effectueautomatiquement et ne nécessite pas de redémarrer le serveur.

Procédure

1. Dans l'application Bibliothèque des services Web, sélectionnez le service Web àdéployer.

2. Sélectionnez l'action Déployer vers conteneur de service Web du produit >Déployer les services Web.

3. Cliquez sur OK.

Déploiement d'un service Web sur le conteneur de service Web du serveurd'applications :

Un fichier de déploiement est généré lors du déploiement d'un service Web sur leconteneur de services Web du serveur d'applications. Vous devez alors regénérer lefichier EAR Maximo pour inclure le fichier de déploiement, puis redémarrer leserveur d'applications pour activer le service Web.

Pourquoi et quand exécuter cette tâche

Le fichier de déploiement deplmodule.dar se situe dans le répertoire spécifié par lapropriété système mxe.int.globaldir.

Procédure

1. Dans l'application Bibliothèque des services Web, sélectionnez le service Web àdéployer.

2. Sélectionnez l'action Déployer vers cont de service Web du serveur d'app >Générer des entrées dans le fichier de déploiement. Cette action permet degénérer une entrée dans le fichier de déploiement, deplmodule.dar.

3. Cliquez sur OK.4. Copiez le fichier deplmodule.dar depuis le répertoire global d'infrastructure

d'intégration vers le répertoire de déploiement du produit.5. Dans le répertoire de déploiement, exécutez le fichier buildmaximoear.cmd.6. Dans la console d'administration du serveur d'applications, déployez tous les

services Web du fichier deplmodule.dar :a. Arrêtez le serveur d'applications.b. Déployez à nouveau le fichier maximo.ear.c. Redémarrez le serveur d'applications.

Mise à jour des informations de schéma :

Si vous modifiez la structure de données d'un service d'intégration, mettez à jourles informations de schéma du fichier WSDL pour mettre à jour le service Web. Si

46 Intégration de données à des applications externes

Page 55: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

vous ne regénérez pas le schéma, celui utilisé par le service Web peut différer de lastructure définie pour le service d'intégration associé.

Procédure

1. Après avoir modifié la structure de données d'un service Web, cliquez surGénérer schéma, WSDL et afficher XML. Si vous ne le regénérez pas, leservice Web ne reconnaît pas les modifications effectuées.

2. Pour les services Web déployés sur le conteneur de services Web du serveurd'applications, vous pouvez automatiser les mises à jour de schéma vial'application Propriétés système.a. Définissez la valeur de la propriété mxe.int.containerdeploy sur 1 pour

déployer les services Web sur le conteneur de service Web du serveurd'applications.

b. Définissez la valeur de la propriété mxe.int.wsdlincludeschema sur 1 pourêtre sûr que les informations de schéma sont incluses dans les fichiersWSDL.

c. Définissez la valeur de la propriété mxe.int.resolveschema sur 1 pour êtresur que le système résout tous les fichiers inclus dans un fichier unique.

d. Définissez la valeur de la propriété mxe.int.wsdlcurrentschema sur 1 pourfournir un contenu de schéma à jour dans un fichier WSDL.

Présentation des interactions de service WebUne interaction peut démarrer un service Web et lui envoyer des données depuisune application. L'interaction peut ensuite afficher les données renvoyées depuis leservice Web et les sauvegarder dans la base de données de l'application.

L'implémentation d'intégrations requiert la connaissance des éléments suivants :v schémas XMLv Services Webv Infrastructure d'intégrationv Personnalisation d'applications et d'interfaces utilisateur d'applications

Une interaction peut gérer les processus suivants :v Préparer une demande pour un service Web.v Appeler un service Web depuis une application.v Extraire les résultats du service Web sous la forme d'une réponse.v Afficher les résultats dans une application.v Facultativement, appliquer les données de réponse dans la base de données du

système.v Signaler toutes les erreurs qui se produisent pendant les processus de demande

et de réponse.

Deux applications sont fournies pour vous aider à créer et à gérer les interactions :v Créez et configurez les interactions dans l'application Créer une interaction.v Révisez, modifiez et supprimez des interactions dans l'application Interactions.

Une fois que vous avez créé une interaction, les utilisateurs peuvent effectuer lestâches suivantes depuis l'interface utilisateur de l'application :v Démarrer l'interaction.v Afficher et modifier (si cette option est configurée) les paramètres de la demande

d'un service Web .

Intégration de données à des applications externes 47

Page 56: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Appeler le service Web en envoyant une demande.v Facultativement, afficher les données reçues du service Web et valider ces

données dans la base de données.

Création d'interactions :

L'application d'assistant Créer une interaction vous guide à travers toutes lesétapes requises pour créer et configurer une interaction. Une fois le processus del'assistant terminé et l'interaction testée, les utilisateurs peuvent commencer àl'utiliser immédiatement, sans configuration ni déploiement supplémentaire.

Avant de commencer

Avant d'exécuter l'application Créer une interaction, assurez-vous d'avoir toutes lesinformations nécessaires pour la configuration. Pendant le processus, vous devezindiquer le service Web, définir la structure des messages, et mapper les donnéesentre l'application et le service Web.

Un outil de journalisation est fourni pour consigner les activités de configuration etgérer un fichier journal des éléments configurés. Pour générer un journal détailléde la configuration, dans l'application Journalisation, définissez le consignateurd'interaction en mode DEBUG.

Procédure

1. Pour configurer le service Web pour l'interaction, à l'étape 1 du processus :a. Spécifiez l'adresse URL du fichier WSDL pour le service Web.b. Lorsque l'écran s'actualise avec les informations du fichier WSDL, spécifiez

un port pour l'interaction.c. Spécifiez une opération pour l'interaction et cochez Réponse de processus si

vous voulez que le service Web renvoie des données à l'application pendantl'interaction.

2. Révisez le contenu de la demande de service Web à l'étape 2 et modifiez lastructure d'objet de demande en supprimant les éléments inutiles.

3. Facultatif : Révisez le contenu de la réponse du service Web à l'étape 3 etmodifiez la structure d'objet de réponse en supprimant les éléments inutiles.Cette étape est uniquement incluse si vous avez coché l'option Réponse deprocessus à l'étape 1.

4. Pour configurer l'application pour les interactions, à l'étape 4 du processus :a. Spécifiez l'application qui utilise l'interaction.b. Configurez la liaison de l'application pour l'interaction, y compris l'objet

principal, l'option de signature, le mode d'interaction et les composants del'interface utilisateur.

c. Spécifiez les groupes de sécurité qui sont autorisés pour initier l'interaction.5. Configurez l'onglet Demande de la fenêtre Interactions à l'étape 5, y compris la

spécification des zones que les utilisateurs peuvent voir et s'ils peuvent lesmodifier.

6. Facultatif : Configurez l'onglet Réponse de la fenêtre Interactions à l'étape 6, ycompris la spécification des zones que les utilisateurs peuvent voir et s'ilspeuvent les modifier. Cette étape est uniquement incluse si vous avez cochél'option Réponse de processus à l'étape 1.

7. Vous pouvez mapper les informations de l'application sur le service Web àl'étape 7. Les informations mappées sont entrées automatiquement dans lademande lorsque les utilisateurs démarrent l'interaction.

48 Intégration de données à des applications externes

Page 57: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

8. Facultatif : Vous pouvez mapper les informations du service Web surl'application à l'étape 8. Si vous sélectionnez l'option Valider la réponse, lesinformations mappées sont sauvegardées automatiquement dans la base dedonnées.

9. Révisez les configurations à l'étape finale du processus.

Que faire ensuite

Pour surveiller la durée nécessaire pour exécuter l'interaction, dans l'applicationJournalisation, définissez le consignateur d'intégration sur le mode INFO ouDEBUG.

Vous pouvez afficher l'interaction et modifier les informations de mappage dansl'application Interactions. Si vous souhaitez modifier une interaction, sélectionnezl'action Désactiver l'interaction avant d'effectuer la modification, puis réactivezl'interaction une fois la modification terminée.

Systèmes externesVous pouvez configurer le système externe avec lequel l'infrastructure d'intégrationcommunique. Vous pouvez configurer des systèmes externes pour les applicationsexternes à l'intérieur ou à l'extérieur de votre entreprise. Si vous copiez un systèmeexterne prédéfini, il copie les canaux et services qui sont configurés pour cesystème. Vous pouvez configurer un nouveau système externe pour utiliser les filesd'attente JMS existantes.

Configuration d'un système externePour configurer un système externe, identifiez le système externe et associez-leavec le canal ou le service utilisé pour traiter les transactions. Vous devezégalement configurer les files d'attente JMS que le système externe utilise et vouspouvez configurer les commandes d'intégration pour prendre en charge lapersonnalisation au moyen de règles de traitement.

Création d'un système externe :

La création d'un système externe permet d'échanger des données avec desapplications externes. Lorsque vous créez un système externe, l'application copieles commandes d'intégration définies pour les canaux de publication et les servicesd'entreprise correspondants. Vous pouvez ensuite indiquer les valeurs de contrôlequi s'appliquent à un système externe particulier.

Avant de commencer

Avant de créer un système externe, définissez les files d'attente et le point determinaison que le système externe utilisera.

Procédure

1. Dans l'application Systèmes externes, cliquez sur Nouveau système externe.2. Dans la zone Système, spécifiez un identificateur de système externe.3. Facultatif : Si le système externe envoie des messages sortants, exécutez les

étapes ci-dessous.a. Renseignez la zone File d'attente séquentielle sortante.b. Renseignez la zone Point de terminaison.

4. Facultatif : Si le système externe reçoit des messages entrants, exécutez lesétapes ci-dessous.

Intégration de données à des applications externes 49

Page 58: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

a. Renseignez la zone File d'attente séquentielle entrante.b. Renseignez la zone File d'attente continue entrante.

5. Cliquez sur Sauvegarder le système externe.

Que faire ensuite

Vous devez activer au moins un canal de publication ou un service d'entrepriseavant que le traitement des messages puisse avoir lieu.

Activation d'un système externe :

Vous pouvez activer un système externe après avoir configuré l'enregistrement desystème externe et lorsque vous êtes prêt à lancer le traitement des messagesd'infrastructure d'intégration. Vous pouvez également désactiver un systèmeexterne pour arrêter le traitement de tous les messages entrants et sortants.

Avant de commencer

Vous devez activer au moins un canal de publication ou un service d'entrepriseavant que le traitement des messages puisse avoir lieu.

Pourquoi et quand exécuter cette tâche

Lorsque vous désactivez un système externe, l'infrastructure d'intégration soitn'accepte aucun message entrant, soit elle envoie les messages sortants. En outre,vous ne pouvez pas utiliser les fonctions d'exportation et d'importation de donnéesde système externe. Seuls les messages mis en file d'attente sont traités.

Procédure

1. Dans l'application Systèmes externes, sélectionnez le système que voussouhaitez mettre à jour.

2. Précisez si vous souhaitez activer ou désactiver le système externe :

Option Activé

Activé Sélectionné

Désactivé Effacé

3. Cliquez sur Sauvegarder le système externe.

Activation d'un canal de publication. :

Vous devez activer un canal de publication associé à un système externe avantqu'il ne puisse être utilisé pour publier des messages basés sur les événementsdans un système externe. Par défaut, les enregistrements de canal de publicationassociés à un système externe sont désactivés. Un canal de publication désactivéévite que le système externe ne traite les messages d'infrastructure d'intégrationsortants.

Procédure

1. Dans l'application Systèmes externes, sélectionnez le système que voussouhaitez mettre à jour.

2. Dans l'onglet Canaux de publication, précisez si vous souhaitez activer oudésactiver le canal de publication.

50 Intégration de données à des applications externes

Page 59: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Activé

Activé Sélectionné

Désactivé Effacé

3. Cliquez sur Sauvegarder le système externe.

Association d'un canal de publication à un système externe :

L'association d'un canal de publication à un système externe permet desynchroniser les données objet de gestion des actifs aux données d'applicationexternes. Les canaux créés et associés au système externe contiennent la logique detraitement des messages sortants.

Pourquoi et quand exécuter cette tâche

Vous pouvez définir le point de terminaison utilisé par le canal. Si vous nedéfinissez pas de point de terminaison au niveau du canal de publication, lesdonnées sont transférées vers l'emplacement du point de terminaison défini auniveau du système externe. Vous pouvez également activer le canal de publicationassocié lorsque vous êtes sur le point de traiter les messages d'infrastructured'intégration sortants.

Procédure

1. Dans l'application Systèmes externes, sélectionnez le système externe que voussouhaitez mettre à jour.

2. Dans l'onglet Canaux de publication, cliquez sur Nouvelle ligne.3. Renseignez la zone Canal de publication.4. Facultatif : Renseignez la zone Point de terminaison.5. Facultatif : Spécifiez si vous souhaitez activer ou désactiver le canal de

publication :

Option Activé

Activé Sélectionné

Désactivé Effacé

6. Cliquez sur Sauvegarder le système externe.

Sélection de canaux de publication pour le système externe :

L'association de plusieurs canaux de publication à un système externe permet desynchroniser les données objet de gestion des actifs avec les données d'applicationexterne. Les canaux créés et associés au système externe contiennent la logique detraitement des messages sortants.

Procédure

1. Dans l'application Systèmes externes, sélectionnez le système que voussouhaitez mettre à jour.

2. Dans l'onglet Canaux de publication, cliquez sur Sélectionner les chaînes.3. Pour choisir un ou plusieurs canaux de publication, cochez les cases Canal de

publication correspondantes.4. Cliquez sur OK.5. Cliquez sur Sauvegarder le système externe.

Intégration de données à des applications externes 51

Page 60: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Que faire ensuite

Vous pouvez définir les points de terminaison utilisés par les canaux. Si vous nedéfinissez aucun point de terminaison au niveau canal de publication, les donnéessont transférées vers l'emplacement du point de terminaison défini au niveausystème externe. Vous devez activer les canaux de publication associés avant depouvoir traiter les messages d'infrastructure d'intégration.

Ajout d'un point de terminaison à un canal de publication :

Vous pouvez définir le point de terminaison utilisé par un canal de publicationpour déterminer où les données sortantes sont publiées. Les points de terminaisonidentifient un emplacement cible, ainsi que le mécanisme de transport pour lapublication des données sortantes. Si vous ne définissez pas de point determinaison au niveau du canal de publication, les données sont transférées versl'emplacement du point de terminaison défini au niveau du système externe.

Avant de commencer

Vous devez associer un canal de publication à un système externe.

Procédure

1. Dans l'application Systèmes externes, sélectionnez le système externe que voussouhaitez mettre à jour.

2. Dans l'onglet Canaux de publication, sélectionnez le canal de publication pourlequel vous souhaitez ajouter un point de terminaison.

3. Renseignez la zone Point de terminaison.4. Cliquez sur Sauvegarder le système externe.

Que faire ensuite

Vous pouvez activer le canal de publication associé lorsque vous êtes sur le pointde traiter les messages d'infrastructure d'intégration sortants.

Importation de données basées sur un fichier :

Vous pouvez utiliser la fonction d'importation des données pour charger lesdonnées à partir de fichiers délimités XML ou à plat, pour mettre à jour la base dedonnées Maximo. Vous pouvez prévisualiser et valider les données avant de lescharger et de les valider dans la base de données. Vous pouvez choisir de gérer leserreurs à l'aide de l'application Nouveau traitement des messages ou en extrayantles erreurs dans un format de fichier identique à celui du fichier importé.

Avant de commencer

Avant que les données puissent être importées, si vous prévoyez d'importer lesdonnées à partir d'un fichier à plat, tel qu'un fichier .csv, la structure d'objet deservice d'entreprise doit prendre en charge les structures de fichier à plat. Vérifiezque la case Support Flat File Structure (Prendre en charge une structure de fichiersà plat) est cochée dans l'enregistrement de structure d'objet associé dansl'application Structures d'objet. Vous devez également activer le système externe etle service d'entreprise avant de pouvoir importer les données.

52 Intégration de données à des applications externes

Page 61: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pourquoi et quand exécuter cette tâche

Les données importées doivent être contenues dans un fichier à plat délimité, (parexemple, un format de fichier séparé par des virgules ou XML). L'importation dedonnées peut avoir recours à un service d'entreprise prédéfini ou défini parl'utilisateur.

Procédure

1. Dans l'application Systèmes externes, affichez le système externe contenant leservice d'entreprise à partir duquel vous importez des données.

2. Dans l'onglet Services d'entreprise, sélectionnez le service d'entreprise à partirduquel vous souhaitez importer des données.

3. Cliquez sur Importer les données.4. Facultatif : Cochez la case Prévisualisation de l'importation pour examiner les

données avant de les importer et de les valider dans la base de données.Utilisez l'option de prévisualisation pour les enregistrements de donnéesmodèle. Cette fonction n'est pas prévue pour prendre en charge un fichier detaille importante contenant des centaines d'enregistrements. Le traitementtransmet le fichier de façon synchrone aux objets métier et renvoie tous lesmessages d'erreur rencontrés, sans valider les mises à jour de la base dedonnées.

5. Spécifiez le type de fichier que vous souhaitez utiliser pour importer desfichiers.

Option Description

Fichier XML Les données importées sont au formatXML.

Fichier à plat Les données importées sont contenuesdans un fichier à plat délimité. Sinécessaire, modifiez les valeurs des zonesDélimiteur et Qualificateur de texte.

6. Dans la zone Spécifier le fichier d'importation, entrez le chemin d'accès aunom de fichier utilisé par le fichier importé pour l'identification et le stockage.

7. Cochez la case Gestion des erreurs basées sur un fichier si vous souhaitezgérer les erreurs que vous rencontrez au moyen d'un fichier de même formatque le fichier importé. Cette option est une solution alternative à la gestion deserreurs à l'aide de l'application Nouveau traitement des messages

8. Cliquez sur OK pour commencer l'importation de données.

Que faire ensuite

Lorsque l'importation des données est exécutée, le fichier qui est sélectionné pourl'importation est formé de messages multiples et placé dans la file d'attenteentrante qui est configuré pour le service d'entreprise et son système externecorrespondant. Les messages sont ensuite transmis de la file d'attente entrante auxobjets d'application pour mise à jour. Le traitement des messages à partir d'une filed'attente entrante nécessite l'activation de la tâche périodique JMS lorsque la filed'attente séquentielle est utilisée ou l'activation des beans gérés par message pourla file d'attente continue. Si des erreurs se sont produites lors du traitement d'unfichier, vous pouvez gérer et visualiser les messages d'importation de donnéespour lesquels une erreur est indiquée dans l'application Nouveau traitement desmessages.

Intégration de données à des applications externes 53

Page 62: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Activation d'un service d'entreprise :

Vous devez activer un service d'entreprise associé à un système externe avant qu'ilne puisse être utilisé pour recevoir des données d'application externe entrantes. Pardéfaut, les enregistrements de service d'entreprise associés à un système externesont désactivés. Un service d'entreprise désactivé évite au système externe detraiter des messages d'application externe entrants.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Dans l'onglet Services d'entreprise, précisez si vous souhaitez activer ou

désactiver le service d'entreprise.

Option Activé

Activé Sélectionné

Désactivé Effacé

3. Cliquez sur Sauvegarder le système externe.

Association d'un service d'entreprise à un système externe :

L'association d'un service d'entreprise à un système externe permet de synchroniserles données d'application externes entrantes aux objets de gestion des actifs. Lesservices que vous créez et associez au système externe contiennent la logique detraitement des messages entrants.

Pourquoi et quand exécuter cette tâche

Vous pouvez spécifier si les services d'entreprise associés reçoivent des données dela file d'attente séquentielle ou continue. Vous pouvez activer le service d'entrepriseassocié lorsque vous êtes sur le point de traiter les messages d'infrastructured'intégration entrants.

Procédure

1. Dans l'application Enterprise Systems (Systèmes d'entreprise), affichez lesystème que vous souhaitez mettre à jour.

2. Dans l'onglet Services d'entreprise, cliquez sur Nouvelle ligne.3. Renseignez la zone Service d'entreprise.4. Facultatif : Précisez si vous souhaitez activer ou désactiver le service

d'entreprise :

Option Activé

Activé Sélectionné

Désactivé Effacé

5. Précisez si vous souhaitez que les messages de service reçoivent des donnéesde la file d'attente continue ou séquentielle.

Option Utiliser la file d'attente continue

File d'attente continue Sélectionné

File d'attente séquentielle Effacé

6. Cliquez sur Sauvegarder le système externe.

54 Intégration de données à des applications externes

Page 63: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Sélection de services d'entreprise pour le système externe :

L'association de plusieurs services d'entreprise à un système externe permet desynchroniser les données d'application externe entrantes avec des objets de gestiondes actifs. Les services que vous créez et associez au système externe contiennentla logique de traitement des messages entrants.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Dans l'onglet Services d'entreprise, cliquez sur Sélectionner le service.3. Pour choisir un ou plusieurs services d'entreprise, cochez les cases Service

d'entreprise correspondantes.4. Cliquez sur OK.5. Cliquez sur Sauvegarder le système externe.

Que faire ensuite

Vous devez activer les services d'entreprise associés avant de pouvoir traiter lesmessages d'infrastructure d'intégration. Vous pouvez spécifier si les servicesd'entreprise associés reçoivent les données depuis la file d'attente séquentielle ou lafile d'attente continue.

Sélection d'un type de file d'attente de service d'entreprise :

Vous pouvez spécifier si le service d'entreprise que vous associez au systèmeexterne reçoit des données depuis la file d'attente continue ou séquentielle. Lasélection de file d'attente que vous effectuez pour le service d'entreprise déterminecomment la file d'attente Java Message Service (JMS) traite les messages entrants.

Avant de commencer

Vous devez associer un service d'entreprise à un système externe.

Pourquoi et quand exécuter cette tâche

La file d'attente continue poursuit le traitement des messages mis en file d'attente,même si le traitement des messages entraîne une erreur. En revanche, la filed'attente séquentielle arrête de traiter les messages mis en file d'attente tant quel'erreur de processus n'est pas résolue. En outre, une file d'attente séquentielletraite les messages selon la méthode premier entré, premier sorti.

Procédure

1. Dans l'application Systèmes externes, sélectionnez le système externe que voussouhaitez mettre à jour.

2. Dans l'onglet Services d'entreprise, sélectionnez le service d'entreprise pourlequel vous souhaitez sélectionner une file d'attente.

3. Précisez si vous souhaitez que les messages de service reçoivent des donnéesdepuis la file d'attente continue ou séquentielle.

Option Utiliser la file d'attente continue

File d'attente continue Sélectionné

File d'attente séquentielle Effacé

Intégration de données à des applications externes 55

Page 64: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

4. Cliquez sur Sauvegarder le système externe.

Que faire ensuite

Vous pouvez activer le service d'entreprise associé lorsque vous êtes sur le point detraiter les messages d'infrastructure d'intégration entrants.

Exportation de données basées sur un fichier :

La fonction d'exportation de données permet d'exécuter une exportation en blocdes données du message depuis un fichier vers un système externe. Vous pouvezlancer le processus d'exportation pour chaque canal de publication associé à unsystème externe.

Avant de commencer

Dans un environnement multilocation, vous ne pouvez utiliser la fonctiond'exportation de données que si le fournisseur système vous donne accès à unserveur de fichiers accessible par le serveur d'applications. Vous devez ensuiteconfigurer un point de terminaison basé sur un fichier de sorte qu'il pointe versl'emplacement de ce serveur de fichiers.

Vous devez activer le système externe et le canal de publication avant de pouvoirexporter les données. Les données destinées à être exportées doivent être au formatXML, qui adhère au schéma de structure d'objet ou au format de fichier à platdélimité, qui est une version à plat du format de schéma de structure d'objet.

Pourquoi et quand exécuter cette tâche

La requête SQL facultative saisie dans la zone Condition d'exportation peut avoirdes conséquences sur la taille du message XML exporté. Vous pouvez filtrer lecontenu pour limiter la quantité de données exportées. Le processus d'exportationapplique un traitement sortant standard sur les résultats de la requête pour lecanal de publication sélectionné.

Procédure

1. Dans l'application Systèmes externes, cliquez sur l'onglet Canaux depublication, puis sélectionnez le canal de publication que vous souhaitezexporter.

2. Dans la zone Point de terminaison, indiquez un gestionnaire de point determinaison basé sur un fichier, pour le format de fichier XML ou le format defichier à plat.

3. Cliquez sur Exportation de données.4. Facultatif : Entrez une requête SQL dans la zone Condition d'exportation. La

requête doit s'appliquer à l'objet principal ou de niveau supérieur de lastructure d'objet de canal de publication.

5. Facultatif : Entrez une valeur entière dans la zone Comptage d'exportationpour limiter le nombre d'enregistrements contenus dans le fichier exporté. Si lerésultat de la requête contient plus d'enregistrements que le numéro indiqué,ces enregistrements ne sont pas inclus dans le fichier exporté.

6. Cliquez sur OK pour commencer l'exportation des données.

56 Intégration de données à des applications externes

Page 65: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Que faire ensuite

Lorsque l'exportation des données est exécutée, les données sélectionnées sontformées dans un message et placées dans la file d'attente sortante qui estconfigurée pour le canal de publication et son système externe correspondant. Lemessage est alors transmis de la file d'attente sortante au point de terminaisonconfiguré. Si une erreur se produit lors de la livraison d'un message sur le point determinaison, vous pouvez gérer et visualiser les messages d'exportation de donnéespour lesquels une erreur est indiquée dans l'application Nouveau traitement desmessages.

Ajout de files d'attente à un système externe :

Les files d'attente Java Message Service (JMS) permettent d'échanger le serviced'entreprise avec les données du canal de publication à l'aide d'une applicationexterne. Lorsque des messages sont reçus ou envoyés, ils sont écrits dans la filed'attente JMS. Ces messages sont ensuite conservés dans les files d'attente jusqu'àce qu'ils soient traités ou supprimés.

Avant de commencer

Avant d'ajouter une file d'attente à un système externe, vous devez la créer sur leserveur d'applications. Si vous ajoutez une file d'attente séquentielle, vous devezconfigurer une tâche périodique pour y rechercher périodiquement des messages.

Pourquoi et quand exécuter cette tâche

Chaque système externe peut avoir ses propres files d'attente entrantes et sortantes,ou vous pouvez configurer plusieurs systèmes en vue de partager les filesd'attente. Deux alternatives s'offrent à vous : vous pouvez ajouter vos propres filesd'attente de messages définis par l'utilisateur ; sinon, vous pouvez modifier lesfiles d'attente existantes lorsque les files d'attente de messages entrants et sortantsprédéfinies ne répondent pas à vos besoins.

Procédure

1. Dans l'application Systèmes externes, sélectionnez le système pour lequelvous souhaitez ajouter une file d'attente JMS.

2. Sélectionnez l'action Ajouter/Modifier des files d'attente.3. Cliquez sur Nouvelle ligne.4. Renseignez les zones suivantes :

Option Description

Nom JNDI de la file d'attente Nom de la file d'attente JMS.

Paramètre de connexion à la file d'attente Fabrique de connexions qui permetd'accéder à la file d'attente. La valeur pardéfaut est : jms/mro/int/queues/sqin.

Nombre d'essais maximum Nombre de fois qu'un message est traitéavant d'être écrit dans le journal des erreurset avant qu'un message soit envoyé àl'administrateur système.

5. Facultatif : Renseignez les zones suivantes :

Intégration de données à des applications externes 57

Page 66: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Description

Classe de connexion initiale Classe utilisée pour se connecter au serveurJMS.

URL du fournisseur Adresse URL du serveur JMS.

ID utilisateur L'ID utilisateur qui permet d'accéder à lanouvelle file d'attente.

Mot de passe Mot de passe qui permet d'accéder à la filed'attente.

Adresse électronique Adresse électronique d'un utilisateur quireçoit des notifications lorsque des erreursde transaction se produisent dans la filed'attente. En règle générale, cette valeurcorrespond à l'adresse électronique d'unadministrateur système.

6. Facultatif : Si la file d'attente génère des messages entrants et fonctionnecomme une file d'attente continue, décochez la case Séquentielle.

7. Facultatif : Si la file d'attente distribue des messages sortants, décochez la caseEntrant.

8. Cliquez sur OK.9. Dans l'onglet Système, renseignez les zones suivantes :

v File d'attente séquentielle sortante

v File d'attente séquentielle entrante

v File d'attente continue entrante

10. Cliquez sur Sauvegarder le système externe.

Création des tables d'interface :

Vous pouvez créer une table d'interface à intégrer aux systèmes externes quiutilisent les tables de base de données pour échanger des données. Les tablesd'interface répercutent le contenu du canal de publication ou des structures d'objetdu service d'entreprise. Lorsque vous modifiez la définition de la structure d'objetcorrespondante, vous devez recréer les tables existantes.

Avant de commencer

Vous ne pouvez pas recréer une table d'interface lorsque des messages non traitéspour cette table figurent dans la table de file d'attente MXIN_INTER_TRANS. Sivous ne sauvegardez pas les données avant de recréer une table d'interface,celles-ci seront perdues. Vérifiez que les conflits d'alias sont résolus et que les casesSupport Flat File Structure (Prendre en charge une structure de fichiers à plat)sont sélectionnées sur les enregistrements de structure d'objet associés dansl'application Structures d'objet.

Pourquoi et quand exécuter cette tâche

La boîte de dialogue Créer les tables d'interface affiche les tables d'interfaceassociées à des canaux de publication et des services d'entreprise qui possèdent lescaractéristiques suivantes :v Ils sont enregistrés sur le système externe sélectionné.v Le nom de la table d'interface n'est pas null.

58 Intégration de données à des applications externes

Page 67: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v La structure d'objet correspondante prend en charge une représentation defichier non hiérarchique.

Procédure

1. Dans l'application Systèmes externes, sélectionnez l'action Créer les tablesd'interface.

2. Dans la boîte de dialogue Créer les tables d'interface, sélectionnez la tabled'interface que vous souhaitez créer ou mettre à jour.

3. Renseignez la zone Point de terminaison.4. Facultatif : Cochez la case Renommer l'existant pour créer une copie de la table

d'interface sélectionnée. Le système de gestion des actifs stocke une copie de latable d'interface et ajoute un suffixe BAK à son nom.

5. Cliquez sur Créer.6. Cliquez sur OK pour créer la table ou sur Annuler pour arrêter le processus.

Selon le nombre de tables d'interface créées, ce processus peut durer un certaintemps.

7. Cliquez sur OK pour fermer la boîte de dialogue Créer les tables d'interface.

Utilisation des commandes d'intégration :

Si les canaux ou services d'intégration contiennent des règles de traitement ou desclasses d'exit qui sont basées sur des commandes d'intégration, les valeurs descommandes d'intégration peuvent être configurées pour le système externe. Vouspouvez configurer des commandes booléennes, de liste et d'intégration de valeur,que vous pouvez intégrer aux règles de traitement.

Configuration de commande booléenne :

Vous pouvez configurer une commande booléenne sur un système externe lorsquevous avez besoin d'une commande qui spécifie une valeur true (vrai) ou false(faux). Il vous est également possible d'ajouter des valeurs de niveau organisationou site spécifiques à une commande booléenne. Un service d'entreprise ou uncanal de publication peuvent utiliser cette commande booléenne pour évaluer lesrègles de traitement. Dans le système externe, la valeur True (Vrai) ou False (Faux)affectée à la commande détermine si un service d'entreprise ou un canal depublication applique une règle de traitement.

Avant de commencer

La valeur booléenne affectée à une commande doit exister au préalable dans ladéfinition de commande dans l'application Canaux de publication ou Servicesd'entreprise. Si cette définition pointe vers un domaine, n'importe quelle valeur deniveau organisation ou site que vous affectez doit exister dans ce domaine.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Sélectionnez l'action Commandes d'intégration de la configuration.3. Sélectionnez la commande booléenne à mettre à jour.4. Cliquez sur Nouvelle ligne.5. Exécutez l'une des actions suivantes :

v Renseignez la zone Organisation.v Renseignez la zone Site.

Intégration de données à des applications externes 59

Page 68: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

6. Précisez si vous souhaitez que la commande booléenne soit, par défaut, définiesur True (Vrai) ou False (Faux).

Option Vrai (True) par défaut

Valeur True (Vrai) Sélectionné

Valeur False (Faux) Effacé

7. Cliquez sur OK pour fermer la boîte de dialogue Commande booléenne.8. Cliquez sur OK pour fermer la boîte de dialogue Commandes d'intégration de

la configuration.

Configuration d'une commande de référence croisée :

Vous pouvez configurer une commande de référence croisée qui permet deremplacer une valeur par une autre. Une commande de référence croisée peutmapper une valeur dans le système de gestion des actifs à une valeur dans lesystème externe.

Avant de commencer

La valeur que vous affectez à la translation doit exister au préalable dans ladéfinition de commande dans l'application Canaux de publication ou Servicesd'entreprise. Si cette définition pointe vers un domaine, les valeurs de niveauorganisation ou site que vous affectez doivent exister dans ce domaine.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Sélectionnez l'action Commandes d'intégration de la configuration.3. Sélectionnez le contrôle de référence croisée à mettre à jour.4. Cliquez sur Nouvelle ligne.5. Dans la zone Valeur Maximo, entrez la valeur d'application que le système de

gestion des actifs convertit vers ou depuis une valeur de système externe.6. Dans la zone Valeur externe, entrez la valeur de système externe que le

système de gestion des actifs convertit vers ou depuis la Valeur Maximo.7. Cliquez sur OK pour fermer la boîte de dialogue Commande de référence

croisée.8. Cliquez sur OK pour fermer la boîte de dialogue Commandes d'intégration de

la configuration.

Configuration de commande de liste :

Vous pouvez créer une commande d'intégration de type de liste qui contient uneliste de valeurs. Vous pouvez également ajouter des valeurs de niveau organisationou site spécifiques à une commande de liste. Un service d'entreprise ou un canalde publication peuvent utiliser cette commande de liste pour évaluer les règles detraitement. La valeur affectée à la commande dans le système externe détermine siun service d'entreprise ou canal de publication applique une règle de traitement.

Avant de commencer

Les valeurs ajoutées à une commande de liste doivent exister au préalable dans ladéfinition de commande dans l'application Canaux de publication ou Servicesd'entreprise. Si cette définition pointe vers un domaine, les valeurs de niveau

60 Intégration de données à des applications externes

Page 69: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

organisation ou site que vous affectez doivent exister dans ce domaine.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Sélectionnez l'action Commandes d'intégration de la configuration.3. Sélectionnez la commande de liste à mettre à jour.4. Cliquez sur Nouvelle ligne.5. Dans la zone Valeur, entrez une valeur qui existe dans le domaine.6. Cliquez sur OK pour fermer la boîte de dialogue Commande de liste.7. Cliquez sur OK pour fermer la boîte de dialogue Commandes d'intégration de

la configuration.

Configuration de commande de valeur :

Vous pouvez définir une commande d'intégration de type de valeur sur unsystème externe lorsque vous avez besoin d'une commande contenant une valeurunique. Vous pouvez également ajouter des valeurs de niveau organisation et sitespécifiques à une commande de valeur. Un service d'entreprise ou un canal depublication peuvent utiliser cette commande de valeur pour évaluer les règles detraitement. La valeur affectée à la commande dans le système externe détermine siun service d'entreprise ou un canal de publication applique une règle detraitement.

Avant de commencer

La valeur affectée en premier doit exister dans la définition de commande dansl'application Canaux de publication ou Services d'entreprise. Si cette définitionpointe vers un domaine, les valeurs de niveau organisation ou site que vousaffectez doivent exister dans ce domaine.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Sélectionnez l'action Commandes d'intégration de la configuration.3. Sélectionnez la commande de valeur à mettre à jour.4. Cliquez sur Nouvelle ligne.5. Exécutez l'une des actions suivantes :

v Renseignez la zone Organisation.v Renseignez la zone Site.

6. Dans la zone Valeur, entrez une valeur qui existe dans le domaine.7. Cliquez sur OK pour fermer la boîte de dialogue Contrôle de la valeur.8. Cliquez sur OK pour fermer la boîte de dialogue Commandes d'intégration de

la configuration.

Substitution de valeurs pour une commande de référence croisée :

En configurant une commande de référence croisée, vous pouvez substituer desvaleurs pour des sites et des organisations. Vous pouvez choisir de substituer lesvaleurs de référence croisée définies précédemment au niveau service d'entrepriseou niveau canal de publication. La substitution de valeur peut être configurée enfonction de chaque système externe afin de maintenir un système de gestion desactifs et des mappages de système externe valides.

Intégration de données à des applications externes 61

Page 70: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Avant de commencer

La valeur utilisée pour la translation doit exister au préalable dans la définition decommande de référence croisée dans les applications Canaux de publication ouServices d'entreprise. Si cette définition pointe vers un domaine, les valeurs deniveau organisation ou site que vous affectez doivent exister dans ce domaine.

Pourquoi et quand exécuter cette tâche

Si vous utilisez des synonymes, entrez la valeur externe comme valeur de contrôle,et non la valeur d'application interne.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Sélectionnez l'action Commandes d'intégration de la configuration.3. Sélectionnez la commande de référence croisée à mettre à jour.4. Cliquez sur Ignorer. La boîte de dialogue Ignorer les valeurs pour le contrôle

de référence croisée affiche toutes les valeurs de niveau organisation ou sitequi existent pour le contrôle.

5. Cliquez sur Nouvelle ligne.6. Exécutez l'une des actions suivantes :

v Renseignez la zone Organisation.v Renseignez la zone Site.

7. Dans la table Valeur de l'organisation / du site, cliquez sur Nouvelle ligne.8. Renseignez les zones Valeur par défaut et Valeur externe. Pour utiliser la

commande comme un contrôle de multiplication, entrez plusieursenregistrements dotés de la même valeur externe et de valeurs d'organisationou de site différentes.

9. Cliquez sur OK pour fermer la boîte de dialogue Ignorer les valeurs pour lecontrôle de référence croisée.

10. Cliquez sur OK pour fermer la boîte de dialogue Commande de référencecroisée.

11. Cliquez sur OK pour fermer la boîte de dialogue Commandes d'intégration dela configuration.

Exemple

Cinq systèmes externes sont configurés pour échanger des données avecl'infrastructure d'intégration. Quatre de ces systèmes utilisent les mêmes valeurs desite, à l'exception d'une valeur de site qui diffère. Une commande de référencecroisée effectuant la translation entre les quatre valeurs différentes et la valeur dusystème de gestion des actifs peut être substituée au niveau système externe. Lasubstitution de valeur peut être configurée afin de translater la valeur restantepour le site du système externe vers une valeur de magasin du système de gestiond'actifs.

La commande de référence croisée d'un service d'entreprise peut translater lavaleur de site du système externe EX001 en un site du système de gestion des actifsMX001. La substitution commande de référence croisée d'un système externe peutêtre configurée de façon à substituer la valeur prédéfinie EX001 et utiliser unevaleur EX002 dans sa translation de valeur.

62 Intégration de données à des applications externes

Page 71: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Substitution de valeurs pour une commande de liste :

En configurant une commande de liste, vous pouvez substituer des valeurs pourdes sites et des organisations. Vous pouvez choisir de substituer les valeurs decommande de liste définies précédemment au niveau service d'entreprise ou canalde publication. La règle pourrait ignorer le traitement de la transaction lorsque lavaleur de la zone relative aux données ne correspond à aucune des valeurs decommandes de liste écrasées.

Avant de commencer

La valeur affectée en premier doit exister dans la définition de commande desapplications Canaux de publication ou Services d'entreprise. Si cette définitionpointe vers un domaine, les valeurs de niveau organisation ou site que vousaffectez doivent exister dans ce domaine.

Pourquoi et quand exécuter cette tâche

Vous devez utiliser un point (.) comme marque de réservation lorsque vous entrezdes nombres décimaux comme valeur de contrôle, sans tenir compte desparamètres d'environnement local du serveur d'applications ou de la base dedonnées. Les numéros à gauche de la marque de réservation ne sont pas formatés.Ce format s'applique aux données entrantes ou sortantes. Par exemple,$1,738,593.64 doit être 1738593.64.

Procédure

1. Dans l'application Systèmes externes, affichez le système à mettre à jour.2. Sélectionnez l'action Commandes d'intégration de la configuration.3. Sélectionnez la commande de liste à mettre à jour.4. Cliquez sur Ignorer. La boîte de dialogue Ignorer les valeurs pour le contrôle

de liste affiche toutes les valeurs de niveau organisation et site qui existentpour le contrôle.

5. Cliquez sur Nouvelle ligne.6. Exécutez l'une des actions suivantes :

v Renseignez la zone Organisation.v Renseignez la zone Site.

7. Dans la table Valeur de l'organisation / du site, cliquez sur Nouvelle ligne.8. Renseignez la zone Valeur. Si vous utilisez des synonymes, entrez une valeur

externe, et non la valeur d'application interne.9. Cliquez sur OK pour fermer la boîte de dialogue Ignorer les valeurs pour le

contrôle de liste.10. Cliquez sur OK pour fermer la boîte de dialogue Commande de référence

croisée.11. Cliquez sur OK pour fermer la boîte de dialogue Commandes d'intégration de

la configuration.

Exemple

Les interventions sont envoyées vers un système externe en fonction de leur statut.La règle de traitement définie sur un service d'entreprise ou un canal depublication peut vérifier le statut d'une intervention par le biais d'une commandede liste contenant deux valeurs de statut : APPR (Approuvé) ou TERMI (Terminé).Cette substitution de liste peut être configurée pour évaluer deux valeurs de statut

Intégration de données à des applications externes 63

Page 72: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

d'intervention différentes : ATAPP (En attente d'approbation) ou ATPLA (En attentede planification). Si le statut d'une intervention ne correspond aux valeurs decommande de liste écrasées, la transaction de l'intervention n'est pas envoyée versle système externe.

Contenu d'intégration prédéfiniL'infrastructure d'intégration fournit un contenu d'intégration prédéfini,comprenant des structures d'objet, des canaux de publication et des servicesd'entreprise qui prennent en charge l'importation de données depuis un systèmeexterne ou leur exportation vers ce dernier.

Dans certains cas, seule la structure d'objet est fournie sans canal de publication ouservice d'entreprise associé. L'infrastructure d'intégration, du fait de sa conception,fournit la prise en charge de l'insertion, de la mise à jour, de la suppression et del'interrogation des données en fonction des règles métier définies dans les objetsmétier de la structure d'objets. Elle ne fournit pas l'ensemble des fonctionnalitésdisponibles via les applications, notamment celles disponibles à partir des actionsou du bouton de traitement à l'écran. Certaines structures d'objet peuvent prendreen charge certaines actions ou le bouton de traitement à l'écran.

Objets de données maîtreL'infrastructure d'intégration fournit une sélection de contenus d'intégrationprédéfinis pour les données maître, qui comprend généralement des données decomptabilité, sur les personnes, le magasin, la main-d'oeuvre, la classification et lefournisseur.

Objet actif :

La structure d'objet MXASSET autorise la synchronisation bidirectionnelle desinformations d'actif, notamment les attributs qui définissent les mesures.

Objectif

La structure d'objet MXASSET synchronise des actifs individuels, mais pas lahiérarchie d'actifs dans son ensemble. Elle prend en charge l'ajout et la mise à jourdes compteurs liés à un actif, mais pas la mise à jour des valeurs de relevé decompteur. Le traitement entrant de ASSETMETER est limité aux attributs quidéfinissent le compteur et n'inclut donc pas les valeurs de relevé de compteur oules autres informations concernant ces relevés.

Condition requise

Vous devez synchroniser les emplacements opérationnels, magasins, compteurs etarticles avant de charger des actifs.

La relation de MBO utilisée pour extraire le MBO ASSETMETER est différente dela celle utilisée dans l'application Actifs. Par conséquent, l'attribut changed dumessage XML (traitement d'événements sortants) n'est pas défini pour les valeursde ce MBO.

Cette structure d'objet ne prend pas en charge les changements de statut ou ledéplacement d'actifs. Un service standard pour les actifs est fourni pour prendre encharge le déplacement d'actifs qui se trouvent sur les emplacements opérationnels.Le service standard, Actif, fournit une opération, assetmoveSingleAsset, pourprendre en charge cette fonctionnalité.

64 Intégration de données à des applications externes

Page 73: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutAssetProcess - Renseigne la zoneHierarchypath si une classification estassociée à l'actif.

Canal de publication MXASSETInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxAssetProcess - Si la valeurHierarchypath est fournie, la classe detraitement renseigne la zone classstructureidcorrespondante de l'actif, qui créel'association de la classification avec l'actif.

Service d'entreprise MXASSETInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet Plan comptable :

La structure d'objet MXCOA permet la synchronisation entrante des données deplan comptable.

Condition requise

Vous devez charger les composants du grand livre avant de charger le plancomptable. Il n'existe aucun canal de publication prédéfini pour cette structured'objet.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucune

Canal de publication Aucune

Règles de traitement Aucune

Commandes d'intégration Aucune

Intégration de données à des applications externes 65

Page 74: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxCOAProcess - Peut être traité commeune association de segments délimités oucomme composants individuels faisant partirde la définition de type de donnéesGLACCOUNT.

Service d'entreprise MXCOAInterface

Règles de traitement Aucune

Commandes d'intégration Aucune

Exemples de traitement d'événements entrants

Le traitement sous forme de combinaison de segments délimités est disponiblepour XML et les tables d'interface. Vous pouvez spécifier le compte GLG de cettemanière dans toutes les structures d'objet.<GLACCOUNT>

<VALUE>6400-2-10</VALUE></GLACCOUNT>

La structure d'objet valide chaque segment puis crée l'enregistrement de plancomptable dans une base de données avec les valeurs suivantes :v GLACCOUNT=6400-2-10v GLCOMP01-6400v GLCOMP02=2v GLCOMP03=10

Vous pouvez également traiter l'objet sous forme de composants individuels faisantpartie de la définition de type de données GLACCOUNT.<GLACCOUNT><GLCOMP glorder="0">6400</GLCOMP><GLCOMP glorder="1">2</GLCOMP><GLCOMP glorder="2">10</GLCOMP></GLACCOUNT>

La structure d'objet valide les composants et crée le compte à l'aide du délimiteurdéfini dans la table GLCONFIGURE de chaque segment. Cette option estdisponible pour XML uniquement.

Objet article de classification :

La structure d'objet MXCLASSIFICATION autorise la synchronisationbidirectionnelle des classifications, y compris Class Use With (Classification utiliséeavec), Class Specs (Spécifications de classification) et Class Spec Use With(Spécification de classification utilisée avec).

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

66 Intégration de données à des applications externes

Page 75: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXCLASSInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxClassificationProcess - Logique detraitement pour trouver la classification et leparent à l'aide de Hierarchypath. Etantdonné que le système autorise lesclassifications en double (hierarchypaths),une exception est générée lors de la tentativede mise à jour d'une classification si desdoubles existent.

Service d'entreprise MXCLASSInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet Corps de métier :

La structure d'objet MXCRAFT autorise la synchronisation bidirectionnelle desinformations de corps de métier. Ces informations incluent les corps de métier, lescompétences et les tarifs des corps de métier.

Condition requise

Si le corps de métier référence une compétence ou des contrats, ces informationsdoivent exister avant le chargement des corps de métier.

Un corps de métier peut avoir un tarif standard, un tarif pour chaque niveau decompétence du corps de métier ou différent tarifs pour chaque contrat qui fournitle corps de métier, avec un tarif de niveau de compétence facultatif pour chaquecontrat.

Les enregistrements CRAFT et CRAFTSKILL ont une zone STANDARDRATE pourle tarif horaire de chaque corps de métier ou compétence associée à ce dernier.

L'enregistrement CRAFTRATE spécifie les tarifs pour les fournisseurs du corps demétier et, facultativement, différents tarifs pour chaque combinaison decompétence, corps de métier et fournisseur.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Intégration de données à des applications externes 67

Page 76: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXCRAFTInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

Aucun

Service d'entreprise MXCRAFTInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet projet financier :

La structure d'objet MXPROJ autorise la synchronisation bidirectionnelle desinformations de projet financier. Cette structure d'objet synchronise les tâchesindividuelles et les projets en tant que messages distincts. Elle ne synchronise pasun projet et toutes ses tâches enfants en un seul message.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXPROJInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

Aucun

Service d'entreprise MXPROJInterface

Règles de traitement Aucun

68 Intégration de données à des applications externes

Page 77: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Commandes d'intégration Aucun

Objet composant de grand livre (GL) :

La structure d'objet MXGLCOMP permet la synchronisation entrante des donnéesde GL.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication Aucun

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

Aucun

Service d'entreprise MXGLCOMPInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet main-d'oeuvre :

La structure d'objet MXLABOR autorise la synchronisation bidirectionnelle desinformations de main-d'oeuvre, notamment les tarifs de personne et de corps demétier de main-d'oeuvre.

Condition requise

Vous devez synchroniser le corps de métier, l'emplacement de travail ou demagasin éventuellement spécifiés avant de charger la main-d'oeuvre. Chaqueenregistrement de personne ne peut avoir qu'un seul enregistrement demain-d'oeuvre.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Intégration de données à des applications externes 69

Page 78: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutLaborProcess - Logique de traitementdésactivée.

Canal de publication MXLABORInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxLaborProcess - Prend en charge leschangements de statut. Définit la valeurORGID pour le MBO LaborCraftRate àpartir du MBO parent. Définit également lavaleur PERSONID sur l'enregistrementPERSON, en fonction de la valeurPERSONID de l'enregistrement LABOR

Service d'entreprise MXLABORInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet personne :

La structure d'objet MXPERSON autorise la synchronisation bidirectionnelle desinformations de personne, notamment le numéro de téléphone, l'adresseélectronique et les données SMS.

Objectif

Cette structure d'objet prend en charge la synchronisation des données de personneindividuelle. Elle ne prend pas en charge la mise à jour des informations dedisponibilité pour un enregistrement de personne. La structure d'objet prendégalement en charge les changements de statut.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXPERSONInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

70 Intégration de données à des applications externes

Page 79: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxPersonProcess - Requiert la mise àdisposition des données pour tous les objetsenfants (PHONE, EMAIL, SMS) avec chaquemise à jour de personne. En raison del'absence de clé unique sur ces objets, lalogique supprime toujours l'ensemble desobjets enfants et les ajoute à nouveau. Si unepersonne a trois enregistrements d'adresseélectronique dans le système et qu'unmessage de personne est reçu avec deux deces enregistrements, l'enregistrement quin'est pas inclut est supprimé. La structured'objet prend en charge les changements destatut.

Service d'entreprise MXPERSONInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet personne/utilisateur :

La structure d'objet MXPERUSER autorise la synchronisation bidirectionnelle desinformations de personne/utilisateur. Cette structure d'objet prend en charge leschangements de statut.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXPERUSERInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxPersonUserProcess - Le traitement doitsauvegarder les données de personne avantde sauvegarder les données utilisateur. Cettestructure d'objet prend en charge leschangements de statut.

Intégration de données à des applications externes 71

Page 80: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Service d'entreprise MXPERSUSERnterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet emplacement de magasin :

La structure d'objet MXSTORELOC autorise la synchronisation bidirectionnelle desemplacements de magasin, de main-d'oeuvre et de coursier.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutLocProcess - fournit le filtrage pourenvoyer uniquement les emplacements demagasin, de coursier ou de main-d'oeuvre.

Canal de publication MXSTORELOCInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxLocProcess - fournit le filtrage pouraccepter uniquement les emplacements demagasin, de coursier ou de main-d'oeuvre.

Service d'entreprise MXSTORELOCInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet Structure d'objet maître du fournisseur (sociétés) :

La structure d'objet MXVENDORMSTR autorise la synchronisation bidirectionnelledes données maître du fournisseur.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXVENDORMSTRInterface

72 Intégration de données à des applications externes

Page 81: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

Aucun

Service d'entreprise MXVENDORMSTRInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet Fournisseur (sociétés) :

La structure d'objet MXVENDOR autorise la synchronisation bidirectionnelle desdonnées de fournisseur de niveau organisation, y compris les contacts.

Condition requise

Pour activer cette structure d'objet afin de créer l'enregistrement de référentiel dessociétés, sélectionnez Ajouter automatiquement les sociétés au Référentiel dessociétés pour l'ensemble associé à l'organisation à laquelle l'enregistrement dufournisseur est ajoutée. La structure d'objet MXVENDOR prend en charge leschangements de statut.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXVENDORInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxComProcess - Fournit la logique deprise en charge de la création del'enregistrement du référentiel des sociétés.

Intégration de données à des applications externes 73

Page 82: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Service d'entreprise MXVENDORInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objets d'article et de stockL'infrastructure d'intégration fournit une sélection de contenus d'intégrationprédéfinis pour les objets d'article et de stock, comme les articles de service, lesarticles d'outils, les fournisseurs de stock et les sorties.

Objet article :

La structure d'objet MXITEM autorise la synchronisation bidirectionnelle desdonnées d'article, notamment les conversions, spécifications d'article et conditions.Cette structure d'objet prend en charge les changements de statut.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutItemProcess - Filtre permettant de nepas définir les articles d'outil ou de service.Prend en charge l'extraction de la valeurhierarchypath pour le classstructureid del'article.

Canal de publication MXITEMInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxItemProcess - Si la transaction entranteest une mise à jour d'article et quel'indicateur capitalisé de l'article a changé,une méthode est appelée pour changer lestatut de capitalisation de l'article. Si le typed'article n'est pas ITEM ou un synonymevalide. Prend en charge les changements destatut.

Service d'entreprise MXITEMInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

74 Intégration de données à des applications externes

Page 83: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objet article de service :

La structure d'objet MXSERVITEM autorise la synchronisation bidirectionnelle desdonnées d'articles de service. L'objet principal de la structure d'objet,SERVICEITEMS est non persistant.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

Aucun

Canal de publication MXSERVITEMInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

Aucun

Service d'entreprise MXSERVITEMInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet d'article d'outil :

La structure d'objet MXTOOLITEM autorise la synchronisation bidirectionnelle desdonnées d'article d'outil, notamment les spécifications d'article d'outil.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutToolItemProcess - Prend en chargel'extraction de la valeur hierarchypath pourle classstructureid de l'article.

Canal de publication MXTOOLITEMInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Intégration de données à des applications externes 75

Page 84: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxToolItemProcess - Si la transactionentrante est une mise à jour d'article et quel'indicateur capitalisé de l'article a changé,une méthode est appelée pour changer lestatut de capitalisation de l'article.

Service d'entreprise MXTOOLITEMInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet de stock :

La structure d'objet MXINVENTORY autorise la synchronisation bidirectionnelledes données de stock (magasin d'articles), y compris les coûts du stock.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutInvProcess - Définit la valeur de lazone ITEMTYPE à partir de l'objet ITEM.

Canal de publication MXINVENTORYInterface

Règles de traitement SKIPINVENTORY - Ignore l'enregistrementsi sa valeur ITEMTYPE se trouve dans lacommande d'intégration SKIPITEMTYPE.

Commandes d'intégration SKIPITEMTYPE

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxInvProcess - Prend en charge leschangements de statut.

Service d'entreprise MXINVENTORYInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

76 Intégration de données à des applications externes

Page 85: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objet de quantité en stock :

La structure d'objet MXINVBAL autorise la synchronisation bidirectionnelle desinformations de quantité en stock. Les informations de changement des quantitésen stock dans cette structure d'objet concernent le niveau le plus bas (BIN ou LOT)dans l'application.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutInvBalancesProcess - Définit la valeurde la zone ITEMTYPE à partir de l'objetITEM.

Canal de publication MXINVBALInterface

Règles de traitement SKIPINVBALITM - Ignore l'enregistrement sisa valeur ITEMTYPE se trouve dans lacommande d'intégration SKIPITEMTYPE.

Commandes d'intégration SKIPITEMTYPE

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxInvBalancesProcess - La structure d'objetde quantité en stock entrante appelle eninterne la méthode d'ajustement desquantités actuelles, ce qui crée unetransaction financière CURBALADJ dansINVTRANS.

Service d'entreprise MXINVBALInterface MXINVBALQInterface- Un deuxième service d'entreprise configurépour l'opération Query.

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet fournisseur d'articles :

La structure d'objet MXINVVENDOR autorise la synchronisation bidirectionnelledes données de fournisseur d'articles.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Intégration de données à des applications externes 77

Page 86: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutInvBalancesProcess - Définit la valeurde la zone ITEMTYPE à partir de l'objetITEM et définit la valeur deCURRENCYCODE à partir de l'objetfournisseur (sociétés).

Canal de publication MXINVVENDORInterface

Règles de traitement INVVITEMTYPE - Ignore l'enregistrement sisa valeur ITEMTYPE se trouve dans lacommande d'intégration ITEMTYPEFORINV.

Commandes d'intégration ITEMTYPEFORINV

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxInvVendorProcess - Si le messageentrant contient un code de devise différentde celui du fournisseur, une erreur estsignalée.

Service d'entreprise MXINVENDORInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet de réservation de stock :

La structure d'objet MXINVRES permet la synchronisation bidirectionnelle desréservations de stock (magasin). Cette structure d'objet ne traite pas lesenregistrements de réservation de sortie directe créés par le système.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutRSVProcess - Ignore les réservationspour des sorties directes.

Canal de publication MXINVRESInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

78 Intégration de données à des applications externes

Page 87: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

Aucun

Service d'entreprise MXINVRESInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet sorties de stock :

La structure d'objet MXINVISSUE permet la synchronisation bidirectionnelle dessorties et retours de stock (magasin).

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

MoutISUProcess - Ignore les réservationspour des sorties directes.

Canal de publication MXINVISSUEInterface - Filtre les sortiesdirectes depuis MATUSETRANS (PONUMn'est pas nul et ISSUETYPE est ISSUE ouRETURN) car elles sont traitées par lastructure d'objet réception(MXRECEIPTInterface). Filtre lestransactions d'écart pour les exclure, car ellessont écrites dans MATUSETRANS par leprocessus d'approbation de la facture.

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

MaxISUProcess - Si l'action fournie n'est pasune action Add, une exception est générée.Valide ISSUETYPE pour garantir qu'il s'agitde ISSUE, RETURN, ou NULL. Si la valeurest différente, une erreur est signalée. Si elleest NULL, la valeur est définie par défautsur ISSUE.

Service d'entreprise MXINVISSUEInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Intégration de données à des applications externes 79

Page 88: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objets de documentsL'infrastructure d'intégration fournit une sélection de contenu d'intégrationprédéfini pour les documents, comme les enregistrements d'achat, les factures et lesenregistrements d'intervention.

Zone STATUSIFACE et traitement :

Tous les documents d'achat et d'intervention ont un statut. La zone STATUSIFACEidentifie si les relations associées contiennent des enregistrements nouveaux ou misà jour ou uniquement des changements de statut.

En règle générale, la zone STATUSIFACE est présente pour tous lessous-enregistrements de structure d'objet créés à partir de MBO avec état, qui sontles MBOs ayant une zone STATUS et qui prennent en charge les actions dechangement de statut. La zone STATUSIFACE est fournie en tant que zone tamponpour les objets pour lesquels l'intégration prend en charge un changement destatut.

Zone STATUSIFACE et traitement d'événements sortants

Pendant le traitement d'un sous-enregistrement de structure d'objet créé depuis unMBO avec état, le traitement d'intégration sortant recherche une zone STATUSdans le MBO et une zone STATUSIFACE dans le sous-enregistrement de structured'objet correspondant. Si les deux zones existent, le traitement définit la valeur dela zone STATUSIFACE sur la valeur de l'attribut changé pour la zone STATUScorrespondante. Une valeur de 0 indique que le statut n'a pas changé. Une valeurde 1 indique que le statut a changé.

Ce traitement s'applique uniquement aux messages sortants générés par desévénements et non à ceux exportés via la fonction d'exportation de données ou unappel par programmation.

Zone STATUSIFACE et traitement d'événements entrants

Lors du traitement d'une structure d'objet dans laquelle le MBO principal (sommet)est avec état, le traitement des messages entrants recherche une zoneSTATUSIFACE dans le sous-enregistrement de structure d'objet correspondant pourdéterminer si le message entrant doit être traité comme mise à jour de document etchangement de statut ou comme changement de statut uniquement.

Le tableau suivant décrit le traitement d'événements entrants à l'aide de structuresd'objet avec un MBO principal (somment) avec état. Il ne s'applique pas aux MBOavec état inclus comme objet enfant dans une structure d'objets.

Tableau 2. Actions effectuées pendant le Modélisation du de la zone STATUSIFACE

Valeur de STATUSIFACE Document existant dans la base dedonnées

Document inexistant dans la base dedonnées

Non fourni ou 0 v Met à jour le document dans labase de données

v Si le statut du document entrantest différent de celui dans la basede données, met à jour le statutdans la base de données

v Ajoute le document dans la basede données

v Définit le statut dans la base dedonnées sur celui du messageentrant

1 Met à jour le statut dans la base dedonnées

Erreur

80 Intégration de données à des applications externes

Page 89: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objet contrats d'achat :

La structure d'objet MXPC autorise la synchronisation bidirectionnelle desinformations de contrat d'achat. Cette structure d'objet ne prend en chargeactuellement que les types de contrat d'achat permanent et prix.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 3. Composants prédéfinis de l'objet Contrats d'achat pour le traitement d'intégrationsortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede traitement de lastructure d'objet

MoutPCProcess - Ignore les réservations pour des sortiesdirectes.

Canal de publication MXPCInterface - Utilise des règles de traitement pourn'envoyer l'intégralité du document de contrat d'achat quepour un changement de statut.

Règles de traitement 1. SKIPPC - Ignore l'envoi du document si les deuxconditions suivantes sont remplies :

v Le document n'a pas encore été envoyé.

v Le nouveau statut n'est pas répertorié dans lacommande PCSEND.

2. SKIPPCUPDATE - Ignore l'envoi du document lorsqu'ilest mis à jour mais que le statut n'est pas changé.

3. SETSTATUSIFACE - Définit la valeur de la zoneSTATUSIFACE sur 0 (faux) pour toutes les valeurs destatut, à l'exception de celles répertoriées dans lacommande PCSEND.

4. CHECKSTATUS – Envoie uniquement les donnéesd'en-tête de contrat d'achat si le statut change et que lenouveau statut n'est pas dans la commande PCSEND.(Dans ce cas le document complet a été envoyéprécédemment et l'envoi actuel concerne uniquement lanotification de changement de statut).

Commandes d'intégration PCSEND

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Intégration de données à des applications externes 81

Page 90: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 4. Composants prédéfinis de l'objet Contrats d'achat pour le traitement d'intégrationentrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede traitement de lastructure d'objet

MaxPCProcess - Prend en charge les changements de statut.Crée une nouvelle révision lorsque le contrat d'achat existedéjà, mais pas la révision. Prend uniquement en charge lestypes de contrat permanent et prix.

Canal de publication MXPCInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet demandes d'achat :

La structure d'objet MXPR autorise la synchronisation bidirectionnelle desinformations de demande d'achat et prend en charge les changements de statut.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 5. Composants prédéfinis de l'objet Demandes d'achat pour le traitementd'intégration sortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede définition de la structured'objet

Aucun

Canal de publication MXPRInterface – Utilise les règles de traitement. Ledocument de demande d'achat complet n'est envoyé quepour les changements de statut.

Règles de traitement 1. SKIPPR - Ignore l'envoi du document si les deuxconditions suivantes sont remplies :

v Le document n'a pas encore été envoyé.

v Le nouveau statut n'est pas répertorié dans lacommande PRSEND.

2. SKIPPRUPDATE - Ignore l'envoi du document lorsqu'ilest mis à jour mais que le statut n'est pas changé.

3. SETSTATUSIFACE - Définit la valeur de la zoneSTATUSIFACE sur 0 (false) pour toutes les valeurs destatut, à l'exception de celles répertoriées dans lacommande PRSEND.

4. CHECKSTATUS – Envoie uniquement les donnéesd'en-tête de demande d'achat si le statut change et que lenouveau statut n'est pas inclus dans la commandePRSEND. (Dans ce cas le document complet a été envoyéprécédemment et l'envoi actuel concerne uniquement lanotification de changement de statut).

Commandes d'intégration PRSEND

82 Intégration de données à des applications externes

Page 91: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Tableau 6. Composants prédéfinis de l'objet Demande d'achat pour le traitementd'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede traitement de lastructure d'objet

MaxPRProcess - Prend en charge les changements de statut.Si le statut actuel de la demande d'achat est approuvé etpour prendre en charge les mises à jour, la classe detraitement change à nouveau le statut sur en attented'approbation, effectue les mises à jour puis redéfinit le statutsur la valeur identifiée dans le message XML.

Canal de publication MXPRInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet bon de commande :

La structure d'objet MXPO autorise la synchronisation bidirectionnelle desinformations de bon de commande et prend en charge les changements de statut.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 7. Composants prédéfinis de l'objet Contrat d'achat pour le traitement d'intégrationsortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede définition de la structured'objet

Aucun

Canal de publication MXPOInterface - Utilise des règles de traitement. Ledocument de bon de commande complet n'est envoyé quepour un changement de statut.

Intégration de données à des applications externes 83

Page 92: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 7. Composants prédéfinis de l'objet Contrat d'achat pour le traitement d'intégrationsortant (suite)

Composants d'intégrationprédéfinis Valeur et description

Règles de traitement 1. SKIPPO - Ignore l'envoi du document si les deuxconditions suivantes sont remplies :

v Le document n'a pas encore été envoyé.

v Le nouveau statut n'est pas répertorié dans lacommande POSEND.

2. SKIPPOUPDATE - Ignore l'envoi du document lorsqu'ilest mis à jour mais que le statut n'est pas changé.

3. SETSTATUSIFACE - Définit la valeur de la zoneSTATUSIFACE sur 0 (false) pour toutes les valeurs destatut, à l'exception de celles répertoriées dans lacommande POSEND.

4. CHECKSTATUS – Envoie uniquement les donnéesd'en-tête de bon de commande si le statut change et quele nouveau statut n'est pas inclus dans la commandePOSEND. (Dans ce cas, le document complet a été envoyéprécédemment et l'envoi actuel concerne uniquement lanotification de changement de statut).

Commandes d'intégration POSEND

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Tableau 8. Composants prédéfinis de l'objet Contrat d'achat pour le traitement d'intégrationentrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede traitement de lastructure d'objet

MaxPOProcess - Prend en charge les changements de statut.

Si le statut actuel de la demande d'achat est approuvé, pourprendre en charge les mises à jour, la classe de traitementchange à nouveau le statut sur en attente d'approbation,effectue les mises à jour, puis renvoie le statut sur la valeuridentifiée dans le message XML.

Canal de publication MXPOInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet de facture :

La structure d'objet MXINVOICE autorise la synchronisation bidirectionnelle desinformations de facture et prend en charge les changements de statut.

84 Intégration de données à des applications externes

Page 93: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 9. Composants prédéfinis des objets Facture pour le traitement d'intégration sortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe dedéfinition de la structure d'objet

Aucun

Canal de publication MXINVOICEInterface - Utilise des règles de traitement. L'intégralité dudocument de facture n'est envoyé que pour les changements de statut.

Règles de traitement 1. SKIPINVOICE - Ignore l'envoi du document si les deux conditionssuivantes sont remplies :

v Le document n'a pas encore été envoyé.

v Le nouveau statut n'est pas répertorié dans la commande IVSEND.

2. SKIPINVIOCEUPDATE - Ignore l'envoi du document lorsqu'il est mis àjour mais que le statut n'est pas changé.

3. SETSTATUSIFACE - Définit la valeur de la zone STATUSIFACE sur 0(false) pour toutes les valeurs de statut, à l'exception de celles répertoriéesdans la commande IVSEND.

4. CHECKSTATUS – Envoie uniquement les données d'en-tête de facture si lestatut change et que le nouveau statut n'est pas dans la commandeIVSEND. (Dans ce cas, le document complet a été envoyé précédemment etl'envoi actuel concerne uniquement la notification de changement destatut).

Commandes d'intégration IVSEND

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Intégration de données à des applications externes 85

Page 94: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 10. Composants prédéfinis des objets Facture pour le traitement d'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe detraitement de la structure d'objet

Le traitement d'événement entrant crée et met à jour les lignes INVOICECOSTuniquement si une des conditions suivantes est remplie :

v La ligne de facture ne référence pas de ligne de bon de commande.

v La ligne de bon de commande correspondante n'a pas de distribution.

v La ligne de bon de commande ne fait pas référence à un magasin.

Dans tous les autres cas, le traitement d'événement entrant ignore lesinformations INVOICECOST lors de la création ou de la mise à jour de lafacture.

Si le message entrant fournit INVOICETERMS, le traitement d'événemententrant supprime les anciens termes et ajoute les nouveaux.

Les utilisateurs peuvent spécifier facultativement un écart de prix dans la zonePRICEVAR de chaque ligne de facture si la mise en correspondance de factureest effectuée dans le système externe et si les écarts de prix déterminés dans cesystème sont envoyés pour créer des transactions d'écart destinées à mettre àjour les interventions et magasins. Pour traiter ces écarts, une valeur doitexister pour OWNERSYSID dans la facture entrante et doit être différente decelle de MAXVARS.MXSYSID.

Les utilisateurs peuvent spécifier facultativement un écart de prix dans la zonePRICEVAR de chaque ligne de facture si la mise en correspondance de factureest effectuée dans le système externe et si les écarts de prix déterminés dans cesystème sont envoyés pour créer des transactions d'écart destinées à mettre àjour les interventions et magasins. Pour traiter ces écarts, une valeur doitexister pour OWNERSYSID dans la facture entrante et doit être différente decelle de MAXVARS.MXSYSID.

Le dispositif de collaboration IVMATCH requiert les valeurs suivantes :

v La valeur OWNER1SYSID est toujours "THISMX".

v La valeur OWNER2SYSID est la valeur de INVOICE.OWNERSYSID.

Si l'évaluation est fausse, les écarts de facture de niveau ligne sont ignoréesdans le traitement de la facture.

Voici les scénarios typiques pour l'utilisation de l'interface de facture :

v Correspondance Rapprochement des factures dans le système (fournisseursortant) : les factures reçues de tiers, sous forme électronique ou manuelle,sont traitées par le système. C'est-à-dire qu'elles sont mises encorrespondance avec les réceptions, le cas échéant, avant d'être approuvées.Les calendriers de paiement créés dans le système peuvent égalementprovoquer la création de des factures approuvées en fonction du calendrier.Ces factures approuvées entraînent l'envoi de conseils de paiement à unsystème de fournisseur externe. Le processus de correspondance entraîneégalement l'imputation d'entrées comptables dans le grand livre.

v Correspondance de factures dans un système externe (écarts entrants) : lesystème n'effectue pas la facturation mais accepte les factures mises encorrespondance provenant de systèmes externes et applique les écarts auxinterventions, magasins, etc. respectifs. Les entrées comptables liées auxcomptes fournisseurs et/ou aux écarts doivent être enregistrées dans lesystème externe : elles ne sont pas envoyées.

L'intention principale de cette interface est de fournir au système lesinformations d'écart nécessaires pour la mise à jour des coûts d'intervention.

Canal de publication MXINVOICEInterface

86 Intégration de données à des applications externes

Page 95: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 10. Composants prédéfinis des objets Facture pour le traitement d'intégration entrant (suite)

Composants d'intégrationprédéfinis Valeur et description

Règles de traitement Aucun

Commandes d'intégration Aucun

Le tableau suivant présente un exemple de valeurs INVOICE.OWNERSYSIDpossibles, l'évaluation générée et le résultat par défaut de cette évaluation.

Tableau 11. Exemple d'évaluation

Valeur deINVOICE.OWNERSYSID Evaluation

Résultat (pardéfaut)

Valeur NULL OWNER1SYSID=”THISMX” et OWNER2SYSID=”THISMX” False

MXSYSID OWNER1SYSID=”THISMX” et OWNER2SYSID=”THISMX” False

EXTSYSID OWNER1SYSID=”THISMX” et OWNER2SYSID=”EXT” Vrai

Toute autre valeur OWNER1SYSID=”THISMX” et OWNER2SYSID=”EXT” Vrai

Règles de traitement sortant pour les interfaces d'intervention :

Contrairement aux interfaces de document d'achat, les interfaces de documentd'intervention n'ont pas de zone STATUSIFACE et n'envoient pas de notificationsde changement de statut. Une interface de document d'intervention est d'abordenvoyée lorsque le statut d'une intervention change en WOSTART et à chaque miseà jour ultérieure, indépendamment du statut de l'intervention.

Les utilisateurs peuvent configurer la valeur de départ dans la commandeWOSTART. Tout statut que vous spécifiez dans la commande est la valeur et nonMAXVALUE. Si plusieurs valeurs synonymes existent pour un statut, répertoriezles synonymes applicables.

Objet intervention :

La structure d'objet MXWO autorise la synchronisation bidirectionnelle desinformations d'intervention et prend en charge les changements de statut.

Objectif

Le système envoie pour la première fois une intervention lorsqu'elle atteint lestatut de la commande WOSTART, puis lors de toutes les mises à jour ultérieures.Le document d'intervention entier est toujours envoyé.

L'interface d'intervention contient toutes les informations définies par le systèmeconcernant l'intervention, mais ne fournit pas d'informations supplémentaires surles données de projet ou de contrôle financier, sur l'équipement et sur lesemplacements qui ne font pas partie de l'intervention standard. Si nécessaire, vouspouvez ajouter des informations supplémentaires via les zones utilisateur.

Le système traite les tâches d'intervention comme des interventions. Les deux ontdes propriétés similaires et sont stockées dans la même table. Si un utilisateur créeune intervention, ajoute des tâches ou des interventions enfant à l'intervention puisl'approuve, l'indicateur Hériter des changements de statut de l'interventionindique si l'approbation de l'intervention entraîne également l'approbation de

Intégration de données à des applications externes 87

Page 96: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

toutes les tâches/interventions enfant de cette intervention. La valeur par défautest Y, donc si une intervention est approuvée, toute tâche ou intervention enfantqui hérite de l'approbation du parent en fonction de cet indicateur est égalementapprouvée.

Le programme d'écoute d'événement sortant du MBO d'intervention reçoitplusieurs événements indépendants, un par intervention, qui sont traités puisenvoyés indépendamment. Par conséquent, une intervention avec trois tâches etdeux interventions enfants génère six interventions sortantes indépendantes.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 12. Composants prédéfinis de l'objet Intervention pour le traitement d'intégrationsortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede définition de la structured'objet

Aucun

Canal de publication MXWOInterface - Utilise des règles de traitement. Ledocument d'intervention complet n'est envoyé que pour unchangement de statut.

Règles de traitement SKIPWO - Ignore l'envoi du document si les deux conditionssuivantes sont remplies :

v Le document n'a pas encore été envoyé.

v Le nouveau statut n'est pas répertorié dans la commandeWOSTART.

Commandes d'intégration WOSTART

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Tableau 13. Composants prédéfinis de l'objet Intervention pour le traitement d'intégrationentrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede traitement de lastructure d'objet

StatefulMicSetIn - Classe générique qui prend en charge leschangements de statut.

Canal de publication MXWOInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

88 Intégration de données à des applications externes

Page 97: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objet détail d'intervention :

La structure d'objet MXWODETAIL autorise la synchronisation bidirectionnelle desinformations d'intervention, notamment le matériel, la main-d'oeuvre, les serviceset les outils planifiés.

Objectif

Le système envoie pour la première fois une intervention lorsqu'elle atteint lestatut de la commande WOSTART, puis lors de toutes les mises à jour ultérieures.Le document d'intervention entier est toujours envoyé.

La relation MBO utilisée pour extraire le MBO de réservation (INVRESERVE) estdifférente de celle utilisé dans l'application Suivi des interventions. Par conséquent,l'attribut modifié dans le message XML n'est pas défini pour les valeurs de ceMBO.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 14. Composants prédéfinis de l'objet détaillé Intervention pour le traitementd'intégration sortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede définition de la structured'objet

MoutWORsvProcess - Fournit le code requis pour mettre àjour la colonne sendersysid du MBO invreserve.

Canal de publication MXWODETAILInterface - Utilise des règles de traitement. Ledocument d'intervention complet avec les informations deplan n'est envoyé que pour les changements de statut.

Règles de traitement SKIPWO - Ignore l'envoi du document si les deux conditionssuivantes sont remplies :

v Le document n'a pas encore été envoyé.

v Le nouveau statut n'est pas répertorié dans la commandeWOSTART.

Commandes d'intégration WOSTART

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Tableau 15. Composants prédéfinis de l'objet détaillé Intervention pour le traitementd'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede traitement de lastructure d'objet

Aucun

Canal de publication Aucun

Règles de traitement Aucun

Intégration de données à des applications externes 89

Page 98: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 15. Composants prédéfinis de l'objet détaillé Intervention pour le traitementd'intégration entrant (suite)

Composants d'intégrationprédéfinis Valeur et description

Commandes d'intégration Aucun

Objet de structure hiérarchique d'interventions :

La structure d'objet MXWOHIER autorise la synchronisation bidirectionnelle desinformations d'intervention, y compris les interventions enfants, et prendégalement en charge les changements de statut. Le système envoie pour lapremière fois une intervention lorsqu'elle atteint le statut de la commandeWOSTART, puis lors de toutes les mises à jour ultérieures. Le documentd'intervention entier est toujours envoyé.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 16. Composants prédéfinis de l'objet de structure hiérarchique d'interventions pourle traitement d'intégration sortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede définition de la structured'objet

Aucun

Canal de publication MXWOHierInterface - Contient une classe de filtraged'événement, WOHierarchyEventFilter, qui empêche l'envoides MBO enfant lorsqu'ils sont envoyés via un MBO parent(si les MBO parent et enfant sont initiés par la même actiond'événement).

Règles de traitement SKIPWO - Ignore l'envoi du document si les deux conditionssuivantes sont remplies :

v Le document n'a pas encore été envoyé.

v Le nouveau statut n'est pas répertorié dans la commandeWOSTART.

Commandes d'intégration WOSTART

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Tableau 17. Composants prédéfinis de l'objet de structure hiérarchique d'interventions pourle traitement d'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classede traitement de lastructure d'objet

MaxWOHierarchyProcess - Prend en charge les changementsde statut et valide le traitement pour prendre en charge lechargement de plusieurs interventions associées dans un seulmessage.

90 Intégration de données à des applications externes

Page 99: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 17. Composants prédéfinis de l'objet de structure hiérarchique d'interventions pourle traitement d'intégration entrant (suite)

Composants d'intégrationprédéfinis Valeur et description

Canal de publication MXWOHierInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objets d'interface de transactionL'infrastructure d'intégration fournit une sélection de contenu d'intégrationprédéfini pour les objets d'interface de transaction, comme les reçus, transactionsdu grand livre, les rapports sur les heures de main-d'oeuvre et relevés decompteur.

Objet réceptions pour les matériaux et services :

La structure d'objet MXRECEIPT autorise la synchronisation bidirectionnelle desinformations de réception de bon de commande pour les réceptions de matériel etde services et prend également en charge les changements de statut. La structured'objet utilise un objet non persistant pour prendre en charge les réceptions dematériel (MATRECTRANS) et de services (SERVRECTRANS).

Objectif

Dans la direction sortante, cette structure d'objet traite les réceptions de bon decommande, les transferts (déplacements par rapport aux réceptions ou réceptionspar rapport aux bons de commande internes) et les retours (retours auxfournisseurs après l'inspection des réceptions ou après l'acceptation et ledéplacement des marchandises depuis l'emplacement de retenue pour inspection).

Pour les réceptions nécessitant une inspection, la zone définie par l'utilisateurINSPECTED indique si la ligne de réception a été inspectée dans le systèmeinterne. L'interface ne traite pas les transferts indépendamment : chaque transfertest associé à un reçu.

Vous n'avez pas besoin de spécifier si une réception entrante est une réception dematériel ou de service. Le processus d'intégration utilise POLINE pour effectuer ladétermination.

Toutes les quantités, y compris les quantités retournées, doivent être positives.

Les deux types d'enregistrement de transfert sont identifiables par les valeurssuivantes dans la zone RECEIPTREFID :v Null : une réception par rapport à un bon de commande internev Non Null : déplacement par rapport à une réception.

Ne spécifiez pas de valeur RECEIPTFREF pour les retours. Les retours sont traitésindépendamment de la réception correspondante.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Intégration de données à des applications externes 91

Page 100: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 18. Composants prédéfinis des objets Réceptions pour le traitement d'intégration sortant

Composantsd'intégrationprédéfinis Valeur et description

Fonctionnalité de laclasse de définition dela structure d'objet

MoutProcess - Traite les réceptions avec le type de sortie RECEIPT ou RETURN. Si aucuntype n'est spécifié, la réception est traitée comme RECEIPT.

Le traitement pour le type RECEIPT et Inspection Required = N :

Réceptions de matériel et de services :

v Utilise la valeur RECEIPTQUANTITY entrante (pour les réceptions de matériel) ouQTYTORECEIVE (pour les réceptions de services) afin de créer la réception.

v Mappe la zone REJECTEDQTY sur REJECTEDQTY dans la réception.

v Ignore toutes les autres quantités.

v Ne tient pas compte de la zone INSPECTED.

Réceptions de matériel (enregistrements MATRECTRANS) :

v Envoie uniquement les enregistrements de type RECEIPT et RETURN ainsi que lesenregistrements de type TRANSFER contenant un PONUM (pas un transfert demagasin). Envoie uniquement les nouvelles réceptions et non les mises à jour deréceptions existantes.

Réceptions de service (enregistrements SERVRECTRANS) :

v Envoie les enregistrements de type RECEIPT et RETURN. Envoie les nouvellesréceptions et les mises à jour de réceptions existantes.

Canal de publication MXRECEIPTInterface

Règles de traitement Réceptions de service :

Envoie des enregistrements lorsque le statut est égal à la valeur dans la commandeSERVRECSTAT (COMP par défaut). Cela se produit dans les conditions suivantes :

v Un enregistrement qui ne requiert pas d'inspection est inséré.

v Un enregistrement existant est mis à jour dans la base de données et la zone de statut estchangée en COMP.

Commandesd'intégration

La commande SERVRECSTAT identifie tous les statuts auxquels le système enverra destransactions de réception de service. Elle peut avoir plusieurs valeurs. La valeur par défautest COMP.

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

92 Intégration de données à des applications externes

Page 101: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 19. Composants prédéfinis des objets Réceptions pour le traitement d'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe detraitement de la structure d'objet

MaxRCVProcess -

Le traitement pour le type RECEIPT et Inspection Required = Y :

Réceptions de matériel :

INSPECTED = N:

v Utilise uniquement la zone RECEIPTQUANTITY entrante pour créer laréception : ignore les valeurs de quantités acceptées et rejetées.

v Crée une réception avec STATUS = WINSP (en attente d'inspection) et laquantité dérivée de RECEIPTQUANTITY.

INSPECTED = Y:

v Utilise les zones RECEIPTQUANTITY, ACCEPTEDQTY et REJECTEDQTYpour créer la réception.

v N'autorise pas les inspections ou acceptations partielles.RECEIPTQUANTITY doit être égal à ACCEPTEDQTY + REJECTEDQTY.

v Crée une réception avec STATUS = WASSET (s'il s'agit d'un actif tournant)ou COMP (tous les autres articles).

v En fonction des quantités spécifiées, peut créer jusqu'à trois transactions :une RECEIPT, un TRANSFER et un RETURN.

Réceptions de service :

INSPECTED = N:

v Utilise la valeur AMTTORECEIVE entrante (si la quantité commandée dePOLINE est nulle) ou QTYTORECEIVE (dans les autres cas) pour créer uneréception. Ignore toutes les autres valeurs de quantité.

v Crée une réception avec STATUS = WINSP (en attente d'inspection) et laquantité dérivée de QTYTORECEIVE.

INSPECTED = Y:

v Utilise les zones QTYTORECEIVE, ACCEPTEDQTY et REJECTEDQTY pourcréer une réception.

v N'autorise pas les inspections ou acceptations partielles. QTYTORECEIVEdoit être égal à ACCEPTEDQTY + REJECTEDQTY.

v Crée une seule transaction de type RECEIPT avec STATUS = COMP.

Traitement pour le type de sortie RETURN :

Réceptions de matériel et de services :

v Accepte les transactions de retour pour un POLINE uniquement s'il existaitune réception antérieure pour la même ligne. Si Inspection Required = Ypour la POLINE, la réception doit avoir été approuvée. Sinon, une erreur estsignalée.

v Utilise uniquement la zone RECEIPTQUANTITY (pour les réceptions dematériel) ou QTYTORECEIVE (pour les réceptions de service) entrante pourcréer la réception. Ignore toutes les autres valeurs de quantité.

v Crée une transaction unique avec le type de sortie RETURN et le compteGLG crédit en tant que compte RBNI.

Canal de publication MXRECEIPTInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Intégration de données à des applications externes 93

Page 102: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objet réception de matériel et d'article tournant :

La structure d'objet MXRCVROTITM permet la synchronisation entrante desinformations de réception pour les articles, y compris les articles tournants.

Objectif

Cette structure d'objet prend uniquement en charge le traitement d'événementsentrants.

Cette interface ne vous permet pas de spécifier un statut pour la réception : lestatut est toujours supposé être COMP.

Cette interface est différente de MXRECEIPTInterface car elle traite exclusivementles réceptions de matériel et vous permet d'identifier les actifs tournants sérialisés àcréer en cas de réceptions d'articles tournants.

Vous pouvez recevoir des articles tournants avec ou sans numéro d'actif. Si vousles recevez sans numéro d'actif, vous devez spécifier manuellement les numérosd'actif à l'aide de la boîte de dialogue Réceptionner des articles tournants dansl'application Purchasing Receiving (Réception des achats).

Pour les articles tournants, le nombre de transactions entrantes est supérieur aunombre d'articles tournants. Il existe une transaction pour la quantité totaleréceptionnée et une transaction pour chaque article tournant associé à la réception.Par exemple, pour une réception de dix articles tournants, onze transactions sonteffectuées.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 20. Composants prédéfinis de l'objet Réception de matériel et d'article tournant pour le traitementd'intégration sortant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe dedéfinition de la structure d'objet

Aucun

Canal de publication Aucun

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

94 Intégration de données à des applications externes

Page 103: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 21. Composants prédéfinis de l'objet Réception de matériel et d'article tournant pour le traitementd'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe detraitement de la structure d'objet

MaxRcvRotItmMProcess - Signale une erreur si la ligne de bon de commandetraitée a LINETYPE = SERVICE oo STDSERVICE.

Le traitement est identique à la fonctionnalité de classe de traitement de pointd'intégration entrant pour les réceptions de matériel à l'aide deMXRECEIPTInterface, avec le traitement supplémentaire suivant :

v Réceptions : si la ligne article est un article tournant et que InspectionRequired = N, ou INSPECTED = Y, le traitement recherche les informationsd'actif qui correspondent à l'article fourni dans l'interface. Si lesinformations sont disponibles, le traitement valide le nombred'enregistrements d'actifs pour garantir qu'il est égal à la valeur deRECEIPTQTY ou ACCETPTEDQTY (en fonction de la valeur quis'applique). Dans ce cas, il appelle la fonctionnalité de réception et crée unactif, en fonction des besoins.

v Retours : si l'article renvoyé est un article tournant, il ignore lesinformations d'actif.

Dans le système, le retour d'un article de type tournant n'affecte pas les actifscréés par la réception initiale. Les enregistrements d'actif restent inchangés :seul les soldes d'articles sont mis à jour (le cas échéant).

Canal de publication MXRCVROTITMInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet grand livre (GL) :

La structure d'objet MXGLTXN permet la synchronisation sortante des données deGL. Cette interface permet d'imputer des transactions de niveau site à uneapplications de grand livre externe pour le rapprochement comptable.

Objectif

Cette interface utilise un MBO non persistant avec des données provenant dessous-enregistrements suivants :v SERVRECTRANSv MATRECTRANSv INVTRANSv INVOICETRANSv MATUSETRANSv LABTRANSv TOOLSTRANS

La classe de filtre d'événement, GLEventFilter, est utilisée pour définir lesévénements sur les objets persistants applicables répertoriés.

La zone SOURECEMBO identifie la table de base de données à l'origine de latransaction. Cette valeur est dérivée du domaine synonyme GLSOURCEMBO.

Intégration de données à des applications externes 95

Page 104: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 22. Composants prédéfinis de l'objet Grand livre pour le traitement d'intégration sortant

Composantsd'intégrationprédéfinis Valeur Description

Fonctionnalité dela classe dedéfinition de lastructure d'objet

MoutGLProcess -Réceptions deservices

Les réceptions de services incluent les entrées suivantes :

v Entrées comptables pour les réceptions de services non ventilées créées parl'application Réceptions pour les services commandés sur les bons de commande(ISSUETYPE = RECEIPT, COSTINFO=1)

v Entrées comptables pour les réceptions de services ventilées créées par l'applicationRéceptions pour les services commandés sur les bons de commande (ISSUETYPE =POCOST)

v Entrées comptables pour les services du bon de commande avec Receipt Required =N, directement facturés au lieu d'être reçus (ISSUETYPE = INVOICE)

v Entrées comptables pour les services qui ne sont pas associés à des bons decommande et sont facturés directement (ISSUETYPE = INVOICE)

v Transactions d'écart de facture enregistrées par rapport à des réceptions de service(ISSUETYPE = INVOICE)

Traitement des réceptions de service (SERVRECTRANS) :

v Définit SOURCEMBO sur SERVRECTRANS et ISSUETYPE sur la valeur répertoriée.

v Transactions de type INVOICE : envoyées à l'insertion.

v Transactions de type POCOST et RECEIPT : si Inspection Required = N pour laPOLINE correspondante, envoi à l'insertion. Si inspection required = Y, envoi lorsd'un changement de statut en COMP.

96 Intégration de données à des applications externes

Page 105: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 22. Composants prédéfinis de l'objet Grand livre pour le traitement d'intégration sortant (suite)

Composantsd'intégrationprédéfinis Valeur Description

MoutGLProcess -Réceptions dematériel

les réceptions de matériel incluent les éléments suivants :

v Entrées comptables pour les réceptions de matériel non ventilées créées parl'application Réceptions pour les articles/outils commandés sur les bons decommande (ISSUETYPE = RECEIPT, COSTINFO=1)

v Entrées comptables pour les réceptions de matériel ventilées créées par l'applicationRéceptions pour les articles/outils commandés sur les bons de commande(ISSUETYPE = POCOST)

v Entrées comptables pour les transferts d'articles entre magasins (ISSUETYPE =TRANSFER et PONUM=NULL)

v Entrées comptables pour les transferts d'inspection de réception d'articles entre lemagasin d'inspection de réception et le magasin de ligne du bon de commande(ISSUETYPE = TRANSFER et RECEIPTREF!=NULL and PONUM!=NULL)

v Entrées comptables pour les réceptions par rapport aux bons de commande internes(ISSUETYPE = TRANSFER et RECEIPTREF=NULL and PONUM!=NULL)

v Entrées comptables pour le retour de marchandises d'inspection de réceptionconcernant les articles et matériaux (ISSUETYPE = RETURN)

v Entrées comptables pour le retour au fournisseur depuis un magasin ou des lignes debons de commande de sortie directe (ISSUETYPE = RETURN)

v Transactions d'écart de facture enregistrées par rapport à des réceptions de matériel(ISSUETYPE = INVOICE)

v Transaction comptable pour augmenter la valeur de contrôle INVENTORY de l'articlede kit lorsque des kits sont créés (ISSUETYPE = KITMAKE). Transactionsd'augmentation du compte de contrôle INVENTORY pour chaque article quiconstitue le kit lorsque ce dernier est dissocié (ISSUETYPE = KITBREAK)

Traitement des réceptions de matériel (MATRECTRANS) :

v Définit SOURCEMBO sur MATRECTRANS et ISSUETYPE sur la valeur répertoriée.

v Envoie les transactions de type INVOICE, RECEIPT, TRANSFER, RETURN,KITMAKE et KITBREAK à l'insertion.

v Pour les transactions de type POCOST sur insertion, si le statut est COMP(c'est-à-dire sur insertion si Inspection Required = N, et si le statut a changé surCOMP si Inspection Required = Y).

MoutGLProcess -Transactionsd'ajustement destock

Les transactions d'ajustement de stock incluent les éléments suivants :

v Ajustements des soldes actuels de stock (ITTYPE = CURBALADJ)

v Ajustements du coût moyen/standard du stock (ITTYPE = STDCOSTADJ/AVGCOSTADJ)

v La différence de coût lorsqu'un kit est désassemblé et qu'il existe une différence entrela valeur du kit et la somme des valeurs des composants du kit (ITTTYPE =KITCOSTVAR)

v Rapprochement de l'inventaire physique (ITTYPE = RECBALADJ)

v Ajustement des coûts immobilisés (ITTYPE = CAPCSTADJ)

v Ajustement des coûts standard de réception (ITTYPE = STDRECADJ)

Traitement de l'ajustement de stock (INVTRANS) :

v Définit SOURCEMBO sur INVTRANS et ITTYPE sur la valeur répertoriée.

v N'envoie pas de transactions avec ITTTYPE = INSERTITEM, CREATEASSET etPHYSCNT, car elles sont considérées comme des enregistrements d'audit au lieu detransactions comptables.

v Envoie toutes les transactions d'objet à l'insertion.

Intégration de données à des applications externes 97

Page 106: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 22. Composants prédéfinis de l'objet Grand livre pour le traitement d'intégration sortant (suite)

Composantsd'intégrationprédéfinis Valeur Description

MoutGLProcess -Transactions defactures

Les transactions de facture incluent les transactions suivantes créées par approbation defacture :

v TOTAL facturé pour la transaction (montant payable au fournisseur de la facture,TRANSTYPE = TOTAL)

v Transactions de taxe de la ligne de facture (comptabilisation des taxes pour chaquecode TAX pour une ligne de facture, TRANSTYPE = TAX1:TAX5)

v Transaction d'écart de devise de facture (TRANSTYPE = CURVAR)

v Transactions d'écart de prix de facture (TRANSTYPE = INVCEVAR)

Traitement des transactions de facture (INVTRANS) :

v Définit SOURCEMBO sur INVOICETRANS et TRANSTYPE sur la valeur répertoriée.

v Envoie toutes les transactions lorsqu'elles sont créées.

MoutGLProcess -Transactions desorties et de retoursde matériel

Les transactions de sorties et de réceptions de matériel incluent les éléments suivants :

v Entrées comptables pour les articles sortis d'un magasin dans le système (ISSUETYPE= ISSUE)

v Entrées comptables pour les articles renvoyés dans un magasin (ISSUETYPE =RETURN)

Traitement des sorties et retours de matériel (MATUSETRANS) :

v Définit SOURCEMBO sur MATUSETRANS et ISSUETYPE sur la valeur répertoriée.

v N'envoie pas de transactions de sortie directe créées par les écarts defactures/réceptions de bon de commande dans MATUSETRANS, car elles sontcomptabilisées dans MATRECTRANS. Identifie ces transactions par leur PONUM,pour que toutes les transactions MATUSETRANS ayant une référence de bon cecommande ne soient pas envoyées par cette interface.

v Envoie toutes les autres transactions au moment de leur création.

MoutGLProcess -Transactions demain-d'oeuvre

Traitement de la transaction de main-d'oeuvre (LABRTRANS) :

v Définit SOURCEMBO sur LABTRANS.

v Si aucune approbation n'est requise, envoie les valeurs réelles de main-d'oeuvre parrapport aux interventions lors de l'insertion.

v Si l'approbation est requise, envoie une transaction après son approbation (lorsqueGENAPPSERVRECEIPT est Y).

MoutGLProcess -Transactions d'outil

Traitement des transactions d'outil (TOOLTRANS) :

v Définit SOURCEMBO sur TOOLTRANS.

v Envoie l'utilisation des outils sur les interventions lors de la création de TOOLTRANS

Canal depublication

MXGLTXNInterface

Règles detraitement

SKIPGL Ignore l'envoi de la transaction de grand livre en fonction de la valeur dans leSOURCEMBO de la commande GLSOURCE.

Commandesd'intégration

GLSOURCE

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

98 Intégration de données à des applications externes

Page 107: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 23. Composants prédéfinis de l'objet Grand livre pour le traitement d'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe detraitement de la structure d'objet

Aucune

Canal de publication Aucune

Règles de traitement Aucune

Commandes d'intégration Aucune

Objet génération de rapport de temps de travail :

La structure d'objet MXEMPACT autorise l'imputation de la valeur réelle de duréeau niveau site, rapportée dans le système vers les application externes. Les valeursréelles de main-d'oeuvre approuvées sont envoyées et toutes les valeurs réelles demain-d'oeuvre entrantes sont acceptées indépendamment de leur statut. Le statutdes enregistrements existants n'est pas mis à jour lors du traitement destransactions entrantes.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 24. Composants prédéfinis de l'objet Génération de rapport de temps de travail pour le traitementd'intégration sortant

Composantsd'intégrationprédéfinis Valeur et description

Fonctionnalité de laclasse de définition dela structure d'objet

Aucun

Canal de publication MXEMPACTInterface

Règles de traitement SKIPEMPACT - Ignore l'envoie de la paye de la main-d'oeuvre (LABTRANS) si latransaction n'est pas approuvée (GENAPPRSERVRECEIPT = 0).

Commandesd'intégration

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Tableau 25. Composants prédéfinis de l'objet Génération de rapport de temps de travail pour le traitementd'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe detraitement de la structure d'objet

MaxEmpactProcess - Autorise uniquement les actions d'ajout. Une action nullest traitée comme action add. LABTRANSID n'est pas autorisé à être transmisavec une valeur car LABTRANSID est généré par le programme pendantl'action add.

Canal de publication MXEMPACTInterface

Intégration de données à des applications externes 99

Page 108: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 25. Composants prédéfinis de l'objet Génération de rapport de temps de travail pour le traitementd'intégration entrant (suite)

Composants d'intégrationprédéfinis Valeur et description

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet relevé de compteur :

La structure d'objet MXMETERDATA permet la synchronisation entrante desdonnées de relevé de compteur. Cette structure d'objet prend uniquement encharge le traitement d'événements entrants. Cette interface ne prend pas en chargele traitement des relevés de compteur pour les tâches d'interventions.

Traitement d'intégration sortant

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Tableau 26. Composants prédéfinis de l'objet Relevé de compteur pour le traitement d'intégration sortant

Composantsd'intégrationprédéfinis Valeur et description

Fonctionnalité de laclasse de définition dela structure d'objet

Aucun

Canal de publication Aucun

Règles de traitement Aucun

Commandesd'intégration

Aucun

Traitement d'intégration entrant

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

100 Intégration de données à des applications externes

Page 109: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 27. Composants prédéfinis de l'objet Relevé de compteur pour le traitement d'intégration entrant

Composants d'intégrationprédéfinis Valeur et description

Fonctionnalité de la classe detraitement de la structure d'objet

MaxMeterDataProcess - La classe de traitement vérifie que les attributssuivants sont fournis :

v ID Site

v Actif ou emplacement

v ID compteur ou points de surveillance de condition

v Valeur du relevé de compteur, date et heure du relevé, inspecteur

Lorsqu'une intervention est spécifiée, le traitement suivant est effectué :

v Si un point de mesure est spécifié, la classe de traitement identifie lecompteur d'actif ou d'emplacement correspondant au site et au point demesure et crée un relevé pour ce compteur.

v Si un compteur est spécifié, l'actif ou l'emplacement doit également êtrespécifié. Si les deux sont spécifiés, la classe de traitement suppose que lecompteur appartient à l'actif et le traite de la manière appropriée. Si seull'actif ou l'emplacement est spécifié, le compteur de l'entité correspondanteest mis à jour.

Si aucune une intervention n'est spécifiée, le traitement suivant est effectué :

v Si un point de mesure est spécifié, le relevé est enregistré pour le point demesure.

v Si un compteur est spécifié, l'actif ou l'emplacement doit également êtrespécifié. Si les deux sont spécifiés, la classe de traitement suppose que lecompteur appartient à l'actif et le traite de la manière appropriée. Si seull'actif ou l'emplacement est spécifié, le compteur de l'entité correspondanteest mis à jour.

Canal de publication MXMETERInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Objets systèmeLes objets système sont des MBO généralement utilisés pour la configuration del'application ou des métadonnées. La mise à jour des données à l'aide des objetssystème peut nécessiter des activités post-traitement spécifiques, par exemple lareconfiguration de la base de données.

Les restrictions suivantes s'appliquent à l'utilisation de services d'entreprise, decanaux de publication et de structures d'objet :v Vous ne pouvez pas activer de programme d'écoute pour les canaux de

publication.v Vous ne pouvez pas traiter d'interface système via des tables d'interface ou des

fichiers à plat.v Vous devez spécifier un code d'action sur les interfaces système entrantes.

Objet structures d'objet :

La structure d'objet MXINTOBJECT permet la synchronisation entrante de ladéfinition de structures d'objet, y compris les alias de colonne. Les validationssystème qui s'appliquent aux utilisateurs qui ajoutent, suppriment et modifient desstructures d'objet prédéfinies s'appliquent à la modification de structures d'objetvia le service de structure d'objet Structure d'objet.

Intégration de données à des applications externes 101

Page 110: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet service d'entreprise :

La structure d'objet MXENTSRV permet la synchronisation entrante de la définitiondes services d'entreprise et des règles de traitement et valeurs de contrôlecorrespondantes.

Condition requise

Avant la création du service d'entreprise, assurez-vous que toutes les commandesutilisées par le service d'entreprise existent.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

102 Intégration de données à des applications externes

Page 111: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet canal de publication :

La structure d'objet MXIFACEOUT permet la synchronisation entrante de ladéfinition des canaux de publication et des règles de traitement et valeurs decontrôle correspondantes. Avant la création du canal de publication, assurez-vousque toutes les commandes utilisées par le canal de publication existent.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet point de terminaison :

La structure d'objet MXENDPOINT permet la synchronisation entrante de ladéfinition des points de terminaison.

Intégration de données à des applications externes 103

Page 112: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Condition requise

Avant la création des points de terminaison, assurez-vous que les gestionnairesutilisées par ces points de terminaison existent.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet système externe :

La structure d'objet MXEXTSYSTEM permet la synchronisation entrante de ladéfinition d'un système externe, des services d'entreprise et des canaux depublications utilisés par le service externe, ainsi que leurs valeurs de contrôlecorrespondantes.

Condition requise

Avant la création du système externe, assurez-vous que tous les servicesd'entreprise, canaux de publication, points de terminaison et commandes utiliséspar le système externe existent.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

104 Intégration de données à des applications externes

Page 113: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet commande d'intégration :

La structure d'objet MXIFACECONTROL permet la synchronisation entrante descommandes d'intégration et de leurs valeurs par défaut de niveau système.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet canal d'appel :

La structure d'objet MXFACEINVOKE permet la synchronisation entrante d'unedéfinition de canal d'appel.

Intégration de données à des applications externes 105

Page 114: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet file d'attente d'intégration :

La structure d'objet MXQUEUE permet la synchronisation entrante des définitionsde file d'attente d'intégration.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

106 Intégration de données à des applications externes

Page 115: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet définition de message :

La structure d'objet MXMESSAGE permet la synchronisation entrante des messagessystème d'erreur et d'avertissement.

Condition requise

En plus des nouveaux messages ajoutés via cette structure d'objet, le fichiermessages.xml doit être mis à jour avec le texte de message correspondant.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet de configuration MBO :

La structure d'objet MXOBJECTCFG permet la synchronisation entrante desinformations de définition du MBO.

Condition requise

Utilisez cette structure d'objet prudemment.

Intégration de données à des applications externes 107

Page 116: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Utilisez uniquement les codes d'action add, addchange ou change lors de lasynchronisation de données entrantes via cette structure d'objet. N'utilisez pasl'action replace, sauf si vous remplacez entièrement les données MAXOBJECTCFGet MAXATTRIBUTECFG.

L'action delete présente le risque de supprimer des enregistrements prédéfinis dansles tables de base de données associées aux MBO MAXOBJECTCFG etMAXATTRIBUTECFG.

Il existe une restriction de paramètres entrants sur les colonnes CHANGED,EAUDITENABLED, EAUDITFILTER, EAUDITTBNAME, IMPORTED,STORAGEPARTITION et MAXOBJECTID. La valeur XML n'est donc pas définiesur le MBO.

Après la synchronisation des données entrantes avec cette interface et pour quevos changements entrent en vigueur, utilisez l'application Configuration de base dedonnées et sélectionnez l'action Appliquer les modifications de configuration.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

psdi.iface.app.configure.MaxObjcfgProcess -

Si MAXOBJECTCFG crée une vue(MAXOBJECTCFG.VIEW=1), la classe detraitement ignore tout MBOMAXATTRIBUTECFG associé auMAXOBJECTCFG indiqué.

Cette classe retarde également la validationSAVE sur MAXOBJECTCFG jusqu'à ce quetous les attributs associés soient ajoutés dansla base de données.

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

108 Intégration de données à des applications externes

Page 117: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objet domaine :

La structure d'objet MXDOMAIN permet la synchronisation entrante desinformations de domaine.

Objectif

Certaines zones de la base de données sont associées à des listes de sélection devaleurs. Ces listes de valeurs définies sont appelées domaines (et parfois listes devaleurs).

Cette structure d'objet synchronise les définitions de domaine ALN, numérique,plage numérique, table et domaine croisé.

Condition requise

Les opérations de mise à jour et de suppression requièrent que les systèmesexternes fournissent des valeurs DOMAINID valides.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet modèle de communication :

La structure d'objet MXCTEMPLATE autorise la synchronisation bidirectionnelledes modèles de communication que les utilisateurs peuvent optimiser pourstandardiser les communications et notifications par courrier électroniquefréquemment utilisées.

Intégration de données à des applications externes 109

Page 118: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objectif

Un modèle de communication est une définition d'un message électronique avecdes informations sur l'objet, le message et le destinataire, qui est traité lorsquecertains noeuds deviennent actifs ou le long de chemins d'acheminement de fluxde travaux entre noeuds spécifiés.

Cette structure d'objet synchronise les valeurs d'application, de statut dechangement, de classe personnalisée, de ligne de commande et d'action dedéfinition de valeur, mais aucun groupe d'actions.

Condition requise

Les opérations de mise à jour et de suppression requièrent que les systèmesexternes fournissent une valeur ACTIONID valide.

Cette structure d'objet ne prend pas en charge la création de groupes d'action.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication MXCTEMPLATEInterface

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet de définition d'action :

La structure d'objet MXACTION autorise la synchronisation entrante desdéfinitions d'action de flux de travaux qui peuvent être utilisées avec une escalade,un accord sur les niveaux de service et des processus de flux de travaux.

110 Intégration de données à des applications externes

Page 119: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objectif

Une action est un événement que vous souhaitez que le système déclenche lorsqu'ilrencontre des enregistrements répondant aux conditions définies par un pointd'escalade, un accord sur les niveaux de service ou un processus de flux detravaux.

Cette structure d'objet synchronise les valeurs d'application, de statut dechangement, de classe personnalisée, de ligne de commande et de définition devaleur, mais aucun groupe d'actions.

Condition requise

Les opérations de mise à jour et de suppression requièrent que les systèmesexternes fournissent une valeur ACTIONID valide.

Cette structure d'objet ne prend pas en charge la création de groupes d'action.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet propriétés système :

La structure d'objet MXPROP permet la synchronisation entrante des propriétés etdes valeurs système.

Intégration de données à des applications externes 111

Page 120: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Objectif

Condition requise

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet module d'intégration :

La structure d'objet MXIM permet la synchronisation entrante d'une définition demodule d'intégration, y compris les propriétés et les relations d'opérations degestion logique.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

112 Intégration de données à des applications externes

Page 121: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet Opération de gestion logique :

La structure d'objet MXLMO2 permet la synchronisation entrante des objets destructure logique qui incluent des attributs.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet produit de gestion opérationnelle :

La structure d'objet MXOMP permet la synchronisation entrante des produits degestion opérationnelle, y compris les relations avec les EC et les configurationsavec MI et des objets de gestion logique.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Intégration de données à des applications externes 113

Page 122: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Objet d'entrée de lancement :

La structure d'objet MXLAUNCH permet la synchronisation entrante des entréesde lancement et des informations de contexte.

Traitement des transactions d'intégration sortantes

Le tableau suivant présente les valeurs prédéfinies utilisées dans le traitementd'intégration sortante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de définition dela Structure d'objet

N/A

Canal de publication N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

Traitement des transactions d'intégration entrante

Le tableau suivant présente les valeurs préconfigurées utilisées dans le traitementd'intégration entrante.

Composants d'intégration prédéfinis Valeur et description

Fonctionnalité de la classe de traitement dela Structure d'objet

N/A

Service d'entreprise N/A

Règles de traitement Aucun

Commandes d'intégration Aucun

114 Intégration de données à des applications externes

Page 123: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Ordre de chargement des donnéesLorsque vous utilisez l'infrastructure d'intégration pour charger plusieursensembles de données dans la base de données d'application, vous devezconserver les dépendances pour que les données se chargent correctement. Utilisezla séquence suivante de structure d'objet prédéfinie comme un guide pourdéterminer l'ordre dans lequel charger les données.

Structures d'objetMXGLCOMPMXCOAMXVENDORMSTRMXVENDORMXPERSONMXPERUSERMXCRAFTMXLABORMXSTORELOCMXCLASSIFICATIONMXITEMMXINVENTORYMXINVBALMXINVVENDORMXSERVITEMMXPROJMXASSETMXWOMXWODETAILMXWOHIERMXINVRESMXEMPACTMXINVISSUEMXGLTXNMXTOOLITEMMXPCMXMETERDATAMXPRMXPOMXRECEIPTMXRCVROTITMMXINVOICE

Structures d'objet systèmeMXINTOBJECTMXIFACECONTROLMXENTSRVMXIFACEOUTMXENDPOINT

Intégration de données à des applications externes 115

Page 124: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

MXQUEUEMXEXTSYSTEMMXIFACEINVOKEMXIMMXLMO2MXOMPMXLAUNCHMXMESSAGEMXOBJECTCFGMXDOMAINMXCTEMPLATEMXACTIONMXPROP

Traitement des données d'intégrationVous pouvez configurer des composants d'intégration de différentes manières afinde répondre à vos exigences d'intégration. Vous pouvez les intégrer à plusieursapplications externes et chaque application exige une approche d'intégrationdifférente en fonction de la prise en charge de l'intégration offerte par cetteapplication.

Planification du traitement des données à intégrerAvant d'initier une transaction d'intégration, vous devez choisir les composantsd'intégration à utiliser. Vous devez également planifier la méthoded'implémentation de ces composants de manière à réussir l'intégration avec ladestination externe de votre intégration.

Les choix des composants que vous utilisez et la manière dont vous lesimplémentez sont souvent déterminés par l'application externe faisant l'objet del'intégration. Ces choix incluent les considérations suivantes :

Type de donnéesDéfinissez les données, par exemple : les données d'interventions etpersonnelles. Une fois les données définies, déterminez s'il existe desstructures d'objets prédéfinies prenant en charge chaque ensemble dedonnées ou si vous devez créer des structures d'objets supplémentaires.

DirectionPour chaque ensemble de données, indiquez quelle direction va êtreimplémentée par le scénario d'intégration, si des transactions sortantesvont être envoyées, si des transactions entrantes vont être reçues, ou lesdeux. La direction de l'intégration peut varier pour chaque ensemble dedonnées.

Echange de messagesCe facteur dépend des capacités de l'application externe et les optionspeuvent inclure l'intégration de données à l'aide de fichiers (XML ou àplat), l'appel de services Web et le postage XML sur HTTP. La méthoded'échange de données et la fréquence à laquelle elle se produit peuventvarier pour chaque ensemble de données.

PersonnalisationLors de l'échange de données, la personnalisation dans l'application est-elle

116 Intégration de données à des applications externes

Page 125: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

requise pour transformer le contenu d'un message ou pour appliquer desrègles métier d'intégration ? Si la personnalisation est requise, utilise-t-elleles fonctions de l'infrastructure d'intégration, telles que les classes d'exitJava, les scripts d'automatisation, les mappes XSL ou les règles detraitement, ou bien est-elle implémentée dans l'application externe ?

En fonction des réponses que vous donnerez à ces questions, vous aurez besoin dedifférents types de configuration d'API et de composants pouvant inclure :v Structures d'objetv Canaux de publication et canaux d'appelv Services d'entreprisev Services de structure d'objet, services d'entreprise et services standardv Services Webv API REST et OSLCv Systèmes externesv Points de terminaison

Traitement des données entrantesL'infrastructure d'intégration prend en charge le traitement asynchrone etsynchrone des messages d'intégration entrants avec les types de service suivants :objet, entreprise ou standard.

Pour le traitement asynchrone, le système externe établit et maintient uneconnexion jusqu'à ce que le message soit transmis dans une file d'attente JMS. Pourle traitement synchrone, le système externe établit et maintient une connexionjusqu'à ce que le traitement du message se termine.

Traitement asynchrone des messages entrantsLors du traitement asynchrone des messages entrants, une application externeappelle un service d'entreprise et maintient une connexion jusqu'à ce que lemessage soit sauvegardé dans une file d'attente JMS et que la connexion setermine. Si une erreur se produit lors de la sauvegarde du message dans la filed'attente, l'application externe est chargée d'effectuer une nouvelle tentative detraitement du message.

Le traitement asynchrone est géré par des files d'attente JMS séquentielles oucontinues. Le traitement dans une file d'attente séquentielle garantit l'ordre delivraison des messages, selon la règle du premier entré, premier sorti. Le traitementdans une file d'attente continue livre les messages dans un ordre quelconque.

Vous pouvez utiliser les services d'entreprise pour prendre en charge lestransactions suivantes :v Importation des données d'un fichier à plat ou d'un fichier XMLv Chargement des données à partir de tables d'interfacev Réception d'un message XML venant d'une requête HTTP POSTv Appel d'un service Web configuré pour utiliser une file d'attente JMSv Appel d'un EJBv Utilisation d'une connexion JMS directe

Toutes ces options prennent en charge l'utilisation d'un service d'entreprise lorsquele message d'intégration est transmis à une file d'attente JMS. Lorsque le messagese trouve dans la file d'attente, un processus séparé utilisant une tâche périodique

Intégration de données à des applications externes 117

Page 126: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ou un bean géré par message (MDB) extrait le message de la file d'attente. Lemessage est ensuite traité dans la couche du service d'entreprise, la couche destructure d'objet associée et les objets métier sont mis à jour. Vu que les messagessont traités via une file d'attente JMS, aucune réponse n'est envoyée à l'applicationayant appelé le service et l'opération de requête n'est pas prise en charge dans cemodèle de traitement.

Traitement synchrone des messages entrantsVous pouvez mettre en oeuvre une intégration entrante synchrone avec unestructure d'objet, un service d'entreprise ou un service standard. Ces transactionsnécessitent l'établissement et la maintenance d'une connexion directe del'application à l'infrastructure d'intégration pour la durée de la transaction.

L'application externe maintient la connexion au service jusqu'à ce que les objetsmétier soient mis à jour dans la base de données Maximo ou jusqu'à ce que desobjets métier soient renvoyés en réponse à l'opération de requête. L'infrastructured'intégration renvoie une réponse à l'application externe pour confirmer la réussiteou l'échec du traitement du message.

Les options suivantes sont disponibles pour l'envoi de messages d'intégrationsynchrones aux services :v Publication d'un message XML via HTTPv Démarrage d'un service Web configuré pour ignorer la file d'attente JMSv Démarrage d'un EJB

La structure d'objet et les services d'entreprise peuvent utiliser une de ces optionspour prendre en charge les opérations Créer, Mettre à jour, Supprimer,Synchroniser et Interroger.

Vous pouvez également accéder aux structures d'objet d'intégration, aux servicesstandard et aux objets métier d'application à l'aide de l'interface de programmed'application REST ou OSLC REST.Concepts associés:«Interface de programme d'application REST», à la page 245L'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

Initiation du traitement asynchrone des données entrantesPour initier le traitement de l'intégration, le système externe utilise une desméthodes prises en charge pour établir une connexion. Une fois que le systèmeexterne et le service d'entreprise sont validés, les messages sont placés dans la filed'attente JMS spécifiée pour le service d'entreprise.

La procédure d'établissement de la connexion initiale dépend de la méthoded'intégration utilisée pour la transaction. Le tableau suivant décrit les méthodesdisponibles et les connexions utilisées par ces méthodes.

Méthode Procédure de connexion

Méthode HTTP ouHTTPS Post

Utilisez l'adresse URL suivante :

nom_hôte:port/meaweb/esqueue/nom_sys_ext/nom_serv_ent où :

v nom_sys_ext est le nom du système externe

v nom_serv_ent est le nom du service d'entreprise

118 Intégration de données à des applications externes

Page 127: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Méthode Procédure de connexion

EJB Démarrez un EJB à partir d'un client Java Platform, EnterpriseEdition à l'aide du code suivant :

public byte{} processExternalDataAsync(byte[] extData,String serviceName, String sender)

Sur le client, indiquez le nom JNDI de l'Enterprise JavaBean,ejb/maximo/remote/enterpriseservice, pour rechercher laréférence Enterprise JavaBean et démarrer la méthode. Lesconfigurations suivantes sont requises sur le client Java Platform,Enterprise Edition :

v Accès aux fichiers de classe Home et Remote

v Accès aux fichiers JAR Java Platform, Enterprise Edition pour leserveur

v Adresse URL du serveur hébergeant les Enterprise JavaBeans

v Nom de classe de la fabrique de contexte

Le code client doit instancier l'objet IntialContext par défaut. Lecontexte dérive l'URL fournisseur et la fabrique de contexte del'environnement.

Fonction d'importationdes données qui utiliseXML ou des fichiers àplat

L'utilisateur clique sur Importer les données dans uneapplication.

Tâche périodiqued'importation dedonnées

La tâche périodique XMLFILECONSUMER ouFLATFILECONSUMER interroge le répertoire source configurépour l'importation de données.

Tables d'interface Le système externe écrit les données de message dans les tablesd'interface appropriées et met à jour la table de file d'attenteMXIN_INTER_TRANS avec les informations concernant lesséquences de traitement des enregistrements de la tabled'interface.

Une tâche périodique interroge la table de file d'attenteMXIN_INTER_TRANS pour trouver les enregistrements à traiter.

Services Web Le système externe démarre un service d'entreprise qui estdéployé en tant que service Web configuré pour ne pas ignorer lafile d'attente JMS.

Directement dans lafile d'attente JMS

Le système externe place un message XML directement dans lafile d'attente JMS depuis un autre système de file d'attente, tel queWebSphere MQ.

Lorsqu'une connexion est établie, ou qu'une tâche périodique s'exécute et identifieque des données sont prêtes à être importées, la procédure est la suivante :1. L'infrastructure d'intégration vérifie que le système externe et le service

d'entreprise sont valides et autorisés.2. Si les messages sont au format fichier à plat, l'infrastructure d'intégration vérifie

que la structure d'objet prend en charge les structures à plat.3. Si la vérification échoue, l'infrastructure d'intégration notifie l'expéditeur de

l'erreur et ne traite pas les données.4. Si la vérification aboutit, l'infrastructure d'intégration identifie la file d'attente

JMS entrante affectée au service d'entreprise et écrit le message dans cette filed'attente.

Intégration de données à des applications externes 119

Page 128: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

5. L'infrastructure d'intégration met à jour l'en-tête de message JMS avec les nomsdu système externe et du service d'entreprise.

Si une transaction contenant plusieurs instances d'un même enregistrementrencontre des erreurs, le traitement de ces erreurs varie en fonction de la méthoded'échange utilisée. Le traitement d'erreurs est le suivant, selon le type d'échange :v Pour les transactions HTTP ou EJB uniquement : si une transaction contient

plusieurs instances d'un document, par exemple, si elle contient 10enregistrements de personnes, un seul message est écrit dans la file d'attenteJMS, et non 10 messages individuels. Si une erreur de traitement se produit pourun enregistrement, une exception de traitement de message complet est généréeet aucun enregistrement n'est validé dans la base de données.

v Pour les transactions d'importation de données uniquement : si une transactioncontient plusieurs instances d'un document, par exemple, s'il contient 10enregistrements de personnes, l'application écrit 10 messages individuels dans lafile d'attente JMS. Si l'un des messages contient une erreur de traitement, unetransaction d'erreur est consignée pour ce message et les 9 messages restantspoursuivent leur traitement dans l'application.

Lancement du traitement synchrone des données entrantesPour lancer le traitement synchrone, le système externe utilise une des méthodesprises en charge pour établir une connexion. Pendant le processus de connexion,l'infrastructure d'intégration vérifie que le système externe et le service d'entrepriseréférencé sont valides et activés.

La procédure pour établir la connexion initiale varie en fonction du service utilisépour la transaction. Le tableau suivant décrit les méthodes disponibles et lesconnexions utilisées par ces méthodes.

Méthode Procédure de connexion

Méthode HTTP ouHTTPS Post

v Utilisez l'adresse URL suivante pour les transactions utilisant unservice d'entreprise :

nom_hôte:port/meaweb/es/nom_sys_ext/nom serv_ent

Où :

– nom_sys_ext est le nom du système externe

– nom_serv_ent est le nom du service d'entreprise

v Utilisez l'adresse URL suivante pour les transactions utilisant unservice de structure d'objet :

nom_hôte:port/meaweb/os/nom_so

Où nom_so est le nom du service de structure d'objet.

v Utilisez l'adresse URL suivante pour les transactions utilisant unservice standard :

nom_hôte:port/meaweb/ss/nom_service_application

Où nom_service_application est le nom du service standard.

120 Intégration de données à des applications externes

Page 129: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Méthode Procédure de connexion

EJBv Pour les transactions du service d'entreprise, démarrez un EJB à

partir d'un client Java Platform, Enterprise Edition à l'aide ducode suivant :

public byte{} processExternalDataSync(byte[] extData,String serviceName, String sender)

Le client peut utiliser le nom JNDI de l'Enterprise JavaBean,ejb/maximo/remote/enterpriseservice, pour rechercher laréférence Enterprise JavaBean et démarrer la méthode. Lesconfigurations suivantes sont requises sur le client JavaPlatform, Enterprise Edition :

v Pour les transactions du service de structure d'objet, démarrezun EJB à partir d'un client Java Platform, Enterprise Edition àl'aide du code suivant :

public byte{} processMOS(byte[] reqmosData, StringmosName)

Le client peut utiliser le nom JNDI de l'Enterprise JavaBean,ejb/maximo/remote/mosservice, pour rechercher la référenceEnterprise JavaBean et démarrer la méthode. Les configurationssuivantes sont requises sur le client Java Platform, EnterpriseEdition :

v Pour les transactions du service de structure d'objet, démarrezun EJB à partir d'un client Java Platform, Enterprise Edition àl'aide du code suivant :

public byte{} action(byte[] actionData, StringmaxServiceName)

Le client peut utiliser le nom JNDI de l'Enterprise JavaBean,ejb/maximo/remote/actionservice, pour rechercher la référenceEnterprise JavaBean et démarrer la méthode. Les configurationssuivantes sont requises sur le client Java Platform, EnterpriseEdition :

Les configurations suivantes sont requises sur le client JavaPlatform, Enterprise Edition :

v Accès aux fichiers de classe Home et Remote

v Accès aux fichiers JAR Java Platform, Enterprise Edition pour leserveur

v Adresse URL du serveur hébergeant les Enterprise JavaBeans

v Nom de classe de la fabrique de contexte

Le code client doit instancier l'objet IntialContext par défaut. Lecontexte dérive l'URL fournisseur et la fabrique de contexte del'environnement.

service Web Utilisez l'adresse URL suivante pour les transactions démarrant unservice Web :

http://nom_hôte:port/meaweb/services/nom_service_web

où nom_service_web est le nom d'un service Web déployé.

Concepts associés:«Interface de programme d'application REST», à la page 245L'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

Intégration de données à des applications externes 121

Page 130: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Séquences de traitementLa même séquence de traitement est appliquée aux messages asynchrones etsynchrones qui utilisent un service d'entreprise. Les séquences de traitement sontdifférentes pour les messages synchrones qui utilisent la structure d'objets ou lesservices standard.

Séquences du traitement du service d'entreprise :

Un message de service d'entreprise procède au traitement de plusieurs couchespour interroger et mettre à jour les données d'objets métier. Vous pouvez utiliserces couches de traitement pour personnaliser et contrôler le traitement afin derépondre aux exigences d'intégration avec l'application externe.

Pour le traitement asynchrone, les données peuvent provenir des méthodesd'échange suivantes :v Tables d'interfacev HTTP Post d'un message XMLv Démarrage d'un service Web configuré pour utiliser une file d'attente JMSv Démarrage d'un EJBv Connexion JMS directev Importation de données d'un fichier à plat ou d'un fichier XML

Pour le traitement synchrone, les données peuvent provenir des méthodesd'échange suivantes :v HTTP Post d'un message XML (HTTP)v Démarrage d'un service Web configuré pour utiliser une file d'attente JMSv Démarrage d'un EJB

La séquence de traitement appliquée pour le traitement asynchrone et le traitementsynchrone est la même.

Le traitement du service d'entreprise se déroule dans l'ordre suivant :1. Le système externe appelle le service d'entreprise.2. Le traitement personnalisé peut avoir lieu à différents points lors du traitement

des services d'entreprise. Vous pouvez exécuter des classes Java personnaliséesou des scripts d'automatisation pour manipuler les données du message, ouappliquer une mappe XSL. Il se déroule dans l'ordre suivant :a. Si une méthode de prétraitement est définie dans une classe de sortie

utilisateur, elle est appliquée en premier.b. Si une classe d'exit externe est spécifiée, le traitement est appliqué.c. Si une méthode de post-traitement est définie dans une classe d'exit

utilisateur, elle est appliquée.d. Si une mappe XSL est spécifiée pour le service d'entreprise, la mappe est

appliquée pour convertir le format de service d'entreprise en format destructure d'objet.

A ce stade du traitement, le message doit correspondre au format de lastructure d'objet associée au service d'entreprise.

3. Le traitement de la structure d'objet se déroule dans l'ordre suivant :a. Vous pouvez exécuter des classes Java personnalisées ou des scripts

d'automatisation pour manipuler les données lors du traitement de lastructure d'objet.

122 Intégration de données à des applications externes

Page 131: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

b. Si des règles de traitement sont configurées pour la structure d'objet, cesrègles sont exécutées par la suite.

c. Si les règles de traitement génèrent une multiplication des données pour lessites ou les organisations, le message de la structure d'objet est dupliquépour les sites et organisations supplémentaires.

d. Les objets sont créés et le traitement d'objet démarre.4. Le traitement de l'objet se déroule dans l'ordre suivant :

a. Si une méthode de prétraitement est définie dans une classe d'exitutilisateur, elle est appliquée.

b. Si une classe d'exit externe est spécifiée, le traitement est appliqué.c. Si une méthode de post-traitement est définie dans une classe d'exit

utilisateur, elle est appliquée.d. Les objets métier sont traités et les données sont enregistrées dans la base

de données.5. Pour les transactions synchrones uniquement, pour les opérations Créer, Mettre

à jour, Supprimer et Synchroniser, le service d'entreprise fournit une réponse àl'application ayant effectué le démarrage, avec les informations suivantes :v Indique si le message a été correctement traité.v Valeur de la colonne ID interne de l'objet principal, même si la colonne n'est

pas comprise dans la clé primaire de l'objet principal.v Valeurs des zones de la clé primaire de l'objet principal.v Valeurs des zones des clés alternatives de l'objet principal, configurées pour

l'objet ou pour la structure d'objet.6. Pour les transactions synchrones uniquement, pour les opérations de requête, la

structure complète de l'objet est renvoyée. Vous pouvez exécuter des classesJava personnalisées ou des scripts d'automatisation pour manipuler les donnéesde réponse, ou appliquer une mappe XSL.

Intégration synchrone avec un service de structure d'objet :

Un service de structure d'objet est accessible à l'aide des méthodes d'appel HTTPPost, EJB et de service Web afin de recevoir des messages synchrones du service destructure d'objet. Les opérations Créer, Mettre à jour, Supprimer, Synchroniser etInterroger sont prises en charge.

Le traitement d'intégration basé sur un service de structure d'objet se produit dansl'ordre suivant :1. Le système externe utilise l'une des méthodes d'appel suivantes pour initier la

communication avec l'infrastructure d'intégration :v Appel HTTPv Appel EJBv Appel de service Web

2. L'infrastructure d'intégration reçoit le message entrant qui identifie la structured'objet associée au message

3. L'infrastructure d'intégration crée les objets en fonction de la structure d'objet etdu contenu du message entrant.

4. L'infrastructure d'intégration applique toute logique prédéfinie sur la structured'objet.

5. Les objets sont traités et les données sont validées dans la base de données (sile message contient une opération de mise à jour) ou renvoyées au demandeur(si le message contient une opération de requête).

Intégration de données à des applications externes 123

Page 132: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

6. Lorsqu'une erreur de traitement se produit, la réponse contenant le messaged'erreur est renvoyée au demandeur du service.

Intégration synchrone avec un service standard :

Un service standard est accessible à l'aide des méthodes d'appel HTTP Post, EJB etles méthodes d'appel de service Web pour recevoir des messages de servicestandard synchrones.

Le traitement d'intégration basé sur un service standard se produit dans l'ordresuivant :1. Le système externe utilise l'une des méthodes d'appel suivantes pour initier la

communication avec l'infrastructure d'intégration :v Appel HTTPv Appel EJBv Appel de service Web

2. Les objets sont transmis au système et le traitement système standard estappliqué.

Traitement des données sortantesLes canaux de publication offrent un traitement asynchrone des messages sortantsn'exigeant pas de réponse du système externe. Pour les messages sortants exigeantune réponse du système externe, vous pouvez utiliser un canal d'appel afin depermettre un traitement synchrone.

Intégration asynchrone avec un canal de publicationL'infrastructure d'intégration utilise les canaux de publication pour traiter lesmessages sortants asynchrones. L'envoi d'un message de canal de publication peutêtre initié par un événement d'objet, ou vous pouvez utiliser la fonctiond'exportation des données pour envoyer des messages de canal de publication à lademande.

Les canaux de publication sont configurés pour une structure d'objet et peuventactiver l'intégration basée sur un objet lorsque l'objet principal de la structure estmis à jour. Une mise à jour se produit, par exemple, lorsqu'un utilisateursauvegarde un enregistrement dans une application ou achève une étape dans unprocessus de flux de travaux. Lorsque l'objet principal d'une structure d'objet estmis à jour, un événement est initié dans tous les canaux de publication qui sontassociés à la structure d'objet et qui sont configurés pour écouter les événements.Les utilisateurs peuvent utiliser la fonction d'exportation de données dansl'application Systèmes externes pour initier des messages de canaux de publicationà tout moment.

Lorsqu'un message de canal de publication est initié par un événement ou par uneexportation de données, l'infrastructure d'intégration effectue une série de tâches :1. Identification de la structure d'objet et des objets composants associés au canal

de publication.2. Construction de la structure d'objet de la transaction et formation d'un message

XML basé sur le contenu des objets.3. Application de toutes les règles de traitement définies dans l'application

Canaux de publication.

124 Intégration de données à des applications externes

Page 133: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

4. Si le canal de publication est associé à plusieurs systèmes externes, création decopies de la structure d'objet (une pour chaque combinaison canal depublication / système externe).

5. Si des classes Java de traitement personnalisé, des scripts d'automatisation ouune mappe XSL sont associés au canal de publication, traitement de cesderniers dans l'ordre suivant :a. Exécution de la classe de filtre de définition d'événement, si disponible.b. Exécution de la méthode de pré-traitement dans la classe de traitement

d'exit utilisateur, si disponible.c. Exécution d'une classe de traitement de canal de publication, si disponible.d. ,e. Exécution de la méthode de post-traitement dans la classe d'exit utilisateur,

si disponible.f. Application d'une mappe XSL, si disponible.

6. Ecriture du message XML dans la file d'attente sortante spécifiée pour lesystème externe.

7. Une tâche périodique récupère le message du canal de publication et le livre ausystème externe, en fonction du point de terminaison configuré.

Présentation du traitement de canal de publication :

La structure d'objet configurée pour un canal de publication fournit le contenu demessage du canal. Le système externe détermine comment et où le messaged'intégration est livré. La couche du canal de publication inclut des couches detraitement facultatives, prenant en charge la transformation du contenu dumessage et l'application des règles métier.

Intégration basée sur un événement :

Un canal de publication peut initier un message d'intégration en réponse autraitement d'une transaction système, telle que la mise à jour d'un objet.

Vous pouvez configurer les canaux de publication pour écouter les événements seproduisant sur l'objet principal de la structure d'objet associée en cochant la caseActiver le port d'écoute dans l'application Canaux de publication. Lors de la miseà jour de l'objet principal d'une structure d'objet, le canal de publication envoie unmessage contenant les informations au système externe.

Lorsque la mise à jour d'un objet enfant initie la mise à jour de l'objet principal, lesinformations associées sont également envoyées au système externe. Cependant,certaines mises à jour d'objets enfants n'initient pas la mise à jour de l'objetprincipal et, par conséquent, l'information actualisée n'est pas envoyée au systèmeexterne. Par exemple, si une structure d'objet est configurée pour prendre encharge une pièce jointe en tant qu'objet enfant, l'ajout d'une pièce jointe n'est pasnotifié au système externe.

Pour propager un événement d'un objet enfant sur l'objet principal de la structured'objet, utilisez l'action Configuration avancée dans l'application Structures d'objetafin de configurer la propagation d'événements. Lorsque vous configurez unestructure d'objet pour propager les événements des objets enfants sur l'objetprincipal, l'objet principal envoie ensuite l'information actualisée au systèmeexterne.

Intégration de données à des applications externes 125

Page 134: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si vous configurez la propagation d'événement pour une structure d'objet, vousdevez contrôler l'activité des messages avec soin car la configuration peut initierune quantité de messages supérieure au nombre de messages pouvant être traitéspar le système externe. Pour les objets enfants intégrant une logique pour mettre àjour l'objet parent, cette configuration n'a aucun impact en termes d'activation oude désactivation de la propagation des événements de l'objet enfant à l'objetparent.

Fonction d'exportation de données :

Le canal de publication prend en charge le traitement par lots des donnéesd'intégration via la fonction d'exportation de données.

Pour initier la fonction d'exportation de données, exécutez une requête SQL surl'objet principal d'une structure d'objet, et indiquez le nombre d'enregistrements àenvoyer. Si la requête est correcte, l'exportation démarre.

Pour initier la fonction d'exportation de données, exécutez une clause SQL WHEREsur l'objet principal d'une structure d'objet dans la fenêtreExportation de données.Vous pouvez également configurer le nombre d'enregistrements à envoyer. Si larequête est correcte, l'exportation démarre et transmet les données en fonction dupoint de terminaison configuré pour le canal de publication.

Intégration synchrone à l'aide d'un canal d'appelL'infrastructure d'intégration utilise des canaux d'appel pour traiter des messagessortants synchrones exigeant une confirmation ou une réponse de l'applicationexterne. L'exportation est lancée par une classe d'action qui active le canal d'appel.

L'envoi d'un message du canal d'appel est initié par une classe d'action Java quiest codée pour démarrer le canal. Les canaux d'appel sont utilisés, par exemple,pour appeler une application externe afin de valider des données, démarrer unprocessus sur une application externe ou extraire des données. Un canal d'appelpeut être déclenché par une commande de l'interface utilisateur configurée pourappeler la classe d'action qui démarre le canal.

Lorsqu'une classe d'action démarre un message du canal d'appel, l'infrastructured'intégration exécute une séquence de tâches :1. Identification de la structure d'objet associée à chaque canal d'appel, et

identification des objets composants.2. Construction de la structure d'objet de la transaction et formation d'un message

XML basé sur le contenu des objets.3. Si des classes Java de traitement personnalisé, des scripts d'automatisation ou

une mappe XSL sont associés à la demande de canal d'appel, traitement de cesderniers dans l'ordre suivant :a. Exécution de la méthode de pré-traitement dans la classe de traitement

d'exit utilisateur de la demande, si disponible.b. Exécution d'une classe de traitement de demande de canal d'appel, si

disponible.c. Exécution de la méthode de post-traitement dans la classe d'exit utilisateur

de la demande, si disponible.d. Application d'une mappe XSL, si disponible.

4. Ecriture du message XML dans la destination indiquée par le point determinaison.

126 Intégration de données à des applications externes

Page 135: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

5. Indication par le gestionnaire de point de terminaison du mécanisme detransport à utiliser.

6. Lorsque la réponse est reçue du point de terminaison, et si des classes Javapersonnalisées, des scripts d'automatisation ou des mappes XSL sont associés àla réponse, leur traitement est effectué dans l'ordre suivant :a. Exécution de la méthode de pré-traitement dans la classe de traitement

d'exit utilisateur de la réponse, si disponible.b. Exécution d'une classe de traitement de réponse de canal d'appel, si

disponible.c. Exécution de la méthode de post-traitement dans la classe d'exit utilisateur

de la réponse, si disponible.d. Application d'une mappe XSL, si disponible.

7. Les objets sont générés à partir des données de la structure d'objet de laréponse et sont transférés vers le système où un traitement standard estappliqué.

8. Si tous les objets créés à partir de la structure d'objet de la réponse sontcorrectement traités, ils sont validés dans la base de données.

Le contenu de la réponse peut être géré par l'appelant suivant les besoins del'intégration, par exemple pour mettre à jour des données d'objet métier ou pourafficher la réponse à un utilisateur. Une classe d'action par défaut est fournie afinque vous puissiez utiliser ou étendre l'implémentation de l'intégration d'un canald'appel.

Personnalisation des propriétés des métadonnées dans un canal d'appel :

Dans les classes d'exit externes ou les classes d'exit utilisateurs du canal d'appel,vous pouvez mettre à jour des données supplémentaires, telles que les valeurs desubstitution des paramètres configurées pour un point de terminaison.

Vous pouvez utiliser ce type de personnalisation, par exemple, pour dériver unparamètre de point de terminaison, tel que l'URL, des données contenues dans lastructure d'objet du canal d'appel. Vous pouvez écraser les valeurs d'un certainnombre de propriétés de métadonnées.

Valeur Description

ENDPOINT Vous pouvez écraser cette valeur afind'utiliser un point de terminaison fourni aulieu du point de terminaison configuré via lesystème externe.

ENDPOINTPROPS Cette valeur pointe vers une mappe dehachage contenant un ou plusieursparamètres de point de terminaison avecune valeur de substitution correspondante.Si la configuration du point de terminaisondéfinit que vous ne pouvez pas écraser unepropriété, les valeurs de substitutioncontenues dans le contexte d'intégrationseront ignorées.

TARGETOBJECT Cette valeur correspond à la structured'objets cible du canal d'appel.

SOURCEOBJECT Cette valeur correspond à la structured'objets source du canal d'appel.

Intégration de données à des applications externes 127

Page 136: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Configuration du traitement d'intégrationLe traitement des messages d'intégration survient à plusieurs points lors dudéplacement des messages d'intégration des transactions entrantes et sortantes.Lorsque vous configurez le traitement d'intégration, vous devez vous assurer queles données source et les données de destination possèdent des formats et desstructures de données compatibles.

Configuration du traitement asynchrone des messages entrantsà l'aide des services d'entrepriseLes services d'entreprise utilisent le traitement asynchrone des messages entrantsqui ne nécessitent pas de réponse de Maximo Asset Management. Pour activer letraitement du service d'entreprise, vous configurez plusieurs composantsd'intégration, notamment une structure d'objet, un service d'entreprise, un systèmeexterne et une tâche périodique JMS.

Pourquoi et quand exécuter cette tâche

Un système externe démarre une connexion et envoie un message qui contient lesnoms du système externe et du service d'entreprise. Le système externe maintientla connexion pendant que l'infrastructure d'intégration vérifie que le serviced'entreprise est activé pour cette transaction. Les transactions valides sont placéesdans la file d'attente JMS séquentielle entrante et la connexion au système externese termine. Une tâche périodique interroge la file d'attente JMS, transmet lemessage pour traitement du service d'entreprise, et l'envoie pour traitement de lastructure d'objet pour être ensuite validée dans la base de données.

Procédure1. Dans l'application Structures d'objet, identifiez la structure d'objet prédéfinie à

utiliser ou créez-en une.2. Dans l'application Services Enterprise, identifiez un service d'entreprise

prédéfini à utiliser, ou créez-en un.3. Configurez le service d'entreprise permettant d'utiliser votre structure d'objet et

choisissez une opération valide. L'opération Interroger n'est pas valide pour letraitement asynchrone avec les services d'entreprise.

4. Dans l'application Systèmes externes, identifiez le système externe à utiliser, oucréez-en un, puis configurez-le pour votre service d'entreprise :a. Configurez le système externe permettant d'utiliser les files d'attente JMS

entrantes et activez le système externe.b. Configurez le système externe permettant d'utiliser votre service

d'entreprise et activez le service.5. Facultatif : Configurez la source du message d'intégration.

Source du message Configurations

Messages provenant de fichiersutilisant une tâche périodique

Dans l'application Configuration des tâchespériodiques, définissez la tâche périodiqued'importation des données sur active.

Messages provenant d'un appelde service Web

Dans l'application Bibliothèque des services Web, créezun service Web basé sur votre service d'entreprise.

Messages provenant des tablesd'interface

Dans l'application Configuration des tâchespériodiques, définissez la tâche périodique de la tabled'interface sur active.

6. Configurez une file d'attente chargée de recevoir les messages d'intégration.

128 Intégration de données à des applications externes

Page 137: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Type de file d'attente Description

Continue Sur le serveur d'applications, configurez des beansgérés par message pour utiliser les messages de la filed'attente.

Séquentielle Dans l'application Configuration des tâchespériodiques, définissez la tâche périodique JMS suractive de manière à pouvoir utiliser les messages de lafile d'attente.

Configuration du traitement asynchrone des messages sortantsà l'aide des canaux de publicationLes canaux de publication traitent les messages d'intégration sortants qui nenécessitent pas de réponse de la part du destinataire du message. Pour activer letraitement des canaux de publication, vous devez configurer plusieurs composantsd'intégration, notamment une structure d'objet, un canal de publication, unsystème externe et une tâche périodique.

Pourquoi et quand exécuter cette tâche

Une structure d'objet fournit le contenu du message du canal de publication. Letraitement du canal de publication transforme le message et le système externel'envoie ensuite à la file d'attente de destination. Une tâche périodique interrogerégulièrement la file d'attente et distribue le message à son destinataire. Lestransactions du canal de publication peuvent être lancées par un événement, parexemple, un changement au niveau du statut d'un objet, ou le démarrage d'unetransaction d'exportation de données dans l'application Systèmes externes.

Procédure1. Dans l'application Structures d'objet, identifiez la structure d'objet prédéfinie à

utiliser ou créez-en une.2. Dans l'application Canaux de publication, identifiez le canal de publication

prédéfini à utiliser ou créez-en un.3. Facultatif : Pour activer l'intégration basée sur un événement, configurez un

programme d'écoute pour l'événement :a. Dans l'application Canaux de publication, sélectionnez l'action d'activation

du programme d'écoute du canal de publication. Si le programme d'écouteest activé et que l'objet principal de la structure d'objet est mis à jour, lestransactions du canal de publication sont initiées.

b. Si vous souhaitez que les événements se produisant sur les objets enfantsdémarrent des transactions du canal de publication, sélectionnez l'actionConfigurations avancées dans l'application Structures d'objet et configurezla propagation d'événements.

4. Facultatif : Dans l'application Canaux de publication, consultez les règles detraitement et ajoutez ou modifiez les règles, si nécessaire. Les règles detraitement s'exécutent dans l'ordre indiqué dans la zone Séquence. Si vousmodifiez les valeurs de la séquence, les règles s'exécutent dans un ordredifférent, ce qui peut avoir des conséquences inattendues.

5. Facultatif : Indiquez les scripts d'automatisation , les fichiers de classe Javapersonnalisés, ou les mappes XSL afin de fournir la logique personnalisée lorsdu processus de transformation.

6. Dans l'application Systèmes externes, ajoutez le canal de publication au systèmeexterne et indiquez le chemin d'accès à la file d'attente JMS séquentiellesortante.

Intégration de données à des applications externes 129

Page 138: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

7. Dans l'application Configuration des tâches périodiques, activez l'instanceSEQOUT de la tâche périodique JMSQSEQCONSUMER. La tâche périodiquedistribue les messages de la file d'attente JMS dans l'ordre dans lequel ils ontété reçus.

Personnalisation basée sur des règlesVous pouvez utiliser des règles de traitement pour modifier le comportement d'untraitement d'intégration prédéfini sans écrire aucune classe Java, ni aucun scriptd'automatisation ou mappe XSL. Les règles de traitement peuvent uniquement êtreimplémentées sur les canaux de publication ou sur les services d'entreprise.

Les règles de traitement peuvent lire et évaluer les valeurs des zones d'objets etXML, des ensembles d'objets, ainsi que des commandes d'intégration et desystème. Les règles de traitement peuvent également changer les valeurs dans leszones d'objets et XML ou arrêter/ignorer le traitement d'une partie ou del'ensemble d'un message.

Définitions de règles pour les objets et enregistrementsUne structure d'objet est composée d'un ou plusieurs enregistrement(s) d'objet.Lorsqu'un objet est créé, les zones d'objet sont renseignées à partir des zones del'enregistrement correspondant avant que le traitement d'application standard nesoit appliqué.

Lors du traitement d'événement sortant, l'objet d'origine est renseigné avec leszones correspondantes de l'enregistrement. A l'exception de certaines zonesd'intégration générique, les objets système ne sont pas mis à jour dans lesmessages sortants.

Utilisez les instructions suivantes pour appliquer une règle à une structure d'objetou à un objet :v Pour le traitement d'événement sortant, vous pouvez appliquer des règles de

traitement à des enregistrements de structure d'objet uniquement.v Pour le traitement d'événement entrant, vous pouvez appliquer des règles de

traitement à des enregistrements de structure d'objet ou à des objets.– Si une règle entrante change la valeur de la zone de clé d'un objet, appliquez

les règles à l'enregistrement de structure d'objet.– Si une règle entrante n'évalue pas ou ne manipule pas un objet ou un

ensemble d'objets, appliquez les règles à l'enregistrement de structure d'objet.– Si une règle entrante évalue ou manipule une zone définie par l'utilisateur,

appliquez les règles à l'enregistrement de structure d'objet.– Si une règle entrante évalue ou manipule un objet ou une zone d'objet,

appliquez les règles à l'objet.

Appliquez toutes les règles des services d'entreprise aux objets ou auxenregistrements de structure d'objet. Evitez d'appliquer les règles aux objets etenregistrements de structure d'objet. Si vous appliquez les règles de traitement auxstructures d'objet et aux objets, le temps de traitement des transactions entrantesaugmente.

Définition d'une règle de traitementUne règle de traitement exécute une action sur une zone d'un enregistrement oud'un objet, ou sur l'enregistrement ou l'objet lui-même. Pour définir une règle detraitement, dans le service ou le canal utilisé pour la transaction, vous pouvezindiquer l'enregistrement ou l'objet auquel s'applique la règle.

130 Intégration de données à des applications externes

Page 139: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Lancement de la règle de traitement :

Pour une transaction sortante, un événement d'objet métier sur l'objet principald'une structure d'objet lance une règle de traitement. Pour une transaction entrante,l'événement qui lance une règle de traitement est identifié par la valeur del'attribut Action sur l'objet principal du message XML entrant.

Lorsque vous configurez des canaux de publication et des services d'entreprise,vous indiquez quels événements utiliser pour lancer chaque règle de traitement.Vous pouvez appliquer une règle de traitement à l'enregistrement principal, à unenregistrement enfant ou à un objet, mais l'événement qui lance la règle doit êtrelancé sur l'objet principal.

Vous pouvez, par exemple, implémenter une règle Stop (Arrêter) sur l'objetPERSON qui empêche les utilisateurs de modifier les attributs de l'enregistrementPersonne en identifiant que la règle s'applique à la mise à jour. Cette configurationpermet aux utilisateurs de créer ou de supprimer des enregistrements de personnemais ne leur permet pas de les mettre à jour.

Pour les transactions sortantes, dans l'application Canaux de publication, vouspouvez configurer une ou plusieurs des actions suivantes sur l'objet principal pourlancer la règle :v Insérerv Supprimerv Mettre à jour

Lorsqu'un message sortant est généré à l'aide de la fonction Exportation dedonnées ou par un appel de programme sur le canal de publication, toutes lesrègles de traitement activées sont exécutées, quels que soient les paramètresd'événement.

Pour les transactions entrantes, dans l'application Services Entreprise, vous pouvezconfigurer une ou plusieurs des actions suivantes sur l'objet principal pour lancerla règle :v Ajouterv Changer ou remplacer (équivalent de Mettre à jour)v Supprimer

Vous pouvez définir l'une de ces valeurs en tant qu'attribut Action de l'objetprincipal pour la transaction entrante.

Actions d'une règle de traitement :

Une règle de traitement peut avoir un effet sur l'ensemble d'un service d'entrepriseou d'un canal de publication. Par exemple, une règle peut ignorer un message oumanipuler une valeur dans la zone de données du message.

Trois actions des règles de traitement agissent sur un message de service ou decanal : "stop", "skip" et "skip children". Quatre actions des règles de traitementtransforment la valeur d'une zone dans un message de service ou de canal :"combine", "split", "set" et "replace".

Intégration de données à des applications externes 131

Page 140: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Actions de traitement des messages :

Les actions de traitement des messages interrompent ou ignorent un message deservice d'entreprise ou de canal de publication complet, ou ignorent desenregistrements complets dans le message.

Ignorer

Cette action ignore un message qui remplit des critères spécifiques. Lorsqu'unetelle action est appliquée à un message entrant, il n'est pas traité et est suppriméde la file d'attente des messages. Lorsqu'elle est appliquée à un message sortant,rien n'est écrit dans la file d'attente et le message n'est pas envoyé à un systèmeexterne. Le traitement de ce type d'action ne génère pas d'erreur, mais le fichierjournal du système est mis à jour avec la règle qui a entraîné cette action.

Cette action possède des règles prédéfinies. Ces règles recherchent les valeurs decommande d'intégration pour vérifier que les messages sortant possèdent un statutvalide avant d'être envoyés à un système externe.

Interrompre

Cette action interrompt un message qui remplit des critères spécifiques. Lemessage sortant est annulé et un message d'erreur s'affiche. Pour les transactionsentrantes, le message reste dans la file d'attente JMS entrante. Si l'erreur est lerésultat d'un appel asynchrone du service d'entreprise, le programme appelant estinformé de l'erreur.

Aucune règle prédéfinie n'est fournie avec une action d'interruption. Cette optionest une fonction de personnalisation du comportement d'un service ou canal pourles utilisateurs.

Si possible, utilisez l'action Ignorer au lieu de l'action Interrompre pour les servicesd'entreprise entrants. L'action d'interruption provoque une erreur de traitement etle message reste dans la file d'attente entrante ou le demandeur reçoit une réponsed'erreur. Ces résultats ne se produisent pas lorsque vous utilisez l'action Ignorer.

Lorsqu'une règle de traitement avec une action d'interruption est appliquée à uncanal de publication généré par la fonction Exportation de données, l'action esttraitée comme une action Ignorer. Si l'action d'interruption est vérifiée, le messageest ignoré.

Ignorer les enfants

Vous pouvez appliquer cette action uniquement aux messages sortants d'un canalde publication. Appliquez la règle de traitement sur l'enregistrement ou l'objet surlequel les enregistrements enfants sont ignorés.

Si la structure de Personne possède l'objet Personne et les objets enfants Téléphoneet Courrier électronique, vous pouvez ignorer les enfants de Personne poursupprimer les données de Téléphone et de Courrier électronique du message.Ignorez les enfants lorsqu'une modification de statut se produit et que le systèmeexterne n'a pas besoin des informations de Téléphone et de Courrier électroniqueassociées.

132 Intégration de données à des applications externes

Page 141: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Ignorer l'enregistrement

Vous pouvez appliquer cette action uniquement aux messages sortants d'un canalde publication. Cette action supprime un enregistrement ou objet contenant votrerègle appliquée. Appliquez la règle de traitement sur l'enregistrement ou l'objet, ettous les enregistrements et objets enfants que vous voulez ignorer.

Si la structure de l'objet Personne possède un objet Personne et un objet enfantTéléphone, vous pouvez ignorer l'enregistrement pour supprimer unenregistrement Téléphone spécifique du message. Utilisez cette action, parexemple, lorsque vous voulez envoyer le numéro de téléphone professionnel maispas le numéro de téléphone personnel d'une personne. Une règle permettantd'ignorer un enregistrement doit posséder une condition identifiantl'enregistrement du téléphone personnel pour assurer qu'il est ignoré.

Actions de transformation des zones :

Appliquez la règle de transformation de zone à un enregistrement ou un objetcontenant la zone à transformer. Vous pouvez appliquer une règle detransformation de zone à une ou plusieurs zone(s) dans l'enregistrementsélectionné.

Action de configuration

L'action de configuration affecte une valeur à une zone de données spécifiée. Lorsde la définition de la règle, indiquez les données à configurer et la source de lanouvelle valeur. Indiquez si la règle affecte toujours la nouvelle valeur à la zonecible ou si elle affecte la nouvelle valeur uniquement lorsque la zone affiche unevaleur null (action par défaut). Vous pouvez utiliser cette action pour initialiser lavaleur dans une zone de données. Si la règle affecte toujours la nouvelle valeur àla zone cible, toute valeur existante dans la zone est écrasée.

La source peut afficher l'une des valeurs suivantes :v Une commande d'intégration de valeurv Une valeur codée en durv Une commande système (dans la table de la base de données MAXVARS)v Une autre zone dans l'enregistrement ou l'objet spécifiév Une zone dans un objet associé

Action Replace

L'action de remplacement remplace une valeur dans une zone de données par uneautre valeur. Lors de la définition de la règle, indiquez la zone de données à mettreà jour. La commande que vous utilisez doit être une commande de référencecroisée. Indiquez le nom d'une commande de référence croisée contenant lesvaleurs d'origine et de remplacement de la zone de données.

Utilisez cette action lorsque la base de données et le système externe utilisent desidentificateurs différents pour une même entité. Par exemple, vous pouvezremplacer la valeur SITEID dans un canal de publication par une valeur PLANTIDexterne et remplacer la valeur PLANTID externe dans un service d'entreprise parla valeur SITEID.

Intégration de données à des applications externes 133

Page 142: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Action de combinaison

L'action de combinaison concatène les valeurs de plusieurs zones source en unezone cible unique. Lors de la définition de la règle, identifiez la zone cible et leszones source, ainsi que la séquence dans laquelle les données source doivent êtreécrites. Ces dernières peuvent correspondre à une zone de données ou unecommande d'intégration contenant une valeur de données. Vous pouvez aussispécifier une commande d'intégration contenant le délimiteur afin de séparer lessegments dans la zone cible.

Utilisez cette action dans une règle de traitement de service d'entreprise en cas denon-concordance entre la définition système et la définition système externe d'uneentité. Une règle de traitement de service d'entreprise peut, par exemple, combinerun ID vendeur et une zone d'emplacement du vendeur à partir d'un systèmeexterne dans la zone COMPANY. Une règle de traitement de canal de publicationpeut ensuite utiliser l'action de fractionnement pour séparer la zone combinée envaleurs distinctes lorsque des données sont envoyées au système externe.

Les champs source et cible doivent figurer dans le même objet. Cette action écrasesystématiquement la valeur existante du champ cible. Assurez-vous que les zonessource et cible sont alphanumériques pour éviter des erreurs de traitement.

Action de fractionnement

L'action de fractionnement est l'inverse de l'action de combinaison. L'action defractionnement sépare la valeur d'une zone en plusieurs zones. Lors de ladéfinition de la règle, identifiez une zone source, une ou plusieurs zones cible et lamanière dont le processeur de règles identifie les segments de la zone source.

Les zones peuvent avoir les sources suivantes :v Une zone dans l'enregistrement ou l'objet sélectionnév Une commande d'intégration contenant le délimiteur séparant les segments dans

la zone source

Les zones source et cible doivent exister dans le même objet. Cette action écrasetoujours la valeur existante dans les zones cible. Vérifiez que les zones source etcible sont alphanumériques afin d'éviter des erreurs de traitement.

Si vous avez combiné plusieurs zones dans un message entrant, fractionnez la zonecombinée en zones individuelles dans la direction sortante. Il existe deux façonsd'identifier la méthode de fractionnement d'une zone. Vous pouvez indiquer lalongueur de chaque segment de la zone source ou identifier un délimiteur séparantles segments.

Si la longueur de la zone de chaque segment des données source est constante, leprocesseur de règles divise la zone source de gauche à droite en fonction de lalongueur de la zone, de la séquence et des valeurs spécifiées. Par exemple, la zonecible A avec une longueur de caractère de 6 occupe les positions 1 à 6 de la zonesource. La zone cible B avec une longueur de caractère de 3 occupe les positions 7à 9 de la zone source.

Si la longueur des segments de la zone source est variable et que la zone sourcecontient un délimiteur distinct identifiant les segments, utilisez l'option duséparateur. Cette option identifie une commande d'intégration qui définit leséparateur. Ce dernier doit délimiter tous les segments. Le processeur de règles fait

134 Intégration de données à des applications externes

Page 143: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

une analyse syntaxique de gauche à droite de la zone source. Le processeurrecherche le délimiteur, divise la chaîne en plusieurs valeurs et déplace chaquevaleur dans la zone cible désignée.

Séquence de traitement :

Les règles de traitement sont appliquées consécutivement pour chaqueenregistrement ou objet dans une structure d'objet, en commençant par l'objetprincipal et en allant vers les objets enfant.

Si vous définissez plusieurs règles de traitement pour un seul enregistrement ouobjet, vous pouvez modifier la séquence de traitement par défaut. Votremodification est particulièrement importante si une règle dépend de la réussited'une règle précédente. Lorsqu'une règle avec une action Arrêter ou Ignorer estcorrectement appliquée, aucune autre vérification ne se produit.

Conditions et évaluationsLes règles de traitement sont appliquées de manière conditionnelle. Toutecondition doit être respectée avant d'exécuter le traitement ou l'action spécifié(e)dans la règle.

Ces conditions peuvent impliquer l'évaluation ou la comparaison de données dezone XML, une zone d'objet, un ensemble d'objets ou une commande d'intégrationou système.

Spécifications d'une condition :

Une condition regroupe une ou plusieurs évaluations. Plusieurs conditions peuventêtre spécifiées et le numéro de condition permet d'identifier leur séquence.

Chaque évaluation renvoie une valeur "true" ou "false". Si une évaluation vérifieque les valeurs de deux zones sont égales, par exemple, elle renvoie une valeur"true" si les zones sont égales et une valeur "false" si elles ne sont pas égales. Lesconditions renvoient également une valeur "true" ou "false". Si chaque évaluationd'une condition affiche une valeur "true", la condition affiche la valeur "true". Siune évaluation dans la condition affiche une valeur "false", la condition affiche lavaleur "false". Si une règle de traitement contient plusieurs conditions, une seulecondition doit afficher la valeur "true" pour l'action associée à la règle detraitement.

Spécifications des catégorie d'évaluation :

Avant de définir les caractéristiques d'une évaluation, sélectionnez le type dedonnées à évaluer.

Le tableau suivant décrit les catégories que vous pouvez utiliser dans vosévaluations.

Catégorie Utilisation

Champ XML Evaluez une valeur dans la zoned'enregistrement d'un objet d'intégration oucomparez les valeurs dans deux zonesd'enregistrement.

Intégration de données à des applications externes 135

Page 144: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Catégorie Utilisation

Champ d'objet Evaluez la valeur d'une zone d'objet oucomparez les valeurs dans deux zonesd'objets associées. La zone d'objet peut fairepartie de la définition de la structure d'objet.La zone d'objet peut aussi faire partie d'unobjet dont l'accès à une relation s'effectue àl'aide d'un objet appartenant à la définitionde la structure d'objets.

Ensemble d'objets Vérifiez s'il existe des enregistrements dansun objet associé.

Commande Evaluez une valeur ou une commanded'intégration booléenne ou une commandesystème.

Etant donné que les règles de traitement du service d'entreprise sont appliquéesavant la génération des objets, les règles de traitement ne peuvent pas évaluer deszones d'objets ou des ensembles d'objets. Vous pouvez utiliser les combinaisons decatégories, la direction de traitement (sortante ou entrante) et les typesd'enregistrement (enregistrement ou objet) suivants dans vos évaluations.

Direction de larègle detraitement

Evaluation de lazone XML

Evaluation de lazone d'objet

Evaluation del'ensembled'objets

Evaluation decommande

Sortante Disponible Disponible Disponible Disponible

Sortante(Enregistrement)

Disponible Non disponible Non disponible Disponible

Entrante (Objet) Disponible Disponible Disponible Disponible

Zone à évaluer :

Pour les évaluation d'une zone XML et d'une zone d'objet, indiquez celle que vousévaluez.

Pour une évaluation d'objet, spécifiez l'objet et la relation pour accéder à la zone. Sila valeur de la zone est dérivée de l'objet qui correspond à l'enregistrement, aucunerelation n'est requise.

Type d'évaluation :

Les évaluations impliquent généralement la comparaison de deux valeurs ou unevérification de l'existence d'un ensemble d'objets ou d'une valeur null.

L'interface utilisateur affiche un sous-ensemble des types en fonction de lacatégorie d'évaluation (zone XML, zone d'objet, ensemble d'objets ou commande).Le tableau suivant répertorie les types d'évaluation possibles que vous pouvezutiliser.

Type d'évaluation Description

EQUALS La valeur d'une zone spécifique est égale àla valeur d'une deuxième zone (la zone decomparaison).

136 Intégration de données à des applications externes

Page 145: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Type d'évaluation Description

NOTEQUALS La valeur d'une zone spécifique estdifférente la valeur d'une deuxième zone (lazone de comparaison).

GREATER La valeur d'une zone spécifique estsupérieure à la valeur d'une deuxième zone(la zone de comparaison).

GREATEROREQUAL La valeur d'une zone spécifique estsupérieure ou égale à la valeur d'unedeuxième zone (la zone de comparaison).

LESS La valeur d'une zone spécifique estinférieure à la valeur d'une deuxième zone(la zone de comparaison).

LESSOREQUAL La valeur d'une zone spécifique estinférieure ou égale à la valeur d'unedeuxième zone (la zone de comparaison).

LIKE La valeur est la valeur attendue.

NOTLIKE La valeur n'est pas la valeur attendue.

ISNULL La zone spécifiée ne contient aucune valeurou contient une valeur null.

ISNOTNULL La zone spécifiée contient une valeur.

AUCUN Cette option est disponible uniquement si lazone When to Evaluate (Quand évaluer) estconfigurée comme Changed (Modifiée) ouNot Changed (Non modifiée). Si NONE estsélectionné, aucune évaluationsupplémentaire n'est requise.

EXISTS Les enregistrements existent dans l'ensembled'objets spécifié.

NEXISTEPAS Aucun enregistrement n'existe dansl'ensemble d'objets spécifié.

A quel moment peut-on évaluer une zone ? :

Pour les évaluations de la zone XML et de la zone d'objet, la règle de traitementdétermine d'abord si les données spécifiées doivent être évaluées.

Le système évalue les données en vérifiant la zone Evaluer quand qui peut afficherl'une des valeurs suivantes :

Valeur Action

MODIF L'évaluation continue uniquement sil'activité ayant généré le message change lazone spécifiée.

NOT CHANGED L'évaluation continue uniquement sil'activité ayant généré le message ne changepas la zone spécifiée.

Intégration de données à des applications externes 137

Page 146: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Valeur Action

TOUJOURS L'évaluation continue peu importe si lavaleur de l'activité ayant généré le message(par défaut) change la zone spécifiée. Sivous indiquez cette option, vous ne pouvezpas spécifier le type de comparaison Aucun(None).

Lors de la mise à jour d'un enregistrement, un attribut "changed" (changed=”1”)apparaît dans la zone correspondante du message sortant. Cet attribut détermine sila zone répond aux critères de la zone Evaluer quand.

Cet attribut n'apparaît pas dans les messages générés par la fonction Exportationdes données. Les évaluations qui sont appliquées lors du changement d'une valeurrisquent de ne pas fournir la sortie adéquate dans un scénario d'exportation dedonnées.

L'attribut "changed" n'est pas applicable dans les messages entrants.

Spécifications de zone de comparaison :

L'interface utilisateur affiche des sous-ensembles selon le type d'évaluation (zoneXML, zone d'objet, ensemble d'objets ou commande). Si une règle de traitementutilise l'un des huit premiers types d'évaluation, elle doit spécifier la zone (zone decomparaison) avec laquelle elle effectue la comparaison.

Le tableau suivant recense les types de zones de comparaison possibles que vouspouvez utiliser dans les comparaisons de zone. La comparaison d'une zone desource alphanumérique est sensible à la casse.

Zone Utilisation

Commande d'intégration Comparez la valeur de la zone spécifiée avecles valeurs d'une liste ou la commanded'intégration de valeur. Si une commande deliste possède plusieurs valeurscorrespondantes, l'évaluation est vraie.L'évaluation vraie se produit uniquement sila valeur de zone correspond à l'une desvaleurs de la commande de liste.

Exemple : Validez le statut STATUS d'un bonde commande. La valeur en cours dans unezone STATUS est WAPPR et les valeursacceptables possibles qui satisfont à lacondition se trouvent dans une commandede liste appelée POSEND. Les valeurs dansPOSEND sont WAPPR, APPR et CLOSE. Sile type d'évaluation est EQUALS,l'évaluation renvoie une valeur vraie.

138 Intégration de données à des applications externes

Page 147: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Zone Utilisation

Valeur Comparez la valeur de la zone spécifiée àune valeur prédéfinie. Cette option estdisponible pour des conditions définies parl'utilisateur.

Quels que soient les paramètresd'environnement local du serveurd'applications ou de la base de données,toutes les zones décimales doivent utiliserun point (.) comme marque de réservationdécimale. Les numéros à gauche de lamarque de réservation ne sont pas formatés.Ce format s'applique aux données entrantesou sortantes. Par exemple, $1,738,593.64 doitêtre au format suivant : 1738593.64.

Exemple : une règle de traitement comparela valeur de la zone POLIN1 avec la valeurSPARE. Si le type d'évaluation est EQUALSet que les deux valeurs sont identiques,l'évaluation renvoie une valeur vraie.

MAXVAR Comparez la valeur de la zone spécifiée à lavaleur dans une commande système (unevaleur dans la table de base de donnéesMAXVARS).

Exemple : Evaluez l'OWNERSYSID sur toutservice d'entreprise ou canal de publicationpour déterminer si elle est la même queMAXVARS.MXSYSID.

Valeur booléenne Comparez la valeur de la zone spécifiée avecune valeur booléenne (true ou false).

Zone de comparaison Comparez la valeur de la zone spécifiée avecune autre zone dans le même objet.

Exemple : Comparez la valeur deGLDEBITACCT et la valeur deGLCREDITACCT sur une ligne de bon decommande ou une entrée de journal pourdéterminer si elles sont égales.

Objet, relation et zone Comparez la valeur de la zone spécifiée avecune zone dans un objet différent.

Exemple : Vérifiez l'OWNERSYSID de stockdans le système pour les valeurs d'entrepôtd'articles sur une ligne de reçu ou de bon decommande.

Commandes d'intégrationLes commandes d'intégration vous permettent de configurer le comportement den'importe quel service d'entreprise ou canal de publication conformément auxexigences des organisations et sites individuels. Les règles de traitement et lesclasses Java peuvent accéder aux commandes d'intégration à des fin d'évaluation.

Les commandes d'intégration sont définies au niveau du système. Vous pouvezaffecter les commandes à un ou plusieurs service(s) d'entreprise et canal(aux) depublication. Les valeurs de commande peuvent être configurées au niveau du

Intégration de données à des applications externes 139

Page 148: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

système externe. Deux systèmes externes qui traitent le même service d'entrepriseou canal de publication peuvent partager les mêmes logique de traitement, fichiersde classe et règles de traitement. Cependant, ils ne traitent pas les données de lamême manière car ils utilisent des paramètres de commande différents.

Niveaux de commande :

Toutes les données et documents maître sont stockés au niveau du système, del'organisation ou du site. Les données d'élément sont stockées au niveau dusystème, les informations relatives à un compte au niveau de l'organisation et lesinterventions au niveau du site. Il existe une structure hiérarchique implicite dansces niveaux.

Une commande d'intégration peut être configurée pour écraser des valeurs quelque soit le niveau parmi les suivants :

Valeur de la commande Description

Niveau système Une valeur de niveau système s'applique àtoutes les organisations et sites système. Si lacommande n'est pas configurée pour desvaleurs de niveau organisation ou de niveausite, le processus système utilise les valeurspar défaut. Si la commande est configuréepour les valeurs de niveau organisation oude niveau site, mais qu'aucune n'existe pourune organisation ou un site particulier, leprocessus système utilise une valeur deniveau système.

Niveau organisation Une valeur de niveau organisations'applique à tous les sites du système ausein d'une organisation. Si une commandeest configurée pour les valeurs de niveauorganisation, mais qu'aucune n'existe pourune organisation particulière, le processussystème utilise la valeur de niveau système.

Niveau site Une valeur de niveau site s'applique à unsite spécifique au sein d'une organisationsystème. Si une commande est configuréepour les valeurs de niveau site, maisqu'aucune n'existe pour un site particulier, leprocessus système utilise la valeur del'organisation (si elle existe) ou de niveausystème.

Les données traitées par les services d'entreprise ou les canaux de publication quiutilisent une commande avec une valeur de remplacement d'organisation ou desite doivent être au niveau organisation ou site.

Types de commande :

Vous pouvez créer quatre types de commande d'intégration afin de répondre à vosbesoins métier.

140 Intégration de données à des applications externes

Page 149: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Commandes booléennes

Une commande d'intégration booléenne spécifie une valeur égale à 0 (false) ou 1(true).

Commandes de liste

Une commande d'intégration de liste contient une liste de valeurs. Vous pouvezsaisir plusieurs valeurs pour la commande et éventuellement lui attribuer undomaine système. L'attribution d'un domaine assure la validation de n'importequelle valeur saisie pour cette commande quel que soit le niveau. Si aucundomaine n'est attribué, aucune validation des valeurs n'est saisie.

Par exemple, des interventions sont envoyées à un système externe uniquement sison statut affiche APPR (approuvé) ou TERMINE. Pour déterminer si l'interventiondoit être envoyée, le code Java ou la règle de traitement peut vérifier le statutd'une intervention par rapport à une commande de liste contenant ces deuxvaleurs.

Commandes de valeur

Une commande d'intégration de valeur contient une seule valeur. Vous pouvezsaisir une seule valeur pour la commande et éventuellement lui attribuer undomaine système.

Commandes de référence croisée

Une commande de référence croisée remplace une valeur par une autre. Dans uncanal de publication, une valeur système est convertie en une valeur systèmeexterne. Dans un service d'entreprise, une valeur système externe est convertie enune valeur système. Vous pouvez éventuellement attribuer un domaine système àune commande de référence croisée. Si un domaine est indiqué, toute valeursystème qui est spécifiée pour la commande est validée par rapport à ce domaine.Si aucun domaine n'est attribué, aucune validation des valeurs n'est saisie.

Les commandes de référence croisée doivent disposer d'un mappage un à un entrela valeur système et la valeur système externe. Si deux valeurs système sontassociées à une valeur système externe ou deux valeurs système externes à unevaleur système, une erreur de traitement se produit.

Si vous créez la commande de référence croisée afin qu'elle fonctionne commecommande de multiplication dans un service d'entreprise, il peut y avoir desmappages un à plusieurs. Une commande de multiplication est une commande deréférence croisée qui copie, ou multiplie, un message entrant pour plusieursorganisations ou sites. Une commande de multiplication dispose d'une valeurexterne et de plusieurs valeurs système.

Les commandes de multiplication sont toujours spécifiques au système externe.Identifiez la commande en tant que commande de multiplication dans l'ongletService d'entreprise de l'application Services d'entreprise.

Par exemple, les sites système correspondent aux unités métier du système externe,mais les deux systèmes utilisent des valeurs différentes pour ces entités. Unecommande de référence croisée peut effectuer la translation entre ces deux valeurs.Une commande de référence croisée d'un service d'entreprise peut translater uneunité métier EX001 vers le site système MX001. Dans un canal de publication, la

Intégration de données à des applications externes 141

Page 150: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

même commande peut translater MX001 vers EX001.

Commandes de multiplication

Une commande de multiplication peut mettre à jour la société dans chaqueorganisation de la base de données système. Par exemple, utilisez une commandede multiplication pour mettre à jour la société dans chaque organisation dusystème. Des mises à jour de valeur sont effectuées lorsque le système reçoit desdonnées d'entreprise en utilisant un service d'entreprise.

Nouvelle création de commande :

La modification des valeurs de commande au niveau du système externe estgénéralement insuffisante pour personnaliser le traitement du canal de publicationou service d'entreprise prédéfini. Si de nouvelles règles métier sont mises enoeuvre, ou si un nouveau service d'entreprise ou canal de publication est mis enoeuvre, une nouvelle commande peut être nécessaire.

Utilisez les instructions suivantes lorsque vous créez de nouvelles commandes :v Les noms de commande doivent être uniques.v Pour utiliser les commandes comme élément d'une règle de traitement, et pour

définir une valeur au niveau du système externe, associez les commandes à uncanal de publication ou à un service d'entreprise.

v Lorsque vous associez un canal de publication ou un service d'entreprise à unsystème externe, toutes les commandes associées sont copiées au niveau dusystème externe. Vous pouvez affecter des valeurs au niveau du système externe.

Configuration de règles de traitementVous pouvez configurer des règles de traitement pour une structure d'objet dansl'application Canaux de publication ou dans l'application Services d'entreprise.

Définition des évaluations de commande d'intégration ou de commandesystème :

Vous pouvez utiliser une évaluation de commande pour comparer une valeur dansune zone spécifiée à la valeur dans une commande d'intégration. Vous pouvezégalement utiliser une évaluation de commande pour comparer la valeur dans unezone spécifiée avec une valeur de commande de système (une valeur MAXVARS).

Pourquoi et quand exécuter cette tâche

Si vous évaluez une commande d'intégration, celle-ci doit être de type Booléen ouValeur.

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal auquel l'évaluation est appliquée.

2. Dans la table Structure de l'objet des sous-enregistrements, sélectionnez lastructure d'objet à laquelle s'applique l'évaluation.

3. Exécutez l'une des actions suivantes :v Pour un service d'entreprise, cliquez sur Ajouter/Modifier des conditions

dans l'onglet Règles de traitement de la structure de l'objet ou l'onglet Règlesde traitement de l'objet.

142 Intégration de données à des applications externes

Page 151: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Pour un canal de publication, cliquez sur Ajouter/Modifier des conditionsdans la table Règles de traitement pour sous-enregistrement.

4. Dans la table Conditions, cliquez sur Nouvelle ligne.5. Dans la zone Conditions, entrez une valeur. Cette valeur détermine l'ordre

dans lequel l'infrastructure d'intégration évalue les conditions.6. Pour comparer la valeur de commande à une valeur de zone, sélectionnez un

des boutons radio suivants et entrez des valeurs dans les zones appropriées.v Commande d'intégration

v MAXVAR

7. Renseignez les zones suivantes :

Option Description

Type d'évaluation Définit le type d'évaluation effectuée dansla zone XML.

Valeur Valeur utilisée dans l'évaluation de lacommande.

8. Cliquez sur OK.

Définition des évaluations de zone objet :

Vous pouvez utiliser une évaluation de zone objet pour évaluer la valeur d'unezone dans un objet qui est inclus dans la définition d'une structure d'objet. Vouspouvez également évaluer d'autres objets métier accessibles en utilisant une clauseWHERE.

Pourquoi et quand exécuter cette tâche

Quels que soient les paramètres d'environnement local du serveur d'applicationsou de la base de données, toutes les zones décimales doivent utiliser un point (.)comme marque de réservation décimale. Les chiffres placés à gauche du séparateurne peuvent pas être formatés. Ce format s'applique aux données entrantes ousortantes. Par exemple, $1,738,593.64 doit être 1738593.64.

Vous pouvez utiliser une évaluation de zone objet pour réaliser les évaluationssuivantes :v Vérifiez si la zone est NULL ou nonv Comparez la valeur dans la zone objet à la valeur d'une commande d'intégration

ou d'une commande systèmev Comparez la valeur dans la zone objet à la valeur prédéfinie

Si les données ne sont pas conformes à la comparaison, l'évaluation renvoie lerésultat false. Si les données sont conformes à la comparaison, le résultat est true.

Procédure

1. Dans l'application Canaux de publication, affichez l'enregistrement de canalauquel l'évaluation s'applique.

2. Dans la table Sous-enregistrements de la structure d'objet, sélectionnez lastructure d'objet à laquelle l'évaluation s'applique.

3. Dans la table Traitement des règles pour le sous-enregistrement, cliquez surAjouter/Modifier des conditions.

4. Dans la table Conditions, cliquez sur Nouvelle ligne.

Intégration de données à des applications externes 143

Page 152: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

5. Dans la zone Conditions, entrez une valeur. Cette valeur détermine l'ordredans lequel l'infrastructure d'intégration évalue les conditions.

6. Dans l'onglet Zone objet, cliquez sur Nouvelle ligne.7. Renseignez les zones suivantes :

Option Description

Objet Objet métier contenant la zone qui estévaluée.

Relation des objets La relation entre l'objet métier défini etl'objet métier règle.

Zone La zone d'objet métier qui est évaluée.

Type d'évaluation Le type d'évaluation effectuée pour la zoned'objet métier.

Evaluer quand Il s'agit de la fréquence d'évaluation.

Entrez une valeur d'objet métier uniquement si elle n'est pas dans l'objetmétier dans lequel la règle est créée.

8. Pour comparer la valeur de la zone objet métier à une autre valeur,sélectionnez un des boutons radio suivants et entrez des valeurs dans la zoneappropriée.v Commande d'intégration

v Valeur

v MAXVAR

9. Cliquez sur OK.10. Cliquez sur Sauvegarder le canal de publication.

Définition d'évaluations d'ensemble d'objets :

Utilisez une évaluation d'ensemble d'objets pour déterminer si des enregistrementsexistent dans une relation entre deux objets métier. Si la relation renvoie unensemble d'objet métier, l'évaluation renvoie un résultat true.

Procédure

1. Dans l'application Canaux de publication, affichez l'enregistrement de canalauquel l'évaluation s'applique.

2. Dans la table Sous-enregistrements de la structure d'objet, sélectionnez lastructure d'objet à laquelle l'évaluation s'applique.

3. Dans la table Traitement des règles pour le sous-enregistrement, cliquez surAjouter/Modifier des conditions.

4. Dans la table Conditions, cliquez sur Nouvelle ligne.5. Dans la zone Conditions, entrez une valeur. Cette valeur détermine l'ordre

dans lequel l'infrastructure d'intégration évalue les conditions.6. Dans l'onglet Ensemble d'objets, cliquez sur Nouvelle ligne.7. Renseignez les zones suivantes :

Option Description

Objet Objet métier contenant la zone qui estévaluée.

Relation des objets La relation entre l'objet métier défini etl'objet métier règle.

144 Intégration de données à des applications externes

Page 153: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Description

Type d'évaluation Le type d'évaluation effectuée pour la zoned'objet métier.

8. Cliquez sur OK.9. Cliquez sur Sauvegarder le canal de publication.

Définition des évaluations de zone XML :

L'évaluation d'une zone XML permet d'évaluer une valeur dans lesous-enregistrement d'une structure d'objet. Lorsque vous utilisez une évaluationde zone XML, vous pouvez contrôler si une zone est NULL, et comparer lesvaleurs dans une zone d'objet métier avec une commande d'intégration, une valeursystème ou une valeur prédéfinie.

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal auquel l'évaluation s'applique.

2. Dans la table Structure de l'objet des sous-enregistrements, sélectionnez lastructure d'objet à laquelle s'applique l'évaluation.

3. Exécutez l'une des actions suivantes :v Pour un service d'entreprise, cliquez sur Ajouter/Modifier des conditions

dans l'onglet Règles de traitement de la structure d'objet ou Règles detraitement d'objet.

v Pour un canal de publication, cliquez sur Ajouter/Modifier des conditionsdans la table Règles de traitement pour le sous-enregistrement.

4. Dans la table Conditions, cliquez sur Nouvelle ligne.5. Facultatif : Dans la zone Conditions, entrez une valeur. Cette valeur détermine

l'ordre dans lequel l'infrastructure d'intégration évalue les conditions.6. Dans l'onglet Zone XML, cliquez sur Nouvelle ligne.7. Renseignez les zones suivantes :

Option Description

Zone Zone XML qui est évaluée.

Type d'évaluation Type d'évaluation effectuée pour la zoneXML.

Evaluer quand Fréquence d'évaluation.

8. Pour comparer la valeur de la zone XML à une autre valeur, sélectionnez undes boutons radio suivants et entrez des valeurs dans la zone appropriée.v Commande d'intégration

v Valeur

v MAXVAR

v Champ de comparaison

9. Cliquez sur OK.

Intégration de données à des applications externes 145

Page 154: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Définition des règles de traitement :

Vous pouvez définir une règle de traitement pour réaliser le traitement d'unservice d'entreprise et d'un canal de publication. Lorsque vous utilisez une règle detraitement, vous pouvez réaliser un traitement d'événement entrant et sortantpersonnalisé sans utiliser de classe Java.

Avant de commencer

Avant de définir une règle de traitement, vous devez considérer les points suivants:v si une règle de service d'entreprise ou de canal de publication évalue une zone

XML ou une zone d'objet métier.v le sous-enregistrement ou l'objet métier spécifique sur lequel la règle est définie.v les actions qui déclenchent la règle.

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal auquel la règle s'applique.

2. Dans la table Structure de l'objet des sous-enregistrements, sélectionnez lastructure de l'objet des sous-enregistrements à laquelle s'applique la règle.

3. Pour un service d'entreprise, effectuez les actions suivantes :v Dans l'onglet Règles de traitement de la structure d'objet, cliquez sur

Nouvelle ligne pour définir la règle de traitement d'événement entrant dansune structure d'objet.

v Dans l'onglet Règles de traitement d'objet, cliquez sur Nouvelle ligne pourdéfinir la règle de traitement d'événement entrant dans un objet métier.

4. Pour un canal de publication, cliquez sur Nouvelle ligne dans l'onglet Règlesde traitement pour le sous-enregistrement pour définir une règle de traitementd'événement sortant dans un objet métier.

5. Dans la zone Règle, entrez un identificateur de règle.6. Dans la zone Action, entrez une valeur.7. Pour changer l'ordre dans lequel l'application applique les règles de traitement

à un objet, changez la valeur dans la zone Séquence. L'infrastructured'intégration applique les règles de manière séquentielle en commençant parl'objet de niveau principal.

8. Effectuez une ou plusieurs des actions suivantes.v Cochez ou décochez la case Appliquer à l'insertion de l'objet principal.v Cochez ou décochez la case Appliquer à la mise à jour de l'objet principal.v Cochez ou décochez la case Appliquer à la suppression de l'objet principal.

Les paramètres mentionnés déterminent si l'infrastructure d'intégrationapplique la règle de traitement lorsqu'une ligne est insérée, mise à jour ousupprimée dans l'objet métier principal, dans la structure d'objet.

9. Cliquez sur Sauvegarder le service d'entreprise ou Sauvegarder le canal depublication.

146 Intégration de données à des applications externes

Page 155: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Activation des règles de traitement :

Vous devez activer une règle de traitement avant qu'elle ne puisse être appliquée àdes objets service d'entreprise ou canal de publication. Une règle de traitementactivée indique qu'elle est prête pour effectuer un traitement d'événement entrantet sortant.

Pourquoi et quand exécuter cette tâche

La désactivation d'une règle de traitement prédéfinie peut entraîner des erreurs detraitement de l'infrastructure d'intégration.

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal contenant la règle de traitement que vous voulez activer.

2. Dans la table Structure de l'objet des sous-enregistrements, sélectionnez l'objetauquel s'applique la règle.

3. Indiquez si vous voulez que la règle de traitement soit activée ou désactivée.

Option Activé

Activé Sélectionné

Désactivé Effacé

Pour un service d'entreprise, vous pouvez activer ou désactiver la règle detraitement dans l'onglet Règles de traitement de la structure d'objet ou Règlesde traitement d'objet. Pour le canal de publication, vous pouvez activer oudésactiver la règle de traitement dans l'onglet Règles de traitement pour lesous-enregistrement.

4. Cliquez sur Sauvegarder le service d'entreprise ou Sauvegarder le canal depublication.

Ajout de commandes :

Les commandes d'intégration permettent de configurer le comportement de toutservice d'entreprise ou canal de publication en fonction des exigences d'uneorganisation et d'un site. Les commandes peuvent être de type booléen, deréférence croisée, de liste et de valeur.

Ajout de commandes booléennes :

Vous pouvez ajouter une commande booléenne lorsque vous avez besoin d'unecommande d'intégration spécifiant une valeur true ou false. Un service d'entrepriseou un canal de publication peut utiliser cette commande booléenne dans sesévaluations de règle de traitement. La valeur true ou false que vous affectez à lacommande détermine si un service d'entreprise ou un canal de publicationapplique une règle de traitement à une transaction.

Procédure

1. Dans l'application Services d'entreprise, dans le menu Sélectionner une action,sélectionnez Créer des commandes d'intégration.

2. Cliquez sur Ajouter une nouvelle commande > Ajouter une nouvellecommande booléenne.

3. Dans la zone Commande d'intégration, entrez l'identificateur pour lacommande booléenne.

Intégration de données à des applications externes 147

Page 156: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

4. Spécifiez si vous voulez que la commande booléenne ait une valeur par défauttrue ou false.

Option Vrai (True) par défaut

Valeur True Sélectionnée

Valeur False Effacée

5. Cliquez sur OK pour fermer la boîte de dialogue Commande booléenne.6. Cliquez sur OK pour fermer la boîte de dialogue Créer des commandes

d'intégration.

Exemple

Vous pouvez utiliser une commande booléenne pour indiquer si les servicesd'entreprises ou les canaux de publication reçoivent ou envoient des transactionsde bon de commande. Vous pouvez configurer une action de règle de traitementd'un service d'entreprise ou d'un canal de publication pour sauter une transaction.Si la valeur par défaut que vous affectez à la commande booléenne est true, ainsique l'évaluation de la règle de traitement, le service d'entreprise ou le canal depublication reçoivent et envoient des mises à jour de transaction de bon decommande.

Que faire ensuite

Vous pouvez associer une commande d'intégration à un service d'entreprise ou uncanal de publication dans l'application Services d'entreprise ou Canaux depublication. Ces associations rendent les commandes d'intégration disponibles pourle traitement de messages entrant et sortant. Vous pouvez également associer unecommande d'intégration à un système externe dans l'application Systèmes externes.La valeur que vous définissez dans la commande au niveau externe écrase lavaleur de commande définie au niveau du service d'entreprise et du canal depublication.

Ajout de commandes de référence croisée :

Vous pouvez ajouter une commande de type référence croisée lorsque vous avezbesoin d'une commande d'intégration pour remplacer une valeur par une autre.Vous pouvez remplacer une valeur dans des messages entrant ou sortant au seinde plusieurs organisations ou sites. Une commande de référence croisée peuteffectuer une translation entre une valeur dans le système de gestion des actifs etune valeur dans le système externe.

Pourquoi et quand exécuter cette tâche

Un canal de publication utilise une commande de référence croisée pour convertirune valeur sortante de système de gestion d'actif en une valeur de système externe.Un service d'entreprise utilise une commande de référence croisée pour convertirune valeur entrante de système externe en une valeur de système de gestiond'actifs. Si vous utilisez des synonymes, entrez la valeur externe comme valeur decommande, et pas la valeur d'application interne. Vous devez utiliser un point (.)comme marque de réservation lorsque vous entrez des nombres décimaux commevaleur de contrôle. Les chiffres à gauche du séparateur ne sont pas convertis. Parexemple, $1,738,593.64 doit être 1738593.64.

148 Intégration de données à des applications externes

Page 157: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure

1. Dans l'application Services Enterprise ou Canaux de publication, sélectionnezl'action Créer des commandes d'intégration.

2. Cliquez sur Ajouter une nouvelle commande > Ajouter une nouvellecommande XRef Control.

3. Renseignez les zones suivantes :

Option Description

Commande d'intégration Identificateur pour la commande devaleur.

Domaine Domaine utilisé pour contrôler les valeurssaisies pour la commande d'intégration.

4. Dans la table Valeurs, cliquez sur Nouvelle ligne.5. Renseignez les zones suivantes :

Option Description

Valeur par défaut Valeur convertie vers ou à partir d'unevaleur de système externe.

Valeur externe par défaut La valeur de système externe est convertievers ou à partir de la valeur par défaut.

6. Cliquez sur OK pour fermer la boîte de dialogue Commande de référencecroisée.

7. Cliquez sur OK pour fermer la boîte de dialogue Créer des commandesd'intégration.

Exemple

Les sites de système de gestion des actifs correspondent à des unités commercialesde système externe, mais deux systèmes externes utilisent des valeurs différentespour ces entités. Une commande de référence croisée peut effectuer la translationentre les deux valeurs non-concordantes et la valeur du système de gestion desactifs.

Une commande de référence croisée dans un service d'entreprise peut effectuer latranslation d'une valeur de site de système externe EX001 en une valeur de site desystème de gestion des actifs MX001.

Que faire ensuite

Vous pouvez associer une commande d'intégration à un service d'entreprise ou uncanal de publication dans l'application Services d'entreprise ou Canaux depublication. Ces associations rendent les commandes d'intégration disponibles pourle traitement de messages entrant et sortant. Vous pouvez également associer unecommande d'intégration à un système externe dans l'application Systèmes externes.La valeur que vous définissez dans la commande au niveau externe écrase lavaleur de commande définie au niveau du service d'entreprise et du canal depublication.

Ajout de commandes de liste :

Créez une commande d'intégration de type liste lorsque vous avez besoin d'unecommande qui contient une liste de valeurs. Un service d'entreprise ou un canal de

Intégration de données à des applications externes 149

Page 158: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

publication peut utiliser cette commande de liste dans ses évaluations de règle detraitement. La règle peut sauter le traitement de la transaction lorsque la valeur dela zone de données ne correspond à aucune des valeurs de commande de listedéfinies.

Pourquoi et quand exécuter cette tâche

Vous devez utiliser un point (.) comme marque de réservation lorsque vous entrezdes nombres décimaux comme valeur de contrôle. Les chiffres à gauche duséparateur ne sont pas convertis. Par exemple, $1,738,593.64 doit être 1738593.64.

Procédure

1. Dans l'application Services d'entreprise, dans le menu Sélectionner une action,sélectionnez Créer des commandes d'intégration.

2. Cliquez sur Ajouter une nouvelle commande > Ajouter une nouvellecommande de liste.

3. Renseignez les zones suivantes :

Option Description

Commande d'intégration Identificateur pour la commande devaleur.

Domaine Domaine utilisé pour contrôler les valeurssaisies pour la commande d'intégration.

4. Dans la table Valeurs, cliquez sur Nouvelle ligne.5. Dans la zone Valeur par défaut, entrez une valeur pour l'évaluation.6. Cliquez sur OK pour fermer la boîte de dialogue Commande de liste.7. Cliquez sur OK pour fermer la boîte de dialogue Créer des commandes

d'intégration.

Exemple

Les interventions sont envoyées à un système externe uniquement si le statut del'intervention est APPR (approuvé) ou COMPLETE. La règle de traitement peutcontrôler le statut d'une intervention par rapport à une commande de listecontenant ces deux valeurs de statut. Si le statut d'une intervention ne correspondpas aux deux valeurs de la commande de liste, la transaction de l'intervention n'estpas envoyée au système externe.

Que faire ensuite

Vous pouvez associer une commande d'intégration à un service d'entreprise ou uncanal de publication dans l'application Services d'entreprise ou Canaux depublication. Ces associations rendent les commandes d'intégration disponibles pourle traitement de messages entrant et sortant. Vous pouvez également associer unecommande d'intégration à un système externe dans l'application Systèmes externes.La valeur que vous définissez dans la commande au niveau externe écrase lavaleur de commande définie au niveau du service d'entreprise et du canal depublication.

Ajout de commandes de valeur :

Créez une commande d'intégration de type valeur lorsque vous avez besoin d'unecommande contenant une valeur unique. Un service d'entreprise ou un canal de

150 Intégration de données à des applications externes

Page 159: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

publication peut utiliser cette commande de valeur dans ses évaluations de règlede traitement. La règle peut sauter le traitement de la transaction lorsque la valeurde la zone de données ne correspond à aucune des valeurs de commande devaleur définies.

Pourquoi et quand exécuter cette tâche

Vous avez la possibilité de fournir une valeur de commande par défaut etd'affecter un domaine à la commande pour garantir la validation de toute valeurentrée pour cette dernière.

Procédure

1. Dans le menu Sélectionner une action dans l'application Services d'entrepriseou Canaux de publication, sélectionnez Créer des commandes d'intégration.

2. Cliquez sur Ajouter une nouvelle commande > Ajouter une nouvellecommande de valeur.

3. Renseignez les zones suivantes :

Option Description

Commande d'intégration Identificateur pour la commande devaleur.

Domaine Domaine utilisé pour contrôler les valeurssaisies pour la commande d'intégration.

Valeur par défaut Valeur par défaut pour la commanded'intégration.

4. Cliquez sur OK pour fermer la boîte de dialogue Commande de valeur.5. Cliquez sur OK pour fermer la boîte de dialogue Créer des commandes

d'intégration.

Exemple

Les bons de commande sont reçus par le système de gestion des actifs uniquementsi la valeur de type de société est EX. Pour déterminer si le bon de commande estreçu, la règle de traitement peut contrôler la valeur du type de société par rapportà la valeur définie dans la commande. Si la valeur de société EX ne correspond pasà la valeur contenue dans la commande, la transaction du bon de commande n'estpas envoyée au système de gestion des actifs.

Que faire ensuite

Vous pouvez associer une commande d'intégration à un service d'entreprise ou uncanal de publication dans l'application Services d'entreprise ou Canaux depublication. Ces associations rendent les commandes d'intégration disponibles pourle traitement de messages entrant et sortant. Vous pouvez également configurerune commande d'intégration sur un système externe dans l'application Systèmesexternes. La valeur que vous définissez dans la commande au niveau du systèmeexterne écrase la valeur de commande définie au niveau du service d'entreprise etdu canal de publication.

Intégration de données à des applications externes 151

Page 160: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Association des commandes d'intégration aux services d'entreprise et aux canauxde publication :

Vous pouvez associer des commandes d'intégration à un service d'entreprise ou uncanal de publication pour que la commande soit disponible pour le traitement demessages entrant et sortant. Un service d'entreprise ou un canal de publicationpeuvent être associés à une ou plusieurs commandes d'intégration.

Pourquoi et quand exécuter cette tâche

Lorsque vous associez une commande d'intégration à un service d'entreprise ou uncanal de publication, vous pouvez remplacer les valeurs prédéfinies descommandes qui sont configurées au niveau du service ou du canal. Vous pouvezdéfinir des commandes d'intégration à l'échelle globale et les configurer pourchaque système externe, selon les besoins des organisations et des sites individuels.

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal pour lequel vous souhaitez associer une commanded'intégration.

2. Sélectionnez l'action Associer les commandes d'intégration.3. Procédez comme suit :

Option Description

Sélectionner des commandesd'intégration individuellement

1. Cliquez sur Nouvelle ligne.

2. Dans la zone Commande d'intégration,entrez une valeur de commande.

Sélectionner plusieurs commandesd'intégration

1. Cliquez sur Sélectionner descommandes.

2. Sélectionnez les commandesappropriées.

3. Cliquez sur OK.

4. Cliquez sur OK pour fermer la boîte de dialogue Associer des commandesd'intégration.

Gestion des données dans les zones de sous-enregistrement :

Dans le cadre d'une intégration, vous pouvez travailler avec les valeurs dans uneseule zone de données source pour définir, combiner, diviser ou remplacer lavaleur.

Définition des valeurs de zone de sous-enregistrement :

Vous pouvez affecter une valeur à une zone de données spécifiée pour remplacerla valeur existante dans la zone de données. Vous pouvez indiquer si une valeurest toujours affectée ou affectée uniquement lorsque la zone de données cible estnulle.

Avant de commencer

Vous devez créer une règle de traitement contenant une action de configurationavant de pouvoir configurer des valeurs de zone de sous-enregistrement.

152 Intégration de données à des applications externes

Page 161: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal auquel est appliqué l'action de configuration de zone desous-enregistrement.

2. Dans l'onglet Service d'entreprise ou Canal de publication, sélectionnez la règlede traitement à laquelle est appliquée l'action de configuration de zone desous-enregistrement.

3. Exécutez l'une des actions suivantes :v Pour un service d'entreprise, cliquez sur Zones de sous-enregistrement dans

l'onglet Règles de traitement de la structure de l'objet ou l'onglet Règles detraitement de l'objet.

v Pour un canal de publication, cliquez sur Zones de sous-enregistrementdans la table Règles de traitement pour sous-enregistrement.

4. Cliquez sur Nouvelle ligne.5. Dans la zone Zone, entrez le nom de la zone de données cible. Cette valeur

définit la zone que vous voulez remplacer.6. Indiquez si une valeur est toujours affectée ou affectée uniquement lorsque la

zone de données cible est nulle.

Option Remplacer si la valeur est nulle

Affecter si une zone de données est nulle Sélectionné

Toujours affecter Effacé

7. Pour spécifier la zone source, sélectionnez un des boutons radio suivants etsaisissez les valeurs dans les zones appropriées :v Commande d'intégration

v MAXVAR

v Zone

v Objet

8. Cliquez sur OK.

Combinaison des valeurs de la zone Sous-enregistrement :

Vous pouvez combiner les valeurs de plusieurs zones de données source oucommandes d'intégration en une seule zone de données cible. Vous pouvezcombiner des valeurs lorsque des non concordances se produisent entre une valeurde système de gestion des actifs et la valeur du système externe. Par exemple, uneclé de système externe en deux parties peut être mappée sur une clé en une seulepartie dans le système de gestion des actifs.

Avant de commencer

Vous devez créer une règle de traitement contenant une action combinée avant depouvoir combiner des valeurs de zone de sous-enregistrement.

Pourquoi et quand exécuter cette tâche

Les champs source et cible doivent figurer dans le même objet. Cette action écrasesystématiquement la valeur existante du champ cible. Assurez-vous que les zonessource et cible sont alphanumériques pour éviter des erreurs de traitement.

Intégration de données à des applications externes 153

Page 162: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal auquel est appliqué l'action combinée de zone desous-enregistrement.

2. Dans l'onglet Service d'entreprise ou Canal de publication, sélectionnez la règlede traitement à laquelle est appliquée l'action combinée de zone desous-enregistrement.

3. Exécutez l'une des actions suivantes :v Pour un service d'entreprise, cliquez sur Zones de sous-enregistrement dans

l'onglet Règles de traitement de la structure de l'objet ou l'onglet Règles detraitement de l'objet.

v Pour un canal de publication, cliquez sur Zones de sous-enregistrementdans la table Règles de traitement pour sous-enregistrement.

4. Dans la table Zones du sous-enregistrement cible, effectuez l'une des actionssuivantes :

Option Description

Sélectionnez les zones cibleindividuellement

1. Cliquez sur Nouvelle ligne.

2. Dans la zone Zone, entrez une zone dedonnées cible.

3. Dans la zone Commande d'intégrationdu séparateur, entrez une valeur dedélimiteur séparant les segments dans lazone cible.

Sélectionner plusieurs zones ciblesimultanément

1. Cliquez sur Sélectionner une zone.

2. Sélectionnez les zones appropriées.

3. Cliquez sur OK.

4. Dans la zone Commande d'intégrationdu séparateur, entrez une valeur dedélimiteur séparant les segments dans lazone cible.

5. Dans la table Zones du sous-enregistrement source pour la cible, effectuez l'unedes actions suivantes :

Option Description

Sélectionnez les zones sourceindividuellement

1. Cliquez sur Nouvelle ligne.

2. Sélectionnez un des boutons radiosuivants et entrez des valeurs dans leszones appropriées :

v Zone

v Commande d'intégration

3. Entrez une valeur dans la zone Séquencepour définir l'ordre dans lequell'application déplace les segments de lazone source vers les zones cible.

154 Intégration de données à des applications externes

Page 163: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Description

Sélectionner plusieurs zones sourcesimultanément

1. Cliquez sur Sélectionner une zone.

2. Sélectionnez les zones appropriées.

3. Cliquez sur OK.

4. Entrez une valeur dans la zone Séquencepour définir l'ordre dans lequell'application déplace les segments de lazone source vers les zones cible.

6. Cliquez sur OK.

Fractionnement des valeurs de zone de sous-enregistrement :

Vous pouvez fractionner la valeur d'une zone de données source en plusieurszones cibles. Vous pouvez fractionner des valeurs lorsque des non concordances seproduisent entre une valeur de système de gestion des actifs et la valeur dusystème externe. Par exemple, une clé de système de gestion des actifs en unepartie peut être mappée en une clé en deux parties dans le système externe.

Avant de commencer

Vous devez créer une règle de traitement contenant une action de fractionnementavant de pouvoir fractionner des valeurs de zone de sous-enregistrement.

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal auquel est appliqué l'action de fractionnement de zone desous-enregistrement.

2. Dans l'onglet Service d'entreprise ou Canal de publication, sélectionnez la règlede traitement à laquelle est appliquée l'action de fractionnement de zone desous-enregistrement.

3. Exécutez l'une des actions suivantes :v Pour un service d'entreprise, cliquez sur Zones de sous-enregistrement dans

l'onglet Règles de traitement de la structure de l'objet ou l'onglet Règles detraitement de l'objet.

v Pour un canal de publication, cliquez sur Zones de sous-enregistrementdans la table Règles de traitement pour sous-enregistrement.

4. Dans la table Zones du sous-enregistrement cible, effectuez l'une des actionssuivantes :

Option Description

Sélectionnez les zones cibleindividuellement

1. Cliquez sur Nouvelle ligne.

2. Dans la zone Zone, entrez une zone dedonnées cible.

3. Dans la zone Commande d'intégrationdu séparateur, entrez une valeur dedélimiteur séparant les segments dansla zone cible.

Intégration de données à des applications externes 155

Page 164: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Description

Sélectionner plusieurs zones ciblesimultanément

1. Cliquez sur Sélectionner une zone.

2. Sélectionnez les zones appropriées.

3. Cliquez sur OK.

4. Dans la zone Commande d'intégrationdu séparateur, entrez une valeur dedélimiteur séparant les segments dansla zone cible.

5. Dans la table Zones de sous-enregistrement cible pour la source, exécutez l'unedes actions suivantes :

Option Description

Sélectionnez les zones sourceindividuellement

1. Cliquez sur Nouvelle ligne.

2. Dans la zone Zone, entrez le nom de lazone cible qui reçoit le premiersegment de données source ou lesegment suivant.

3. Si vous n'avez pas indiqué de valeurdans la zone Commande d'intégrationdu séparateur, entrez un nombre dansla zone Longueur de la zone.

4. Entrez une valeur dans la zoneSéquence pour définir l'ordre danslequel l'application déplace lessegments de la zone source vers leszones cible.

Sélectionner plusieurs zones sourcesimultanément

1. Cliquez sur Sélectionner une zone.

2. Sélectionnez les zones appropriées.

3. Cliquez sur OK.

4. Si vous n'avez pas indiqué de valeurdans la zone Commande d'intégrationdu séparateur, entrez un nombre dansla zone Longueur de la zone.

5. Entrez une valeur dans la zoneSéquence pour définir l'ordre danslequel l'application déplace lessegments de la zone source vers leszones cible.

6. Cliquez sur OK.

Remplacement des valeurs de zone de sous-enregistrement :

Vous pouvez remplacer une valeur dans une zone de données par une autrevaleur. Vous pouvez remplacer une valeur lorsqu'un système externe et le systèmede gestion des actifs ont des identificateurs différents pour la même entité. Parexemple, un identificateur d'usine d'un système externe peut être converti en unidentificateur de site du système de gestion des actifs.

Avant de commencer

Vous devez créer une règle de traitement contenant une action de remplacementavant de pouvoir remplacer des valeurs de zone de sous-enregistrement. Vous

156 Intégration de données à des applications externes

Page 165: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

devez également créer une commande de référence croisée contenant les valeursinitiales et les nouvelles valeurs pour la zone de données.

Procédure

1. Dans l'application Services d'entreprise ou Canaux de publication, affichez leservice ou le canal auquel est appliqué l'action de remplacement de zone desous-enregistrement.

2. Dans l'onglet Service d'entreprise ou Canal de publication, sélectionnez la règlede traitement à laquelle est appliquée l'action de remplacement de zone desous-enregistrement.

3. Exécutez l'une des actions suivantes :v Pour un service d'entreprise, cliquez sur Zones de sous-enregistrement dans

l'onglet Règles de traitement de la structure de l'objet ou l'onglet Règles detraitement de l'objet.

v Pour un canal de publication, cliquez sur Zones de sous-enregistrementdans la table Règles de traitement pour sous-enregistrement.

4. Cliquez sur Nouvelle ligne.5. Dans la zone Zone, entrez le nom de la zone de données cible. Cette valeur

définit la zone que vous voulez remplacer. La zone cible doit être dans l'objetde sous-enregistrement indiqué en haut de la boîte de dialogue.

6. Dans la zone Commande d'intégration, entrez le nom d'une commande detype référence croisée contenant les valeurs initiales et les nouvelles valeurspour la zone cible.

7. Cliquez sur OK.

Personnalisation basée sur du codeL'infrastructure d'intégration fournit des marques de réservation dans les flux detransactions où vous pouvez insérer votre propre code pour fournir la logiquedestinée à personnaliser le traitement des transactions. Vous pouvez insérer desclasses Java ou des scripts d'automatisation à des points sélectionnés du traitementdes structures d'objet, des canaux de publication, des services d'entreprise et descanaux d'appel. Vous pouvez également utiliser les mappes XSL pour transformerles messages.

Lorsque vous créez ou mettez à jour un fichier de classe Java, vous devezrégénérer le fichier EAR d'application pour que les composants d'intégrationpuissent l'utiliser. Vous pouvez écrire un script dans l'un des langages de scriptpris en charge par l'application Scripts d'automatisation, ou vous pouvez importerun script que vous avez créé dans une application tierce et l'activer en vue d'uneutilisation immédiate. Lorsque vous créez ou mettez à jour une mappe XSL, vouspouvez la stocker soit dans le fichier EAR d'application, soit dans un répertoire devotre système de fichiers.

Lorsque le code de personnalisation a été configuré à des fins d'utilisation,l'infrastructure d'intégration appelle le code au point approprié lors du traitementde la transaction.

Vous pouvez télécharger des exemples de classes Java ou de fichiers XSL dans labibliothèque Tivoli Open Process Automation Library (OPAL) d'IBM.

Méthodes et classes Java de personnalisationVous pouvez étendre le traitement standard des messages sortants et entrants àl'aide des classes Java. Plusieurs marques de réservation existent dans les flux de

Intégration de données à des applications externes 157

Page 166: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

traitement de messages, où vous pouvez insérer du code Java personnalisé pourmodifier le contenu et/ou le traitement d'un message.

Classes d'exit externes :

Les classes d'exit externes fournissent une classe de base, ExternalExit, que vouspouvez étendre pour personnaliser le traitement du canal de publication, duservice d'entreprise et du canal d'appel.

Pour les messages sortants, l'entrée dans la classe d'exit externe est l'élément irDatadu message XML. La sortie du traitement de classe est l'élément erData dumessage XML qui est livré à la destination cible. Pour les messages entrants,l'entrée dans la classe d'exit externe est l'élément erData du message entrant. Lasortie est l'élément irData qui est livré à la structure d'objet associée à des fins detraitement dans Maximo Asset Management.

Pour utiliser une classe d'exit externe à des fins de personnalisation, indiquez votreclasse Java dans la zone Classe de traitement dans l'application Canaux depublication ou dans l'application Canaux d'appel.

Une autre approche consiste à implémenter une classe d'exit utilisateur. Si unadaptateur est installé pour Oracle ou SAP, des classes de traitement prédéfiniessont fournies et les personnalisations doivent être effectuées via la classe d'exitutilisateur. Si aucune classe de traitement n'existe, vous pouvez choisird'implémenter un code personnalisé dans la classe d'exit externe ou dans la classed'exit utilisateur.

Classes d'exit utilisateur :

Pour les transactions entrantes et sortantes d'un canal de publication, d'un serviced'entreprise ou d'un canal d'appel, une classe d'exit utilisateur peut compter uneméthode préprocesseur et une méthode postprocesseur. Pour les transactionsentrantes, la classe d'exit utilisateur peut compter une méthode supplémentaire quitraite les objets métier juste avant leur validation dans la base de données.

Méthode de prétraitement pour les transactions sortantes :

L'entrée du point d'exit utilisateur sortant est le XML généré par la structured'objet. Si vous possédez une classe de traitement d'adaptateur ERP, vous pouvezutiliser la méthode de prétraitement ou de post-traitement pour implémenter votrelogique personnalisée en fonction de vos besoins.

Le point d'exit de prétraitement vous permet de changer les données du messagequi modifient ensuite la logique d'une classe de traitement lorsqu'elle estimplémentée.

Le message sortant peut être personnalisé dans la méthode préprocesseur, à l'aidede la méthode suivante :public StructureData setUserValueOut(StructureData irData)

Cette méthode peut effectuer les traitements suivants :v Valider les données.v Changer les données système en modifiant l'enregistrement IR envoyé au

système externe.

158 Intégration de données à des applications externes

Page 167: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Arrêter le message en cours d'envoi à partir de Maximo Asset Management engénérant une exception système. Le message entier est annulé. Si le message estinitié par un événement, le message entier est également annulé, ainsi que toutesles modifications effectuées dans une application.

v Arrêter le message en cours d'envoi au système externe en générant uneexception SKIP_TRANSACTION.

v Journaliser la transaction.

Méthode de post-traitement pour les transactions sortantes :

Dans la méthode de post-traitement de l'exit utilisateur, l'élément IR provenant dela structure d'objet et l'élément ER provenant de la sortie XML de la classe detraitement sont tous les deux disponibles pour traitement.

Utilisez la méthode suivante pour personnaliser les messages sortants.public StructureData setUserValueOut(StructureData irData, StructureData erData)

Cette méthode peut effectuer les processus suivants :v Valider les données.v Changer les données en modifiant l'enregistrement ER envoyé au système

externe.v Mapper des données supplémentaires de l'élément irData vers l'élément erData.v Interrompre l'envoi de la transaction depuis Maximo Asset Management en

envoyant une exception système. Le message entier est annulé. Si le message estinitié par un événement, le message entier est également annulé, y compristoutes les modifications effectuées dans une application.

v Arrêter le message en cours d'envoi au système externe en générant uneexception SKIP_TRANSACTION.

v Journaliser la transaction.

La classe d'exit utilisateur du canal de publication peut être identifiée dansl'application Canaux de publication.

Méthode de prétraitement pour les transactions entrantes :

Dans la méthode de prétraitement pour les transactions entrantes, l'entréecorrespond au message XML fourni par le système externe. Si nécessaire, vouspouvez changer des données dans le message qui influent sur la logique detraitement dans la classe de traitement.

La personnalisation des transactions entrantes peut être effectuée dans le premierexit à l'aide de la méthode suivante :public StructureData setUserValueIn(StructureData erData)

Cette méthode peut exécuter le traitement suivant :v Valider les données.v Changer les données externes en modifiant l'enregistrement ER avant de le

mapper vers l'enregistrement IR et de le sauvegarder dans le système.v Arrêter le traitement de la transaction en générant une exception. Dans le cas

des messages basés sur la file d'attente, la transaction reste dans la file d'attenteen vue d'un nouveau traitement. Dans les autres cas, les messages sont renvoyésau client ayant démarré le service d'entreprise.

Intégration de données à des applications externes 159

Page 168: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Arrêter le traitement du message dans Maximo Asset Management en générantune exception SKIP_TRANSACTION. Dans ce cas, le message n'est passauvegardé dans le système. Les messages basés sur la file d'attente sontsupprimés de celle-ci.

v Journaliser la transaction.

Méthode de post-traitement pour les transactions entrantes :

Dans la méthode de post-traitement pour les transactions entrantes, lesenregistrements IR et les enregistrements ER sont disponibles pour le traitement.

La personnalisation des transactions entrantes peut être effectuée dans le flux depost-traitement à l'aide de la méthode suivante :public StructureData setUserValueIn(StructureData irData, StructureData erData)

Cette méthode peut effectuer les processus suivants :v Valider les données.v Changer les données externes en modifiant un enregistrement IR à sauvegarder

dans le système.v Mapper des données supplémentaires à partir de l'enregistrement ER vers

l'enregistrement IR.v Arrêter le traitement de la transaction en générant une exception. Dans le cas

des messages basés sur la file d'attente, la transaction reste dans la file d'attenteen vue d'un nouveau traitement. Dans les autres cas, les messages sont renvoyésau client ayant démarré le service d'entreprise.

v Arrêter le traitement du message dans Maximo Asset Management en envoyantune exception skip_transaction. Dans ce cas, le message n'est pas sauvegardédans le système. Les messages basés sur la file d'attente sont supprimés decelle-ci.

v Journaliser la transaction.

Vous pouvez identifier la classe d'exit utilisateur du service d'entreprise dansl'application Services Enterprise.

Traitement des objets métier sur des transactions entrantes :

La classe de sortie utilisateur d'un service d'entreprise possède une méthodesupplémentaire, setUserMboIn, qui permet d'activer le traitement personnalisé aumoment où les objets métier sont créés à partir de l'XML de structure d'objet, maisn'ont pas encore été sauvegardés dans la base de données.

Cet exit utilisateur est appelé après le traitement du système et peut être exécutésur les objets qui sont créés dans le système au moyen de la méthode suivante :public void setUserMboIn(MboRemote mbo)

Le paramètre d'objet est une référence à un objet principal dans la structure d'objet.

Cette méthode est appelée une fois pour l'objet principal. Pour une transactionXML avec plusieurs noms, l'exit de l'objet est appelé une fois pour chaque nom.

Cette méthode peut effectuer les processus suivants :v Valider les données.

160 Intégration de données à des applications externes

Page 169: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Arrêter la sauvegarde de la transaction dans le système en renvoyant uneexception système. Dans le cas des messages basés sur une file d'attente, latransaction reste dans la file d'attente pour une nouvelle tentative.

v Consigner la transaction.

Vous pouvez identifier la classe d'exit utilisateur dans l'application ServicesEnterprise.

Classes de filtre de définition d'événement :

Pour les transactions asynchrones sortantes utilisant les canaux de publication,vous pouvez exécuter une classe Java personnalisée ou un script d'automatisation àl'aide d'une classe de filtre de définition d'événement. Le traitement d'une classe defiltre de définition d'événement a lieu avant la sérialisation des données dans lacouche de la structure d'objet pour un message sortant. La classe de filtre dedéfinition d'événement peut insérer la logique qui affecte la création du messaged'intégration à ce point de traitement.

Une utilisation courante de la classe de filtre de définition d'événement concernel'insertion de la logique permettant de supprimer d'un message les zones ou lesobjets indésirables afin de réduire la quantité de données à gérer dans le processusde sérialisation. Une autre utilisation relativement courante consiste à outrepasserla logique récursive par défaut qui empêche un événement de l'intégration sortanted'envoyer un message d'intégration sortant. Le fait d'outrepasser le comportementpar défaut dans ce scénario peut permettre à un message sortant d'être initié àpartir d'un événement déclenché par un message entrant.

Classes d'exit de gestionnaires :

Plusieurs méthodes prédéfinies, ou gestionnaires, sont disponibles pour envoyerdes données à un système externe, y compris HTTP, un appel de bean Javad'entreprise et les tables d'interface. Certaines de ces méthodes contiennent desmarques de réservation d'exit utilisateurs à des fins de personnalisation.

Classe d'exit utilisateur pour le traitement de bean d'entreprise :

Vous pouvez utiliser une marque de réservation exit pour la personnalisation desclasses lorsque des transactions sont envoyées à un système externe par un beand'entreprise. Cette classe d'exit est facultative et est appelée avant le beand'entreprise.

L'implémentation de cette classe Java doit résoudre la signature de la méthode dubean d'entreprise démarré par le gestionnaire et les paramètres requis par cetteméthode. Si aucune valeur n'est spécifiée pour cette propriété, le système appliqueun exit par défaut appelé DefaultEJBExit. Ce dernier essaie de résoudre lasignature et les paramètres de la méthode du bean d'entreprise.

Cette classe doit implémenter l'interface psdi.iface.router.EJBExit et lesméthodes suivantes :v La méthode getClassParams() renvoie la signature de la méthode sous forme

d'un tableau de classes Java :public Class[] getClassParams()

v La méthode getObjectParams renvoie un tableau contenant les paramètres desbeans d'entreprise sous la forme d'un tableau d'objets Java :

Intégration de données à des applications externes 161

Page 170: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

public Object[] getObjectParams(byte[] data, String interfaceName, StringdestinationName)

v Une fois l'appel du bean d'entreprise réussi, la méthode responseOk() estappelée avec un objet sous la forme d'une réponse à l'appel :public void responseOk(Object response)throws MXException

v Si une erreur se produit lors de l'appel du bean d'entreprise, la méthoderesponseError() est appelée avec l'exception d'origine comme paramètre :public void responseError(Exception e) throws MXException

Entrez le nom qualifié complet de la classe Java dans la propriété EJBEXIT dupoint de terminaison qui implémente le gestionnaire du bean d'entreprise.

Classe d'exit utilisateur pour le traitement HTTP :

Lorsque vous envoyez des transactions sortantes à un système externe via HTTP,vous pouvez utiliser une marque de réservation exit HTTP pour lapersonnalisation. Cette classe d'exit est facultative et est appelée dans le cadre de laréponse à l'appel HTTP.

La classe d'exit pour le traitement HTTP s'exécute lorsqu'une réponse est renvoyéeà une requête HTTP POST depuis un système externe. Dans l'implémentation pardéfaut de la classe psdi.iface.router.DefaultHTTPExit, le code de réponse envoyépar le système externe est comparé à une plage de codes de réponses. La plageutilisée par l'implémentation par défaut est comprise entre 200 et 299. Si le code nefigure pas dans cette plage, la transaction n'a pas été distribuée au système externeet une exception est générée.

Avec certains systèmes externes, la réponse à un appel HTTP est interprétée poursavoir si le système externe a accepté le message. La logique d'interprétation peutêtre implémentée dans la classe d'exit HTTP.

Si le message du canal de publication est refusé, le code doit générer uneexception. Le message dans la file d'attente sortante est marqué comme contenantune erreur et n'est pas supprimé de la file d'attente. Si le message est accepté, lemessage est supprimé de la file d'attente sortante. Si le message du canal d'appeléchoue, l'exception est renvoyée à l'appelant du canal et ce dernier gère l'exceptionen fonction des exigences de conception.

La classe d'exit pour le traitement HTTP doit implémenter l'interfacepsdi.iface.router.HTTPExit et la méthode suivante :

public void processResponseData(int responseCode, String responseMsg,byte[] msgBodyData)

Cette classe peut interpréter le code de réponse et générer une exception, le caséchéant. La classe peut exécuter les actions suivantes :v Vérification du code de réponse dans HTTP Post.v Si le code de réponse figure dans la plage d'erreurs, l'exception est consignée

dans le niveau ERROR et une exception système est générée.v S'il est valide, la transaction est consignée dans le niveau DEBUG.

Spécifiez le nom qualifié complet de la classe Java dans la propriété HTTPEXIT dupoint de terminaison implémentant le gestionnaire HTTP.

162 Intégration de données à des applications externes

Page 171: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Classe d'exit utilisateur pour le traitement JMS :

Lorsque vous envoyez des transactions du système à un système externe via JMS,vous pouvez utiliser une marque de réservation exit pour la personnalisation.Cette classe d'exit est facultative et est appelée avant le JMS.

Cette classe doit implémenter la classe psdi.iface.router.JMSExit et la méthodesuivante :

public Map getMessageProperties(Map metaData, (byte[] data, MaporigProps)throws MXException

Cette méthode peut exécuter les processus suivants :v Changez les propriétés du message JMSv Fractionnez les données en plusieurs propriétés afin qu'elles correspondent au

message JMS

Entrez le nom qualifié complet de la classe Java dans la propriété JMSEXIT dupoint de terminaison implémentant le gestionnaire JMS.

Classe d'exit utilisateur pour le traitement d'un service Web :

Vous pouvez utiliser une marque de réservation exit pour la personnalisationlorsque vous envoyez des transactions du système vers un système externe à l'aided'un service Web. Cette classe d'exit est facultative et elle est démarrée avant leservice Web.

Cette classe doit implémenter l'interface psdi.iface.router.WSExit et les méthodessuivantes :

Méthode getServiceName()La méthode getServiceName() renvoie le nom du service Web à démarrer :

public String getServiceName(Map metaData, String endpointURL,String serviceName, String interfaceName, String targetNameSpace)throws MXException

Méthode getEndpointURL()La méthode getEndpointURL() renvoie l'URL du service Web à démarrer :

public String getEndpointURL(Map metaData, String endpointURL,String serviceName, String interfaceName, String targetNameSpace)throws MXException

Méthode responseOk()La méthode responseOk() est appelée après l'aboutissement de l'appel duservice Web externe.

public void responseOk(org.w3c.dom.Document response) throwsMXException

Méthode responseError()Si une erreur se produit lors de l'appel du service Web, la méthoderesponseError() est appelée avec l'exception d'origine comme paramètre :

public void responseError(Exception e) throws MXException

Méthode getOneWayWsInfo()La méthode getOneWayWsInfo() renvoie une valeur booléenne qui indiquesi le service Web à démarrer est unidirectionnel :

Intégration de données à des applications externes 163

Page 172: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

public boolean getOneWayWsInfo(Map metaData, String endpointURL,String serviceName, String interfaceName, String targetNameSpace,boolean oneWayWs) throws MXException

Méthode getSoapAction()La méthode getSoapAction() renvoie l'en-tête HTTP SOAPAction à utiliserpour démarrer le service Web :

public String getSoapAction(Map metaData, String endpointURL, StringserviceName, String interfaceName, String targetNameSpace, StringsoapAction) throws MXException

Spécifiez le nom qualifié complet de la classe Java dans la propriété WSEXIT dupoint de terminaison implémentant le gestionnaire de service Web.

La classe psdi.iface.router.DefaultWSExit est une implémentation par défaut del'interface WSExit. Cette classe écrase la méthode getEndpointURL() afin deconcaténer le nom de service à la fin de l'URL de point de terminaison pourformer la nouvelle URL de point de terminaison.

Personnalisation à l'aide de scripts d'automatisationVous pouvez utiliser les scripts d'automatisation au lieu des classes Java pourétendre les classes de traitement Java pour des composants d'intégration prédéfinis.Vous pouvez utiliser les scripts d'automatisation pour appliquer la logiquepersonnalisée à divers points lors du traitement des structures d'objet, des canauxde publication, des services d'entreprise et des canaux d'appel.

Définissez les scripts d'automatisation à utiliser pour l'intégration dansl'application Scripts d'automatisation. La définition d'un script pour l'intégrationpermet d'identifier le composant d'intégration auquel est associé le script et dedéfinir à quel point le script s'exécute dans le flux de traitement. Pour tester lesscripts, vous pouvez définir le niveau de journalisation sur le mode débogage,activer le script et utiliser les fonctions d'importation et d'exportation des donnéespour lancer la transaction d'intégration.

Création de scripts d'automatisation pour intégration :

Un script d'automatisation permet de personnaliser le traitement des messagesd'intégration pour les transactions entrantes et sortantes. Vous pouvez associer unscript d'automatisation à un composant d'intégration et définir à quel moment ildoit être inséré dans le traitement d'intégration.

Procédure

1. Dans l'application Scripts d'automatisation, sélectionnez l'action Créer > unscript d'intégration.

2. Indiquez un composant d'intégration à associer au script d'automatisation puisspécifiez le point d'insertion du script.

3. Facultatif : Cochez la case Activer si vous souhaitez activer le script de façonimmédiate.

4. Facultatif : Indiquez le niveau de journalisation à appliquer lors de l'exécutiondu script. Si vous définissez le niveau de journalisation sur le mode débogage àdes fins de test, les journaux contiennent des informations particulièrementutiles à l'identification et à la résolution des problèmes.

5. Indiquez le langage du script.6. Entrez le script directement dans la zone Code source ou accédez à

l'emplacement du script et cliquez sur Importer.

164 Intégration de données à des applications externes

Page 173: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

7. Cliquez sur Créer.

Personnalisation du traitement de la structure d'objet à l'aide de scriptsd'automatisation :

Le traitement de la structure d'objet prend en charge l'utilisation simultanée desscripts d'automatisation et des classes Java à des fins de personnalisation. Lesscripts d'automatisation qui sont définis pour une structure d'objet peuvent affecterle traitement des données directement traitées via la structure d'objet, notammentl'API REST, ou via d'autres composants d'intégration, notamment les canaux depublication et les services d'entreprise.

Points d'insertion pour la personnalisation du traitement de la structure d'objet à l'aide descripts d'automatisation :

Vous pouvez insérer un traitement basé sur un script dans les classes de définitionJava et les classes de traitement Java transformant les structures d'objet lors dutraitement d'intégration.

L'illustration montre l'insertion des scripts d'automatisation lors du traitemententrant et sortant des structures d'objets.

Composantsd'intégration

- Canaux de publication- Services d'entreprise- Canaux d'appel- API REST et OSLC- Services Web- Interactions de serviceWeb

- Importation et exportationde l'application

- Gestionnaire de migration

Cibles et sourcesd'intégration

- Fichiers (par ex.,feuilles de calcul)

- Applications Maximo- Systèmes externes

Maximo Asset Management

Traitement sortant

Traitement entrant

Maximo Integration Framework

Ob

jets

tie

r

Structures d’objet

Traitement sortant

Classe dedéfinition

Java

Scriptd’automa-

tisation

Traitement entrant

Classe detraitement

Java

Scriptd’automa-

tisation

Le traitement sortant de la structure d'objet implémente une classe de définitionJava qui permet l'insertion d'un traitement personnalisé lors de la sérialisation desdonnées d'objet métier dans un message XML. Vous pouvez égalementimplémenter un script d'automatisation afin de personnaliser le traitement de lastructure d'objet. L'infrastructure d'intégration prend en charge la personnalisationd'une structure d'objet via une classe Java et/ou un script d'automatisation.

Intégration de données à des applications externes 165

Page 174: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Le traitement entrant dans la structure d'objet implémente une classe de traitementJava qui permet l'insertion d'un traitement personnalisé des données venant dumessage XML entrant avant que celui-ci ne soit mappé vers les données de l'objetmétier. Outre la classe de traitement Java, vous pouvez implémenter un scriptd'automatisation pour personnaliser le traitement dans la structure d'objet.

Traitement sortant des structures d'objet :

Le traitement sortant de la structure d'objet effectue la sérialisation des donnéesd'objet métier (MBO) dans un message XML. Au cours du traitement, un scriptd'automatisation peut insérer une logique de traitement personnalisée afin dechanger le comportement du traitement par défaut de la structure d'objet. Le scriptpeut être utilisé à la place de la classe de définition Java ou de manière conjointe.

Les fonctions telles que skipMbo(ctx) sont utilisées dans la sérialisation. Dans lenom de la fonction, ctx désigne l'objet de la fonction qui est préparé parl'infrastructure d'intégration et qui communique les données entre l'infrastructured'intégration et le script d'automatisation. Un script d'automatisation peut affecterle traitement des données et peut communiquer ces changements à l'infrastructured'intégration.

La sérialisation inclut les fonctions ci-dessous susceptibles d'être utilisées par lesscripts d'automatisation pour insérer une logique personnalisée dans le traitementdes données :

skipMbo(ctx)Filtre les données d'objet du message XML. Les API sont disponibles pourfiltrer les données du message XML, continuer le traitement des données àinclure dans le message XML et terminer le traitement de la structured'objet une fois les données filtrées. Par exemple, si la structure d'objetconstruit un message XML pour un bon de commande, un scriptd'automatisation peut insérer une logique qui filtre les données des lignesdu bon de commande à l'endroit où le type de données correspond auxlignes de services.

skipCols(ctx)Filtre une ou plusieurs colonne de la structure d'objet. Par exemple, si lastructure d'objet construit un message XML pour un actif, un scriptd'automatisation peut insérer une logique qui élimine les colonnes nonrequises par le système allant recevoir le message XML.

overrideValues(ctx)Définit la valeur d'une zone de structure d'objet dans le message XML. Parexemple, si la structure d'objet construit un message XML pour un actif, unscript d'automatisation peut insérer une logique pouvant filtrer lescolonnes non requises par le système allant recevoir le message XML encours de création.

Fonctions disponibles pour le traitement sortant des structures d'objet :

Les fonctions skipMBO(c), skipCols(ctx) et overrideValues(ctx) sont utilisées dansles scripts d'automatisation pour le traitement sortant des structures d'objet.Chaque fonction possède sa propre API pour traiter les données contenues dans lastructure d'objet. Tous les exemples de script sont écrits en langage Jython.

166 Intégration de données à des applications externes

Page 175: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Sauter le traitement des objets métier à l'aide de la fonction skipMbo(ctx) :

La fonction skipMbo(ctx) filtre les données du message XML construit pendant leprocessus de sérialisation. Elle permet de filtrer un objet métier Maximo, depoursuivre le traitement du message après avoir ignoré un objet métier ou determiner le traitement du message au point d'exécution.

API ctx.skipMbo()

L'API ctx.skipMbo() permet d'exclure le traitement des objets métier Maximo dansle message XML.

Par exemple, le script suivant s'exécute sur l'API ctx.skipMbo() et exclut toutes leslignes et les informations sur les coûts associées de la ligne de bon de commande1234.def skipMbo(ctx):if ctx.getMboName()=='POLINE' and ctx.getMbo().getString("itemnum")=="1234":ctx.skipMbo()

Si vous utilisez l'API ctx.skipMbo() sur la racine ou l'objet principal de la structured'objet, tous les objets métier répondant aux critères de l'instruction IF sont filtrésdu message XML.

API ctx.process()

L'API ctx.process() poursuit le traitement des lignes qui ne sont pas exclues parl'API ctx.skipMbo(), par exemple :def skipMbo(ctx):if ctx.getMboName()=='POLINE' and ctx.getMbo().getString("itemnum")=="1234":API ctx.skipMboelsectx.process()

L'exécution de l'API ctx.process() sur une ligne de données active la sérialisationdes données. Si la classe de définition Java ignore cette ligne de données, l'APIctx.process() remplace la classe de définition Java et autorise la sérialisation desdonnées.

API ctx.complete()

Lorsque l'API ctx.complete() est appelé, le traitement sortant de la structure d'objetest arrêté pour l'instance en cours de l'objet métier, pour les instances des objetsmétiers enfants et pour les instances de ses objets métier homologues.

Par exemple, l'objet PO comprend les objets enfants POLINE et POTERM. L'objetPOLINE est constitué d'un objet enfant POCOST. Lorsque l'API ctx.complete() estappelé sur l'objet PO, les objets POLINE, POTERM et POCOST liés à cet objet POne sont pas traités.

Dans l'exemple de script suivant, les bons de commande dont le statut est terminésont traités sans que les données des lignes du bon de commande ne soientsérialisées.def skipMbo(ctx):if ctx.getMboName()=='PO' and ctx.getMbo().getString("status")=="COMPLETE":ctx.complete()elsectx.process()

Intégration de données à des applications externes 167

Page 176: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Sauter le traitement des colonnes dans les objets métier à l'aide de la fonctionskipCols(ctx) :

La fonction skipCols(ctx) filtre les colonnes d'un objet métier Maximo à partir dutraitement du message XML. L'API ctx.skipCol(String) peut accepter un argumentde chaîne pour filtrer une seule colonne, ou bien plusieurs arguments de chaînesséparés par des virgules pour filtrer plusieurs colonnes.

L'API ctx.skipCol(String) peut filtrer une seule colonne d'un objet métier Maximo .L'exemple de script ci-dessous exclut la colonne de description de l'objet ASSET :def skipCols(ctx):

if ctx.getMboName()==’ASSET’:ctx.skipCol("description")

Vous pouvez également utiliser l'API ctx.skipCol(String) pour filtrer plusieurscolonnes. L'exemple de script ci-dessous exclut les colonnes de description et denuméro de l'actif correspondant à l'objet ASSET :def skipCols(ctx):

if ctx.getMboName()==’ASSET’:ctx.skipCol("description",”assetnum”)

L'API ctx.skipCol(String) peut filtrer la colonne d'un objet enfant dans unestructure d'objet. Par exemple, le script ci-dessous filtre la colonne METERNAMEde l'objet ASSETMETER :def skipCols(ctx):

if ctx.getMboName()==’ASSETMETER’:ctx.skipCol("metername”)

Vous pouvez également utiliser l'API ctx.skipCol(String) pour filtrer des colonnespar rapport à une valeur spécifiée. Par exemple, le script ci-dessous exclut lacolonne de description lorsque l'attribut assettag possède la valeur 12593 :def skipCols(ctx):

if ctx.getMboName()==’ASSET’ and ctx.getMbo().getString("assettag")=="12593":ctx.skipCol("description")

Définir des valeurs dans les zones à l'aide de la fonction overrideValues(ctx) :

La fonction overrideValues(ctx) définit la valeur d'une zone dans le message XML.

L'API ctx.overrideCol() définit la valeur de la zone dans le message XML. Parexemple, le script ci-dessous définit la valeur de l'ID site sur ABC :def overrideValues(ctx):

if ctx.getMboName()==’ASSET’:ctx.overrideCol("SITEID","ABC")

Dans l'exemple de script suivant, si la zone de description d'un bon de commandeest vide, la zone de description est associée au numéro du bon de commande :def overrideValues(ctx):if ctx.getMboName()=='PO':mbo = ctx.getMbo()if mbo.isNull("description"):ctx.overrideCol("DESCRIPTION",mbo.getString("ponum"))

168 Intégration de données à des applications externes

Page 177: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Classes de définition Java et scripts d'automatisation :

Vous pouvez utiliser une classe de définition Java et un script d'automatisationsimultanément sur une structure d'objet. La classe de définition Java est exécutéeavant le script d'automatisation pour chaque fonction.

Certaines structures d'objet sont incluses dans l'infrastructure d'intégration et legestionnaire de migration fournit des classes de définition Java qui filtrent lesdonnées. Par exemple, la structure d'objet des articles filtre les articles dont le typeest TOOL. Lorsqu'un script d'automatisation est implémenté avec une classe dedéfinition Java, il peut remplacer ou supprimer la fonction de filtre de la classe dedéfinition Java, ou modifier les critères de filtre de manière à exclure ou à inclureplus de données dans le message XML.

Par exemple, la classe de définition Java de la structure d'objet MXOPERLOCélimine les emplacements de type LABOR et autorise les emplacements de typeOPERATING à être inclus dans le message. Vous pouvez modifier les critères dufiltre, en ajouter ou remplacer les critères par défaut. L'exemple de script suivantmodifie le traitement de manière à exclure les emplacements de type OPERATINGet continue de traiter les emplacements de type LABOR :def skipMbo(ctx):

if ctx.getMboName()==’LOCATIONS’:if ctx.getMbo().getString("type")=="LABOR":

ctx.process()if ctx.getMbo().getString("type")=="OPERATING":

ctx.skipMbo()

L'exemple de script suivant ajoute des critères de filtre à la structure d'objetMXOPERLOC en éliminant le type COURIER :

if ctx.getMboName()==’LOCATIONS’:if ctx.getMbo().getString("type")=="COURIER":

ctx.skipMbo()

L'exemple de script suivant remplace le filtre de la définition de classe de sorte queseuls les emplacement de type COURIER soient filtrés :def skipMbo(ctx):

if ctx.getMboName()==’LOCATIONS’:if ctx.getMbo().getString("type")=="COURIER":

ctx.skipMbo()else:

ctx.process()

Traitement entrant des structures d'objet :

Le traitement des messages entrants par l'infrastructure d'intégration prend encharge l'utilisation de scripts d'automatisation sur la structure d'objet pour utiliserla logique personnalisée. L'utilisation des scripts automatisés permet depersonnaliser les messages d'intégration entrants associés à une structure d'objet,ainsi que de personnaliser le traitement des données du gestionnaire de migration.

Dans le cadre du traitement d'intégration, un script implémenté sur la structured'objet est appliqué aux messages à partir des sources suivantes :v Importation de donnéesv RESTv Importation d'applicationv Service Web

Intégration de données à des applications externes 169

Page 178: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v OSLCv Servlet d'intégrationv Tables d'intégration

La structure d'objet prend en charge une classe de traitement Java ou un scriptd'automatisation. Vous pouvez utiliser une classe de traitement Java et/ou unscript d'automatisation sur la même structure d'objet. Le traitement accepte lesfonctions qui se trouvent dans le fichier classe ou dans le script d'automatisation.

Un contexte (ctx) est transmis de la classe de traitement de la structure d'objetentrante au script d'automatisation, qui implémente le code personnalisé. Lecontexte est pris en charge de manière bidirectionnelle. Des API prédéfinies sontmises à la disposition du contexte. L'infrastructure du script fournit une classe Javaintégrée qui prépare un contexte.

Tous les exemples et fragments de code suivants utilisent JavaScript. Vous pouvezimplémenter la logique aux points suivants du traitement :v Avant le traitement d'un objet métier Maximo . Par exemple, la fonction

beforeProcess(ctx) est exécutée une seule fois pour chaque nom du messageentrant avant la création des objets métier associés au message.

v Durant le traitement d'un objet métier Maximo . Par exemple, la fonctionbeforeCreateMboSet(ctx) est exécutée de manière séquentielle pour chaque objetau sein de chaque nom dans le message entrant. Les autres fonctions exécutéesde manière séquentielle sont les fonctions afterCreateMboSet(ctx), mboRules(ctx),beforeMboData(ctx) et afterMboData(ctx).

v Après le traitement des objets métier Maximo. Par exemple, les fonctionspreSaveRules(ctx) et changeStatus(ctx) sont exécutées une seule fois pour chaquenom du message entrant après la création des objets métier.

Dans l'application Scripts d'automatisation, vous pouvez créer un script pourl'intégration à inclure dans le traitement de la structure d'objet.

Fonctions disponibles pour le traitement entrant des structures d'objet :

Chaque fonction possède des API que vous pouvez utiliser pour personnaliser letraitement des données contenues dans la structure d'objet.

Ignorer ou modifier le traitement des messages à l'aide de la fonction beforeProcess(ctx) :

La fonction beforeProcess(ctx) fournit un point d'injection permettant d'exécuter lalogique dans le script d'automatisation avant que les objets métier ne soient créés.

Par exemple, vous pouvez ignorer le traitement d'un message basé sur l'évaluationdes données contenues dans le message XML. Un autre exemple consiste àmodifier l'attribut d'action du message de Synchroniser (Sync) à Créer.

L'exemple JavaScript suivant définit l'action du message sur Sync :function beforeProcess(ctx){

ctx.setMsgType("Sync");}

170 Intégration de données à des applications externes

Page 179: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Créer des ensembles d'objets métier à l'aide de la fonction beforeCreateMboSet(ctx) :

La fonction beforeCreateMBOSet(ctx) traite les données entrantes avant quel'infrastructure ne crée les objets métier Maximo ou les ensembles d'objets métier,et peut être exécutée sur l'ensemble des objets métier de la structure d'objet.

Si un script d'automatisation en cours de traitement d'une structure d'objet crée unensemble d'objets métier, la fonction createMboSet() de la classe de base estignorée. Le traitement d'un objet métier enfant permet d'accéder à l'objet parent viala fonction getParentMbo().

Vous pouvez également utiliser la fonction beforeCreateMboSet(ctx) pour créer demanière conditionnelle l'objet métier basé sur les données contenues dans lemessage XML.

Vous ne pouvez pas créer d'objet métier enfant indépendamment de l'objet métierparent.

L'exemple ci-dessous explique comment créer un objet métier enfant à partir d'unobjet métier parent.importPackage(Packages.psdi.server);function beforeCreateMboSet(ctx){var struc=ctx.getData();var ponum=struc.getCurrentData("PO",ctx.getUserInfo();var siteid=struc.getCurrentData("SITEID");var poSet = MXServer.getMXServer().getMboSet("PO",ctx.getUserInfo());poSet.setQbeExactMatch(true);poSet.setQbe("ponum",ponum);poSet.setQbe("siteid",siteid);var poMbo = poSet.moveFirst();var polineSet = poMbo.getMboSet("POLINE");ctx.setMboSet(polineSet);}

Modifier des objets métier ou des ensembles d'objets métier à l'aide de la fonctionafterCreateMboSet(ctx) :

La fonction afterCreateMboSet(ctx) traite la structure d'objet entrante une fois quel'infrastructure a créé l'objet métier Maximo ou l'ensemble d'objets métier.

La fonction afterCreateMboSet(ctx) peut être exécutée sur tous les objets métier dela structure d'objets. Cette fonction permet de modifier l'objet métier ou l'ensembled'objets métier créé par l'infrastructure ou d'insérer davantage d'objets métier dansl'ensemble d'objets métier.

L'exemple suivant définit une propriété MboSet permettant d'indiquer quel'emplacement créé est de type Storeroom. Cette logique remplace la logique pardéfaut de la classe de traitement MXSTORELOC.importPackage(Packages.psdi.server);function afterCreateMboSet(ctx){

var loc type = MXServer.getMXServer().getMaximoDD().getTranslator().toInternalString("LOCTYPE",ctx.getData().getCurrentData("TYPE"));

if (loc Type=="STOREROOM"){

ctx.getPrimaryMboSet().setStoreroom();}

else

Intégration de données à des applications externes 171

Page 180: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

{ctx.getPrimaryMboSet().setNonStoreroom();

}}

Modifier le traitement des règles à l'aide de la fonction mboRules(ctx) :

La fonction mboRules(ctx) permet d'omettre le traitement d'un objet métier, depasser une transaction, de poursuivre le traitement ou de créer un objet métier. Elleest exécutée avant chaque création d'objet métier Maximo .

L'exemple ci-dessous montre comment ignorer une transaction :function mboRules(ctx){

ctx.skipTxn();}

Définir des valeurs dans des zones à l'aide de la fonction beforeMboData(ctx) :

La fonction beforeMboData(ctx) est disponible lorsque l'objet métier Maximo estcréé, mais avant que les valeurs de l'objet métier ne soient définies parl'infrastructure d'intégration. Le traitement de la structure d'objet peut modifier laconfiguration des données de l'objet métier. Le traitement peut également définirdes indicateurs sur les zones, par exemple, l'indicateur samevaluevalidation quidéclenche les validations de zone et ce, même lorsque la valeur de zone est définiesur la valeur de zone en cours.

Ajouter des objets métier et modifier les valeurs des zones à l'aide de la fonctionafterMboData(ctx) :

La fonction afterMboData(ctx) implémente la logique personnalisée permettant decréer un objet métier Maximo supplémentaire afin de l'inclure dans la transactionou de modifier les données dans un objet métier Maximo . La fonction estdisponible dès que l'objet métier a été créé et que les valeurs ont été définies parl'infrastructure d'intégration dans l'objet métier Maximo .

Lorsque les colonnes de la structure d'objet sont limitées, vous pouvez utiliser lafonction afterMboData(ctx) pour fournir la logique permettant de définir cescolonnes au lieu de laisser l'infrastructure d'intégration se charger de leurdéfinition.

Dans l'exemple ci-dessous, un actif est créé avec la zone de description définie surune concaténation de la zone EXTERNALREFID et avec la zone de descriptionprovenant de la structure d'objet :importPackage(Packages.psdi.server);importPackage(Packages.psdi.mbo);function afterMboData(ctx){

var mbo = ctx.getMbo();var struc = ctx.getData();mbo.setValue("description", "FROM: "+struc.getCurrentData("EXTERNALREFID")+ " DESC: "+struc.getCurrentData("DESCRIPTION"));

}

Modifier la transaction avant l'enregistrement dans la base de données à l'aide de lafonction preSaveRules(ctx) :

La fonction preSaveRules(ctx) permet un traitement supplémentaire lié à latransaction dans son ensemble. Vous pouvez l'utiliser pour créer un objet associé etajouter celui-ci à la transaction. La fonction est appelée avant l'action Sauvegarderet pour chaque nom du message.

172 Intégration de données à des applications externes

Page 181: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Modifier le statut ou la date de statut à l'aide de la fonction changeStatus(ctx) :

La fonction changeStatus(ctx) implémente un changement de statut hors de laclasse statefulMicSetIn disponible dans l'infrastructure d'intégration. Vous pouvezégalement utiliser cette fonction pour définir la date de statut sur une valeur aulieu d'utiliser la date système.

Pour que le script d'automatisation puisse utiliser la fonction changeStatus(ctx), laclasse statefulMicSetin ou la classe qui étend la classe statefulMicSetin doit êtreenregistrée comme classe de traitement dans la structure d'objet. Vous pouvezutiliser cette fonction pour prendre en charge le changement de statut de cinqparamètres. La classe de base prend en charge seulement trois paramètres.

L'exemple suivant définit la zone Mémo associée à l'action de changement destatut sur une valeur de chaîne si la zone NP_STATUSMEMO ne contient pas devaleur :importPackage(Packages.psdi.server);importPackage(Packages.psdi.mbo);

function changeStatus(ctx){

var mbo = ctx.getMbo();var struc = ctx.getData();var stat = struc.getCurrentData("STATUS");var memo = struc.getCurrentData("NP_STATUSMEMO");if(struc.isCurrentDataNull("NP_STATUSMEMO")){

memo = "Status change via Integration";}mbo.changeStatus(stat, MXServer.getMXServer().getDate(), memo, MboCon-stants.NOACCESSCHECK);

}

API de contexte pour le traitement entrant des structures d'objet :

Un contexte (ctx) est un objet qui fournit aux scripts d'automatisation les méthodespermettant la transmission des données ou le déclenchement des actions. Lecontexte est pris en charge de manière bidirectionnelle. Des API prédéfinies sontdisponibles pour le contexte et chaque fonction peut utiliser des contextesdifférents.

Un script d'automatisation requiert des méthodes de contexte pour implémenter lalogique de traitement. Un contexte est transmis du traitement de la structured'objet au script d'automatisation, qui implémente le code personnalisé. Le tableauci-dessous affiche les API de contexte et l'utilisation commune des API pourchacune des fonctions :

Tableau 28. API de contexte utilisées par les fonctions

API de contextebeforeProcess

(ctx)beforeCreateMBOSet

(ctx)afterCreateMboSet

(ctx)mboRules

(ctx)beforeMboData

(ctx)afterMboData

(ctx)preSaveRules

(ctx)changeStatus

(ctx)

ctx.setMsgType() U

ctx.getProcessTable() U U U U U

ctx.setProcessTable(StringProcessTable)

U

ctx.setMboSet(MboSet mboSet) U

ctx.setMbo(Mbo mbo) U

ctx.getData() U U U U U U U U

ctx.getMosDetailInfo() U U U U U U U

ctx.setSkipBaseAdditionalRules() U

ctx.skipMbo() U

ctx.skipTxn() U U U U U U U U

ctx.complete() U

ctx.process() U

ctx.getUserInfo() U U U U U U U U

ctx.getParentMbo() U U U U U

ctx.isPrimary() U U U U U U U

Intégration de données à des applications externes 173

Page 182: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 28. API de contexte utilisées par les fonctions (suite)

API de contextebeforeProcess

(ctx)beforeCreateMBOSet

(ctx)afterCreateMboSet

(ctx)mboRules

(ctx)beforeMboData

(ctx)afterMboData

(ctx)preSaveRules

(ctx)changeStatus

(ctx)

ctx.bypassMbo() U

ctx.getMsgType() U U U U U U U U

ctx.getPrimaryMboSet() U U U U U U

ctx.getPrimaryMbo() U U U U

ctx.processAsUpdate() U

ctx.processAsAdd() U

ctx.processAsAddAtEnd() U

ctx.log () U U U U U U U U

Les API suivantes sont disponibles pour le traitement des données entrantes :

ctx.getMosDetailInfo()Fournit des informations sur le cache du dictionnaire de données pourl'infrastructure d'intégration de la structure d'objet en cours de traitement.

ctx.skipMbo()Ignore le traitement d'un objet métier Maximo .

ctx.skipTxn()Ignore le traitement de toute une transaction, notamment un message.

ctx.complete()Termine le traitement de la structure d'objet au point d'exécution, ce quisignifie que les données enfant ne sont pas traitées.

ctx.process()Poursuit le traitement au point d'exécution. Cette API est généralementutilisée dans le cadre d'une logique conditionnelle.

ctx.getParentMbo()Extrait l'objet métier parent. Cette API peut être utilisée à partir d'un objetenfant dont l'objet métier n'a pas encore été créé.

ctx.isPrimary()Détermine si l'objet métier en cours est l'objet métier de niveau racine de lastructure d'objet.

ctx.getUserInfo()Extrait les informations de l'utilisateur qui sont nécessaires si un script créeun nouvel objet métier.

ctx.bypassMbo()Ignore la création de l'objet métier et passe au prochain objet métier encours de traitement.

ctx.getMsgType()Fournit un accès au type de message, par exemple Sync ou Create.

ctx.setMsgType()Définit le type de message, par exemple Sync ou Create. Cette API peutêtre utilisée avant que le traitement ne commence.

ctx.getData()Fournit un accès à StructureData, qui désigne le message XML.

ctx.setMboSet(MboSet mboSet)Définit les valeurs d'un ensemble d'objets métier.

ctx.setMbo(Mbo mbo)Définit les valeurs d'un objet métier.

174 Intégration de données à des applications externes

Page 183: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ctx. getPrimaryMboSet()Extrait l'objet métier racine d'une structure d'objet pendant le traitementd'un objet métier enfant.

ctx.setProcessTable(String processTable)Définit la table d'un processus. La méthode est utilisée si vous possédez unobjet métier non permanent (tel que MXRECEIPT) doté d'une logique detraitement pour déterminer si la table MATRECTRANS ou la tableSERVRECTRANS est mise à jour. L'API ctx.setProcessTable(StringprocessTable) est utilisée dans la fonction beforeProcess(ctx).

ctx.getProcessTable()Extrait le nom de la table qui est définie par l'APIctx.setProcessTable(String processTable).

ctx.setSkipBaseAdditionalRules()Ajoute une logique personnalisée à la fonction preSaveRules(ctx) pour agirsur une structure d'objet terminée qui est maintenant préparée pour letraitement.

ctx.processAsUpdate()Définit l'action de traitement d'un objet métier sur l'action Mettre à jour etnon sur l'action Ajouter ou Supprimer.

ctx.processAsAdd()Définit l'action de traitement d'un objet métier sur l'action Ajouter et nonsur l'action Mettre à jour ou Supprimer.

ctx.processAsAddAtEnd()Définit l'action de traitement d'un objet métier sur l'action Ajouter et nonsur l'action Mettre à jour ou Supprimer, puis crée l'objet métier à la fin dela collection et non au début.

ctx.log ()Exécute une instruction de journal à partir d'un contexte de traitementd'une structure d'objet.

Personnalisation du traitement des canaux et services à l'aide des scriptsd'automatisation :

Lorsque vous créez un script d'automatisation, vous identifiez le canal ou leservice sur lequel s'exécute le script. Vous indiquez également où insérer le scriptpendant le flux de traitement.

Points de personnalisation lors du traitement du canal de publication :

Les canaux de publication traitent les messages d'intégration sortants qui nenécessitent pas de réponse. La classe de traitement Java qui est associée à un canalde publication comporte plusieurs points d'ancrage où le code permettant defournir une logique personnalisée peut être inséré.

L'illustration montre les points de personnalisation lors du traitement sortant desmessages d'intégration à l'aide des canaux de publication.

Intégration de données à des applications externes 175

Page 184: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement sortant

Maximo Asset Management

Maximo Integration Framework

Ob

jets

tie

r

Structures d’objet

Traitement sortant

Classe dedéfinition

Java

Scriptd’automa-

tisation

File d’attente JMS

Cibles d'intégration

- Fichiers (par ex.,feuilles de calcul)

- Systèmes externes

Canaux de publication

Classe desortie utilisa-

teur Java(méthode

avant)

Scriptd’automa-

tisation

Classe detraitement

Java

Scriptd’automa-

tisation

Classe desortie utilisa-

teur Java(méthode

après)

Scriptd’automa-

tisation

Classe defiltre de

définitiond'événement

Java

Scriptd’automa-

tisation

Une fois que le traitement de la structure d'objet a construit le messaged'intégration, celui-ci est transmis au canal de publication associé. Vous pouvezajouter une logique personnalisée aux points suivants lors du traitement du canalde publication :v Classe d'exit externev Classe d'exit utilisateur s'exécutant avant la classe d'exit externev Classe d'exit utilisateur s'exécutant après la classe d'exit externev Classe de filtre de définition d'événement

Le message est ensuite envoyé à la file d'attente JMS en vue de sa distribution à ladestination cible.

Lorsque vous configurez un script d'exit externe ou un script d'exit utilisateur pourun canal de publication, une classe Java prédéfinie est insérée sur le canal utilisépour exécuter le script. Les classes prédéfinies sontcom.ibm.tivoli.maximo.script.ScriptExternalExit etcom.ibm.tivoli.maximo.script.ScriptUserExit. Vous ne pouvez pas implémenter unscript et une classe Java au même point de traitement. Si vous tentez de créer unscript sur un point de traitement sur lequel une classe Java est configurée, lasauvegarde du script échoue.

Points de personnalisation lors du traitement du service d'entreprise :

Les services d'entreprise proposent un traitement asynchrone et synchrone desmessages d'intégration entrants. Vous pouvez insérer du code pour fournir une

176 Intégration de données à des applications externes

Page 185: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

logique personnalisée à la classe de traitement des demandes Java (pour lestraitements entrants) et à la classe de traitement des réponses Java (pour lestraitements sortants).

L'illustration montre les points de personnalisation lors du traitement entrant etsortant des messages d'intégration via les services d'entreprise.

Traitement sortant

Traitement entrant

Maximo Asset Management

Maximo Integration Framework

Obje

tsm

étier

Structures d'objet

Traitement entrant

Classe dedéfinition

Java

Automationscript

Traitement sortant

Classe detraitement

Java

Scriptd'automa-

tisation

Réponses de service d'entreprise

Classe de sortieutilisateur Java

(méthode avant)

Classe detraitement Java

Classe de sortieutilisateur Java

(méthode après)

Scriptd'automatisation

Scriptd'automatisation

Scriptd'automatisation

Demandes de service d'entreprise

Classe de sortieutilisateur Java

(méthode avant)

Classe detraitement Java

Classe de sortieutilisateur Java

(méthode après)

Scriptd'automatisation

Scriptd'automatisation

Scriptd'automatisation

Client externe

Début (lancement de la transaction)

Pour les messages asynchrones qui ne nécessitent pas de réponse, un serviceexterne ouvre une connexion afin d'envoyer une demande de service d'entreprise.Lorsque la demande est validée, le message est placé dans une file d'attente JMSen vue du traitement des services d'entreprise. Pour les messages synchronesnécessitant une réponse, le service externe maintient une connexion continue lorsde la transaction jusqu'à réception de la réponse.

Dans l'application Scripts d'automatisation, lorsque vous configurez un scriptd'automatisation pour un service d'entreprise, indiquez l'un des points d'insertionsuivants pour le script :v Points d'insertion pour les traitements asynchrones entrants :

– Demande, entrante : classe d'exit utilisateur s'exécutant avant la classe d'exitexterne

– Demande, entrante : classe d'exit externe– Demande, entrante : classe d'exit utilisateur s'exécutant après la classe externe

v Points d'insertion pour les traitements synchrones entrants, pour lesquels uneréponse est requise :– Demande, entrante : classe d'exit utilisateur s'exécutant avant la classe d'exit

externe– Demande, entrante : classe d'exit externe

Intégration de données à des applications externes 177

Page 186: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

– Demande, entrante : classe d'exit utilisateur s'exécutant après la classe externe– Réponse, sortante : classe d'exit utilisateur s'exécutant avant la classe d'exit

externe– Réponse, sortante : classe d'exit externe– Réponse, sortante : classe d'exit externe s'exécutant après la classe externe

Lorsque vous configurez un script d'exit externe ou un script d'exit utilisateur pourla demande ou la réponse d'un service externe, une classe Java prédéfinie estinsérée pour exécuter le script. Les classes prédéfinies sontcom.ibm.tivoli.maximo.script.ScriptExternalExit etcom.ibm.tivoli.maximo.script.ScriptUserExit. Vous ne pouvez pas implémenter unscript et une classe Java au même point de traitement. Si vous tentez de créer unscript sur un point de traitement sur lequel une classe Java est configurée, lasauvegarde du script échoue.

Points de personnalisation pendant le traitement du canal d'appel :

Les canaux d'appel traitent les messages d'intégration sortants qui nécessitent uneréponse. La classe de demande et la classe de réponse du canal d'appel comportentplusieurs points où le code destiné à fournir une logique personnalisée peut êtreinséré.

L'illustration montre les points de personnalisation lors du traitement entrant etsortant des messages d'intégration via les canaux d'appel.

Maximo Asset Management

Maximo Integration Framework

Ob

jets

tie

r

Structures d’objet

Traitement sortant

Classe dedéfinition

Java

Scriptd’automa-

tisation

Traitement entrant

Classe detraitement

Java

Scriptd’automa-

tisation

Services externes

Demandes de canal d'appel

Classe de sortieutilisateur Java

(méthode avant)

Classe detraitement Java

Classe de sortieutilisateur Java

(méthode après)

Scriptd’automatisation

Scriptd’automatisation

Scriptd’automatisation

Réponses de canal d'appel

Classe de sortieutilisateur Java

(méthode avant)

Classe detraitement Java

Classe de sortieutilisateur Java

(méthode après)

Scriptd’automatisation

Scriptd’automatisation

Scriptd’automatisation

Traitement sortant

Traitement entrant

Début (lancement de la transaction)

Lorsqu'une action utilisateur exécutée dans Maximo Asset Management démarreune transaction d'intégration sortante nécessitant une réponse, un canal d'appelfournit le traitement d'intégration des demandes et des réponses.

178 Intégration de données à des applications externes

Page 187: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Dans l'application Scripts d'automatisation, lorsque vous configurez un scriptd'automatisation pour un canal d'appel, indiquez l'un des points d'insertionsuivants pour le script :v Demande, sortante : classe d'exit utilisateur s'exécutant avant la classe d'exit

externev Demande, sortante : classe d'exit externev Demande, sortante : classe d'exit utilisateur s'exécutant après la classe d'exit

externev Réponse, entrante : classe d'exit utilisateur s'exécutant avant la classe d'exit

externev Réponse, entrante : classe d'exit externev Réponse, entrante : classe d'exit externe s'exécutant après la classe d'exit externe

Lorsque vous configurez un script d'exit externe ou un script d'exit utilisateur pourla demande ou la réponse dans un canal d'appel, une classe Java prédéfinie estinsérée pour exécuter le script. Les classes prédéfinies sontcom.ibm.tivoli.maximo.script.ScriptExternalExit etcom.ibm.tivoli.maximo.script.ScriptUserExit. Vous ne pouvez pas implémenter unscript et une classe Java au même point de traitement. Si vous tentez de créer unscript sur un point de traitement sur lequel une classe Java est configurée, lasauvegarde du script échoue.

Exemples d'utilisation des scripts d'automatisation lors du traitement à l'aide des canauxet services :

Le traitement des canaux et services utilise un enregistrement de données dusystème source comme valeur d'entrée, manipule les données selon les besoins etconstruit un enregistrement de données pour le système cible. Les exemples descripts Python interrogent les données d'entrée et fournissent la logique permettantde manipuler les données avant que les données de sortie ne soient construites.

Lorsque Maximo Asset Management démarre une transaction d'intégration, lastructure d'objet fournit un élément irData (données d'enregistrement internes) àun canal de publication ou d'appel. Le traitement manipule l'élément irData etconstruit un élément erData (données d'enregistrement externes) avant detransmettre le message à son destinataire. Les transactions du canal d'appelpeuvent nécessiter une réponse du système externe. Le traitement des réponsestransmet l'élément erData au canal d'appel, qui manipule les données de réponseet construit l'élément irData.

Lorsqu'un système externe démarre une transaction d'intégration, le messagefournit l'élément erData au service d'entreprise. Le traitement manipule l'élémenterData et construit un élément irData avant de transmettre le message à lastructure d'objet associée. Lorsque les messages nécessitent une réponse, lastructure d'objet fournit l'élément irData au service d'entreprise. Le traitementmanipule les données et construit l'élément erData qui est transmis au destinataire.

Les exemples sont composés de scripts simples pouvant être utilisés à des fins detest. Vous pouvez utiliser les fonctions d'importation et d'exportation de donnéesde l'application Systèmes externes pour démarrer le test des scripts par lestransactions.

Intégration de données à des applications externes 179

Page 188: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exemple : Script changeant la description des actifs opérationnels sur lestransactions sortantes

Dans ce scénario, la structure d'objet MXASSET fournit les données irData au canalde publication MYASSET à des fins de traitement. Un script d'automatisation estconfiguré pour s'exécuter sur la classe d'exit externe du canal de publication. Lescript vérifie le statut de l'actif dans l'élément irData. S'il est en cours defonctionnement, le script insère une valeur dans la zone de description et consigneun message dans le fichier journal. L'élément erData est ensuite construit ettransmis au système externe.if irData.getCurrentData("STATUS") == ’OPERATING’ :

irData.setCurrentData("DESCRIPTION","hello")print "MYASSET description change"

Exemple : Script changeant la description des actifs opérationnels sur lestransactions entrantes

Dans cet exemple, le service d'entreprise MYASSET traite un message entrant pourla structure d'objet MXASSET. Un script d'automatisation insère un script sur laclasse d'exit externe du service d'entreprise. Le script vérifie le statut de l'actif dansl'élément erData. S'il est en cours de fonctionnement, le script insère une valeurdans la zone de description et consigne un message dans le fichier journal.L'élément irData est ensuite construit et transmis à la structure d'objet associée àdes fins de traitement.if erData.getCurrentData("STATUS") == ’OPERATING’:

erData.setCurrentData("DESCRIPTION","hello inbound")print "MYASSET inbound description has changed"

Exemple : Script changeant la description des lignes d'un bon de commande àl'aide d'une variable de script d'automatisation

Dans cet exemple, la structure d'objet MXPO fournit l'élément irData au canal depublication MYPO à des fins de traitement. Un script d'automatisation estconfiguré pour s'exécuter sur la classe d'exit externe du canal de publication. Unevaleur littérale, world, est définie comme variable d'entrée sur le scriptd'automatisation. Le script recherche dans l'élément irData les bons de commandequi contiennent des lignes. Il numérote chaque ligne du bon de commande à l'aided'une séquence commençant par 1, définit hello comme valeur dans la zone dedescription et ajoute la variable d'entrée issue du script d'automatisation. Le scriptmet à jour le bon de commande parent avant de construire l'élément erData et dele transmettre au système externe.lines = irData.getChildrenData("POLINE")i = 0if lines is not None:

for value in lines:++iirData.setAsCurrent(lines,i);irData.setCurrentData("DESCRIPTION","hello"+world)

irData.setParentAsCurrent()

Exemple : Script ignorant les transactions en fonction du statut desenregistrements

Dans cet exemple, la structure d'objet MXPO est envoyée au canal de publicationMYPO2 à des fins de traitement. Un script d'automatisation est configuré pours'exécuter sur la classe d'exit utilisateur avant que la classe d'exit externe ne

180 Intégration de données à des applications externes

Page 189: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

s'exécute. Le script recherche dans l'élément irData les bons de commande dont lestatut est WAPPR et ignore le traitement de ces bons de commande.if irData.getCurrentData("STATUS") == ’WAPPR’ :

errorgroup = "iface"errorkey ="SKIP_TRANSACTION"

Exemple : Script consignant les informations de transaction dans un fichierjournal à des fins d'identification et de résolution des problèmes

Dans cet exemple, la structure d'objet MXASSET fournit les données irData aucanal de publication MYASSET2 à des fins de traitement. Un scriptd'automatisation est configuré pour s'exécuter sur la classe d'exit externe. Le scriptrecherche dans l'élément irData les actifs dont le statut est opérationnel, consigneles informations de transaction dans un fichier journal, puis construit l'élémenterData sans apporter de modification. Pour pouvoir consigner les informations surla transaction, la fonction de journalisation doit être définie sur le mode débogage.Dans l'application Journalisation, le consignateur est défini sur les scriptsd'automatisation et le niveau de journalisation est défini sur DEBUG. Dansl'application Scripts d'automatisation, le niveau de journalisation du script estdéfini sur DEBUG.if irData.getCurrentData("STATUS") == ’OPERATING’ :

print "Test scriptvariable VAR_EXIT_IFACETYPE " + ifaceTypeprint "Test scriptvariable VAR_EXIT_IFACENAME " + ifaceNameprint "Test scriptvariable VAR_EXIT_EXTSYSTEM " + extSystemprint "Test scriptvariable VAR_EXIT_MESSAGETYPE " + messageTypeprint "Test scriptvariable VAR_EXIT_EXTSYSTEM " + extSystemprint "Test scriptvariable VAR_EXIT_OSNAME " + osNameprint "Test script

Lorsqu'un actif est exporté, les informations de débogage ci-dessous sontconsignées dans un fichier journal :18 Mar 2014 11:35:06:877 [DEBUG] [MXServer] [CID-MXSCRIPT-2022] execution completedfor cached compiled script PUBLISH.MYASSET.EXTEXIT.OUT for launch point nullTest script variable VAR_EXIT_IFACETYPE MAXIMOTest script variable VAR_EXIT_IFACENAME MYASSET2Test script variable VAR_EXIT_EXTSYSTEM MYEXTSYSTest script variable VAR_EXIT_MESSAGETYPE PublishTest script variable VAR_EXIT_OSNAME MXASSET

Mappage XSLPour les transactions sortantes, vous pouvez implémenter un fichier XSL afin demanipuler les données envoyées au système externe une fois le traitement de l'exitJava terminé. Pour les transactions entrantes, vous pouvez implémenter un fichierXSL afin de manipuler les données à configurer dans la structure d'objets une foisle traitement de l'exit Java terminé.

Le fichier XSL est toujours appelé avec le message XML qui est issu du traitementde l'exit Java. Vous pouvez enregistrer ce fichier XSL dans le fichier EARd'application, dans le répertoire businessobjects/classes/, ou vous pouvez leréférencer à l'aide du chemin d'un fichier de répertoire qui ne fait pas partie dufichier EAR d'application.

Omettez l'extension de fichier .xsl pour enregistrer le fichier dans le répertoirebusinessobjects/classes/psd/iface/xsl, par exemple :psdi.iface.xsl.mapping

Incluez l'extension de fichier .xsl pour enregistrer le fichier dans un répertoire defichiers accessible par le serveur d'applications, par exemple :

Intégration de données à des applications externes 181

Page 190: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

c:/psdi/iface/xsl/mapping.xsl

Classe d'exit utilisateur de table d'interfaceLorsque vous utilisez des tables d'interface pour recevoir des messages d'unsystème externe, vous pouvez personnaliser le programme d'interrogation quirécupère les données de la table d'interface et envoie les données au système.

Le gestionnaire de tâches périodiques exécute le programme d'interrogation de latable d'interface. La tâche périodique IFACETABLECONSUMER possède unepropriété facultative EXITCLASS dans laquelle vous pouvez spécifier le nomcomplet d'une classe d'exit Java.

La liste des structures de données Java représente l'enregistrement des tablesd'interface. Le premier élément correspond toujours à l'action du message. Leséléments restants de la liste sont les structures de données mappées et chaquemappe représente une ligne de la table d'interface pour chaque message. Les clésde la mappe sont les noms de colonne et les valeurs sont les valeurs de colonnecorrespondantes. Toutes les valeurs de colonne sont converties dans leur format dechaîne traduite avant d'être définies dans la mappe.

La classe EXITCLASS doit implémenter l'interfacepsdi.iface.intertables.IfaceTbExit et les méthodes suivantes :v public void beforeQueue(long transid, String extSys, String ifaceName,

List data, Connection conn)

Cette méthode est appelée une fois les données reçues de la table d'interface etavant l'insertion des données dans l'une des files d'attente entrantes.

v public void afterCommit(long transid, String extSys, String ifaceName,Connection conn)

Cette méthode est appelée une fois que les données ont été insérées dans unefile d'attente entrante et supprimées de la table de la file d'attente d'interfacesuite à la validation dans la base de données.

v public void afterRollback(long transid, String extSys, String ifaceName,Connection conn)

Cette méthode est similaire à la méthode afterCommit mais est appelée si latransaction est annulée.

Cette classe peut exécuter les processus suivants :v Valider les données.v Modifier les données externes en modifiant l'enregistrement d'IR à sauvegarder

dans le système.v Arrêter la sauvegarde de la transaction dans la file d'attente en envoyant une

exception. Dans ce cas, la transaction demeure dans la tableMXIN_INTER_TRANS avec le message d'erreur et est retraitée.

v Interrompre l'envoi du message au système externe en envoyant une exceptionskip_transaction. Dans ce cas, le système ne sauvegarde pas le message ; il estsupprimé de la file d'attente.

v Journaliser la transaction.

L'exit utilisateur qui utilise la méthode afterCommit ou afterRollback peutexécuter les processus suivants :v Effectuer un traitement et un nettoyage personnalisé.v Journaliser la transaction.

182 Intégration de données à des applications externes

Page 191: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Vous identifiez cette classe dans l'application Configuration des tâches périodiques.

Configuration de l'infrastructure d'intégrationLa configuration de l'infrastructure d'intégration comprend la configuration despropriétés système associées, des files d'attente JMS et de la sécurité.L'implémentation de scénarios d'intégration exige de connaître la configuration desfiles d'attente JMS sur le serveur d'applications, mais aussi de connaître J2EE et lesupport de sécurité du produit.

Propriétés du système d'intégrationLes propriétés système définissent le comportement et les caractéristiques del'infrastructure d'intégration. Pour réviser ou changer les propriétés système,appliquez un filtre aux propriétés dans l'application Propriétés système.

Propriétés générales d'intégration

Pour afficher la liste des propriétés générales d'intégration, utilisez mxe.int commeterme de filtre dans l'application Propriétés système. Pour les propriétésbooléennes (true/false), une valeur de 0 signifie false, et une valeur de 1 signifietrue.

Tableau 29. Propriétés générales d'intégration

Propriété Description Valeur par défaut

mxe.int.containerdeploy Déploie les services Web vers le conteneur du serveurd'applications. Lorsqu'elle est définie sur 0 (false), lesservices Web sont déployés sur le conteneur duproduit.

0

mxe.int.credentialmapperclassname Le nom de classe du programme de mappage dedonnées d'identification est un fichier classe pouvantêtre utilisé pour mapper les données d'identificationlors de l'implémentation du module d'intégration.

mxe.int.genboolasbool Génération d'une valeur booléenne sous forme deschéma booléen.

1

mxe.int.globaldir Indique le répertoire général d'intégration. 1

mxe.int.queueusercachesize Nombre d'utilisateurs mis en cache pour les messagesde la file d'attente entrante.

10

mxe.int.resolveschema Résout toutes les inclusions de schémas de sortequ'elles contiennent une définition de schéma intégré.

1

mxe.int.servicedeployer La classe de déployeur de services Web est une classeJava personnalisée pour le déploiement de servicesWeb lorsque la classe de déployeur par défaut n'estpas utilisée.

mxe.int.uddiinqurl Indique l'adresse URL d'interrogation du registreUDDI d'intégration.

mxe.int.uddiname Indique l'ID utilisateur du registre UDDId'intégration.

mxe.int.uddipassword Mot de passe du registre UDDI d'intégration.

mxe.int.uddipuburl URL de publication du registre UDDI d'intégration.

Intégration de données à des applications externes 183

Page 192: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 29. Propriétés générales d'intégration (suite)

Propriété Description Valeur par défaut

mxe.int.validatedbupdates Valide les mises à jour de base de données terminéespar intégration. Lorsque ce paramètre est défini sur 1(true), les suppressions par un utilisateur d'objetsmétier, d'attributs, d'index et de relations dansl'application Configuration de base de données sontvalidées en fonction du contenu d'intégration. Lavalidation garantit que les données supprimées nesont référencées par aucun composant d'intégration. Siune référence existe, l'utilisateur ne peut pas terminerl'action de suppression.

1

mxe.int.validatemmpackage Valide les mises à jour de la base de données dugestionnaire de migration par intégration.

0

mxe.int.verifywebappurl Vérifie l'URL de l'application Web lors de lagénération des fichiers schéma.

1

mxe.int.webappurl Indique l'adresse URL de l'application Webd'intégration. Configurez cette propriété pour qu'ellecontienne le nom d'hôte et le numéro de portappropriés.

http://localhost:9998/meaweb

mxe.int.wsdlcurrentschema Affiche la définition du schéma en cours en langageWSDL.

1

mxe.int.wsdlincludesschema Inclut le schéma directement en langage WSDL. 1

mxe.int.wsdlnamespace Indique l'espace de nom WSDL d'intégration. http://www.ibm.com/maximo/wsdl

mxe.int.xmlnamespace Indique l'espace de nom XML d'intégration. http://www.ibm.com/maximo

mxe.int.binarytext Convertit une valeur texte en une valeur de basecodée sur 64 bits.

10

mxe.int.defaultaction Action par défaut pour l'importation de fichier à plat. AddChange

mxe.int.defaultoperation Opération par défaut pour l'exportation d'application. Sync

mxe.int.dfltuser Représente l'utilisateur par défaut de type Intégration. mxintadm

mxe.int.doclink.maxfilesize Indique la taille de fichier maximale (Mo) desdocuments joints inclus dans le message d'intégration.

10

mxe.int.enabledatemillis Active les dates avec les millisecondes. 0

mxe.int.expupdatesender Met à jour la zone SENDERSYSID sur l'objetprincipal lors de l'exportation des données.

0

mxe.int.extracttrycount Le paramètre Nombre de nouvelles tentativesd'extraction de fichiers indique le nombre de foisqu'un message d'erreur est relancé pendantl'importation des données à l'aide de la gestion deserreurs basées sur un fichier.

0

mxe.int.flatfiledelimiter Le délimiteur de texte du fichier à plat d'intégrationest le délimiteur par défaut utilisé pour l'activation del'importation de l'application et pour l'importation desdonnées.

,

mxe.int.flatfilenewline Conserve le caractère de nouvelle ligne dans lesfichiers à plat. Pour les zones, comme les descriptions,qui peuvent contenir des caractères de retour à laligne, les caractères sont conservés dans les messagesd'intégration lorsque le valeur de la propriété est 1(true).

0

mxe.int.interactiveimport Effectue l'importation de l'application en modeinteractif.

0

184 Intégration de données à des applications externes

Page 193: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 29. Propriétés générales d'intégration (suite)

Propriété Description Valeur par défaut

mxe.int.keyresponse Fournit un contenu de réponse pour les messagesd'intégration entrants pour toutes les opérations.Lorsqu'elle est définie sur 1 (true), le contenu de laréponse, qui inclut les valeurs de clé de l'objetprincipal, est fourni pour toutes les opérations deservice. Lorsqu'elle est définie sur 0 (false), le contenude la réponse est fourni pour les opérations Interrogeret Créer uniquement.

1

mxe.int.maxextractdocs Indique le nombre de documents erronés écrits danschaque fichier temporaire lors de la génération d'unfichier d'extraction.

1000

mxe.int.mdbdelay Indique le temps d'attente (millisecondes) avanttraitement d'un message à partir de la file d'attented'erreurs.

-1

mxe.int.propagateuser Propage l'utilisateur authentifié via la file d'attenteentrante. Lorsque ce paramètre est défini sur 1 (true),l'utilisateur du message d'intégration est sauvegardéavec le message de file d'attente et utilisé lors dutraitement du message car il est traité depuis la filed'attente pour les objets métier.

0

mxe.int.savemessage Indique le message JMS de sauvegarde. 0

mxe.int.setclobasaln Contrôle la troncature des caractères envoyés auxtables d'interface.

0

mxe.int.textqualifier Le qualificateur de texte du fichier à plat est lequalificateur de texte par défaut dans l'activation del'importation de l'application et dans l'importation desdonnées.

"

mxe.int.updatecoafromglcomp Met à jour le plan comptable qui contient uncomposant identifié. Lorsqu'elle est définie sur 1(true), le traitement des données du composant GrandLivre (GL) lance les mises à jour associées à toutes lesdonnées de plan comptable qui référencent lecomposant GL.

1

mxe.int.usescientific Utilise une notation scientifique pour les valeursdouble précision.

1

mxe.int.validatexmltext Valide la valeur de l'élément XML pour les caractèresXML non valides. Lorsqu'elle est définie sur 1 (true),un message sortant est validé pour garantir que toutesles données du message utilisent des caractères XMLvalides. Si des messages contiennent des caractèresnon valides, l'opération se termine et aucun messagesortant n'est transmis.

0

mxe.int.whereclausepolicy Définit la règle where-clause pour une requêted'intégration.

parse

mxe.int.adminfromemail Adresse électronique DE de l'administrationd'intégration, utilisée comme adresse électronique del'expéditeur (De) lorsque l'intégration initie uncourrier électronique. Doit être un format d'adresseélectronique valide, comme par [email protected].

mxe.int.admintoemail Adresse électronique À de l'administrationd'intégration, utilisée comme adresse électronique dudestinataire (À) lorsque l'intégration initie un courrierélectronique. Doit être un format d'adresseélectronique valide, comme par exempleà@exemple.com. Vous pouvez fournir plusieursadresses électroniques dans une liste séparée par desvirgules.

Intégration de données à des applications externes 185

Page 194: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 30. Propriétés générales d'intégration.

Propriété Description Valeur par défautPersonne habilitée àéditer la propriété

mxe.int.containerdeployDéploie les services Web vers le conteneur duserveur d'applications. Lorsqu'elle est définie sur0 (false), les services Web sont déployés sur leconteneur du produit.

0 Administrateur global

mxe.int.credentialmapperclassnameLe nom de classe du programme de mappage dedonnées d'identification est un fichier classepouvant être utilisé pour mapper les donnéesd'identification lors de l'implémentation dumodule d'intégration.

Administrateur global

mxe.int.genboolasboolGénération d'une valeur booléenne sous forme deschéma booléen.

1 Administrateur global

mxe.int.globaldirIndique le répertoire général d'intégration.

1 Administrateur global

mxe.int.queueusercachesizeNombre d'utilisateurs mis en cache pour lesmessages de la file d'attente entrante.

10 Administrateur global

mxe.int.resolveschemaRésout toutes les inclusions de schémas de sortequ'elles contiennent une définition de schémaintégré.

1 Administrateur global

mxe.int.servicedeployerLa classe de déployeur de services Web est uneclasse Java personnalisée pour le déploiement deservices Web lorsque la classe de déployeur pardéfaut n'est pas utilisée.

Administrateur global

mxe.int.uddiinqurlIndique l'adresse URL d'interrogation du registreUDDI d'intégration.

Administrateur global

mxe.int.uddinameIndique l'ID utilisateur du registre UDDId'intégration.

Administrateur global

mxe.int.uddipasswordMot de passe du registre UDDI d'intégration.

Administrateur global

mxe.int.uddipuburlURL de publication du registre UDDId'intégration.

Administrateur global

mxe.int.validatedbupdatesValide les mises à jour de base de donnéesterminées par intégration. Lorsque ce paramètreest défini sur 1 (true), les suppressions par unutilisateur d'objets métier, d'attributs, d'index etde relations dans l'application Configuration debase de données sont validées en fonction ducontenu d'intégration. La validation garantit queles données supprimées ne sont référencées paraucun composant d'intégration. Si une référenceexiste, l'utilisateur ne peut pas terminer l'actionde suppression.

1 Administrateur global

mxe.int.verifywebappurlVérifie l'URL de l'application Web lors de lagénération des fichiers schéma.

1 Administrateur global

mxe.int.webappurlIndique l'adresse URL de l'application Webd'intégration. Configurez cette propriété pourqu'elle contienne le nom d'hôte et le numéro deport appropriés.

http://localhost:9998/meaweb

Administrateur global

mxe.int.wsdlcurrentschemaAffiche la définition du schéma en cours enlangage WSDL.

1 Administrateur global

mxe.int.wsdlincludesschemaInclut le schéma directement en langage WSDL.

1 Administrateur global

186 Intégration de données à des applications externes

Page 195: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 30. Propriétés générales d'intégration (suite).

Propriété Description Valeur par défautPersonne habilitée àéditer la propriété

mxe.int.wsdlnamespaceIndique l'espace de nom WSDL d'intégration.

http://www.ibm.com/maximo/wsdl

Administrateur global

mxe.int.xmlnamespaceIndique l'espace de nom XML d'intégration.

http://www.ibm.com/maximo Administrateur global

mxe.int.binarytextConvertit une valeur texte en une valeur de basecodée sur 64 bits.

10 Administrateur global,administrateur delocataires

mxe.int.defaultactionAction par défaut pour l'importation de fichier àplat.

AddChange Administrateur global,administrateur delocataires

mxe.int.defaultoperationOpération par défaut pour l'exportationd'application.

Sync Administrateur global,administrateur delocataires

mxe.int.dfltuserReprésente l'utilisateur par défaut de typeIntégration.

mxintadm Administrateur global,administrateur delocataires

mxe.int.doclink.maxfilesizeIndique la taille de fichier maximale (Mo) desdocuments joints inclus dans le messaged'intégration.

10 Administrateur global,administrateur delocataires

mxe.int.enabledatemillisActive les dates avec les millisecondes.

0 Administrateur global,administrateur delocataires

mxe.int.expupdatesenderMet à jour la zone SENDERSYSID sur l'objetprincipal lors de l'exportation des données.

0 Administrateur global,administrateur delocataires

mxe.int.extracttrycountLe paramètre Nombre de nouvelles tentativesd'extraction de fichiers indique le nombre de foisqu'un message d'erreur est relancé pendantl'importation des données à l'aide de la gestiondes erreurs basées sur un fichier.

0 Administrateur global,administrateur delocataires

mxe.int.flatfiledelimiterLe délimiteur de texte du fichier à platd'intégration est le délimiteur par défaut utilisépour l'activation de l'importation de l'applicationet pour l'importation des données.

, Administrateur global,administrateur delocataires

mxe.int.flatfilenewlineConserve le caractère de nouvelle ligne dans lesfichiers à plat. Pour les zones, comme lesdescriptions, qui peuvent contenir des caractèresde retour à la ligne, les caractères sont conservésdans les messages d'intégration lorsque le valeurde la propriété est 1 (true).

0 Administrateur global,administrateur delocataires

mxe.int.interactiveimportEffectue l'importation de l'application en modeinteractif.

0 Administrateur global,administrateur delocataires

mxe.int.keyresponseFournit un contenu de réponse pour les messagesd'intégration entrants pour toutes les opérations.Lorsqu'elle est définie sur 1 (true), le contenu dela réponse, qui inclut les valeurs de clé de l'objetprincipal, est fourni pour toutes les opérations deservice. Lorsqu'elle est définie sur 0 (false), lecontenu de la réponse est fourni pour lesopérations Interroger et Créer uniquement.

1 Administrateur global,administrateur delocataires

mxe.int.maxextractdocsIndique le nombre de documents erronés écritsdans chaque fichier temporaire lors de lagénération d'un fichier d'extraction.

1000 Administrateur global,administrateur delocataires

mxe.int.mdbdelayIndique le temps d'attente (millisecondes) avanttraitement d'un message à partir de la filed'attente d'erreurs.

-1 Administrateur global,administrateur delocataires

Intégration de données à des applications externes 187

Page 196: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 30. Propriétés générales d'intégration (suite).

Propriété Description Valeur par défautPersonne habilitée àéditer la propriété

mxe.int.propagateuserPropage l'utilisateur authentifié via la filed'attente entrante. Lorsque ce paramètre est définisur 1 (true), l'utilisateur du message d'intégrationest sauvegardé avec le message de file d'attente etutilisé lors du traitement du message car il esttraité depuis la file d'attente pour les objetsmétier.

0 Administrateur global,administrateur delocataires

mxe.int.savemessageIndique le message JMS de sauvegarde.

0 Administrateur global,administrateur delocataires

mxe.int.setclobasalnContrôle la troncature des caractères envoyés auxtables d'interface.

0 Administrateur global,administrateur delocataires

mxe.int.textqualifierLe qualificateur de texte du fichier à plat est lequalificateur de texte par défaut dans l'activationde l'importation de l'application et dansl'importation des données.

" Administrateur global,administrateur delocataires

mxe.int.updatecoafromglcompMet à jour le plan comptable qui contient uncomposant identifié. Lorsqu'elle est définie sur 1(true), le traitement des données du composantGrand Livre (GL) lance les mises à jour associéesà toutes les données de plan comptable quiréférencent le composant GL.

1 Administrateur global,administrateur delocataires

mxe.int.usescientificUtilise une notation scientifique pour les valeursdouble précision.

1 Administrateur global,administrateur delocataires

mxe.int.validatexmltextValide la valeur de l'élément XML pour lescaractères XML non valides. Lorsqu'elle estdéfinie sur 1 (true), un message sortant est validépour garantir que toutes les données du messageutilisent des caractères XML valides. Si desmessages contiennent des caractères non valides,l'opération se termine et aucun message sortantn'est transmis.

0 Administrateur global,administrateur delocataires

mxe.int.whereclausepolicyDéfinit la règle where-clause pour une requêted'intégration.

parse Administrateur global,administrateur delocataires

mxe.int.adminfromemailAdresse électronique DE de l'administrationd'intégration, utilisée comme adresse électroniquede l'expéditeur (De) lorsque l'intégration initie uncourrier électronique. Doit être un formatd'adresse électronique valide, comme par [email protected].

Administrateur delocataires

mxe.int.admintoemailAdresse électronique À de l'administrationd'intégration, utilisée comme adresse électroniquedu destinataire (À) lorsque l'intégration initie uncourrier électronique. Doit être un formatd'adresse électronique valide, comme par exempleà@exemple.com. Vous pouvez fournir plusieursadresses électroniques dans une liste séparée pardes virgules.

Administrateur delocataires

Propriétés d'intégration REST

Pour afficher la liste des propriétés d'intégration de l'API REST, utilisez mxe.restcomme terme de filtre dans l'application Propriétés système. Pour les propriétésbooléennes (true/false), une valeur de 0 signifie false, et une valeur de 1 signifietrue.

188 Intégration de données à des applications externes

Page 197: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 31. Propriétés d'intégration de l'API REST

Propriété Description Valeur par défaut

mxe.rest.format.json.mimetypes Types MIME pris en charge parREST pour JSON.

application/json

mxe.rest.format.xml.mimetypes Types MIME pris en charge parREST pour JSON.

application/xml,text/xml

mxe.rest.handler.mbo Gestionnaire de ressources MBOREST.

com.ibm.tivoli.maximo.rest.MboResourceRequestHandler

mxe.rest.handler.os Gestionnaire de ressources de lastructure d'objets REST.

com.ibm.tivoli.maximo.rest.OSResourceRequestHandler

mxe.rest.handler.ss Gestionnaire de ressources duservice standard REST.

com.ibm.tivoli.maximo.rest.MaxServiceResourceRequestHandler

mxe.rest.serializer.mbo.imglib.image

Sérialiseur REST pour l'objetMBO au format image.

com.ibm.tivoli.maximo.rest.ImageLibSerializer

mxe.rest.serializer.mbo.json Sérialiseur REST pour l'objetMBO au format JSON.

com.ibm.tivoli.maximo.rest.MboJSONSerializer

mxe.rest.serializer.mbo.xml Sérialiseur REST pour l'objetMBO au format xml.

com.ibm.tivoli.maximo.rest.MboXMLSerializer

mxe.rest.serializer.os.json Sérialiseur REST pour lesstructures d'objet au formatJSON.

com.ibm.tivoli.maximo.rest.OSJSONSerializer

mxe.rest.serializer.os.xml Sérialiseur REST pour lesstructures d'objet au format xml.

com.ibm.tivoli.maximo.rest.OSXMLSerializer

mxe.rest.serializer.ss.json Sérialiseur REST pour lesservices standard au formatJSON.

com.ibm.tivoli.maximo.rest.ServiceMethodResponseJSONSerializer

mxe.rest.serializer.ss.xml Sérialiseur REST pour lesservices standard au format xml.

com.ibm.tivoli.maximo.rest.ServiceMethodResponseXMLSerializer

mxe.rest.webappurl Authentification par jeton surl'adresse URL de l'applicationWeb.

mxe.rest.mbo.blockaccess Blocage de l'accès à la liste desobjets MBO séparés par desvirgules.

mxe.rest.mbo.defaultformat Format par défaut REST pourl'ensemble des objets MBO.

xml

mxe.rest.mbo.imglib.defaultformat Format par défaut REST pourl'objet MBO imglib.

image

mxe.rest.os.blockaccess Blocage de l'accès à la listeséparée des structures d'objet.

10

mxe.rest.os.defaultformat Format par défaut REST pourl'ensemble des structures d'objet.

xml

mxe.rest.ss.defaultformat Format Representational StateTransfer par défaut pour toutesles réponses de service standard

xml

mxe.rest.supportedformats Format de réponse pris en chargepar REST.

xmljsonimage

mxe.rest.whereclausepolicy Définit la règle de la clausewhere pour une requête REST.

parse

Propriétés d'intégration OSLC

Pour afficher la liste des propriétés d'intégration OSLC, utilisez mxe.oslc commeterme de filtre dans l'application Propriétés système. Pour les propriétésbooléennes (true/false), une valeur de 0 signifie false, et une valeur de 1 signifietrue.

Intégration de données à des applications externes 189

Page 198: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 32. Propriétés d'intégration OSLC

Propriété Description Valeur par défaut

mxe.oslc.dfltconsumerversion Version OSLC par défaut utilisée par leconsommateur.

2

mxe.oslc.dfltversion Version OSLC par défaut pour unfournisseur OSLC.

2

mxe.oslc.enableprovider Active le fournisseur OSLC. 1

mxe.oslc.idleexpiry Indique le délai d'inactivité. 300

mxe.oslc.webappurl Adresse URL publique du fournisseur. http://localhost/maximo/oslc/

mxe.oslc.collectioncount Ajoute le nombre total à la collectionOSLC.

0

mxe.oslc.defaultep Point de terminaison OSLC par défaut. OSLCDEFAULT

mxe.oslc.defaultformat Format par défaut d'OSLC. oslcjson

mxe.oslc.errorresponse Format de réponse d'erreur OSLC. 1

mxe.oslc.preferproviderdesc Préférence de la description dufournisseur OSLC pour les URLréconciliées du registre des ressources

faux

mxe.oslc.prefersmallpreview Préférence du petit aperçu pour leconsommateur OSLC.

faux

mxe.oslc.prettyjson Impression JSON de qualité. 0

mxe.oslc.prettyrdf Impression RDF de qualité. 0

mxe.oslc.prqueryep Point de terminaison de requête duregistre fournisseur.

PROVIDERREGISTRY

mxe.oslc.prcreateep Représente le point de terminaison decréation du registre fournisseur.

Configuration de la file d'attente JMSPour les transactions asynchrones qui sont échangées à l'aide de canaux depublication ou de services d'entreprise, utilisez les files d'attente JMS (JavaMessage Service) pour échanger des données avec un système externe.

Pour le traitement entrant, lors de la réception d'un message du serviced'entreprise, le message est immédiatement écrit dans une file d'attente JMS etl'appelant du service est libéré de la transaction. Le message est traité à partir de lafile d'attente JMS entrante via les objets métier de l'application et enregistré dans labase de données. Les messages restent dans une file d'attente entrante jusqu'à cequ'ils soient correctement traités ou supprimés de la file d'attente. Une stratégiecommune pour l'implémentation de la file d'attente entrante consiste à isoler lesfiles d'attente et les clients de la file d'attente dans un serveur distinct ou uncluster de serveurs. Cette stratégie assure que le traitement des messages entrantsn'a aucun impact sur les performances pour les utilisateurs d'applications.

Pour le traitement sortant, les messages envoyés à l'aide d'un canal de publicationsont écrits dans une file d'attente JMS et l'utilisateur qui a initié le message estlibéré de la transaction. Le message est traité à partir de la file d'attente JMSsortante à l'aide du point de terminaison configuré, puis il est distribué àl'application externe. Les messages restent dans la file d'attente sortante jusqu'à cequ'ils soient correctement distribués à l'application externe ou supprimés de la filed'attente.

Il existe trois files d'attente de messages par défaut :v Une file d'attente séquentielle sortantev Une file d'attente séquentielle entrante

190 Intégration de données à des applications externes

Page 199: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Une file d'attente continue entrante

L'implémentation de la file d'attente JMS peut s'effectuer sur un serveurd'applications unique ou un cluster de serveurs d'applications.

Création et configuration d'une file d'attenteVous pouvez choisir d'utiliser une file d'attente JMS unique pour plusieurssystèmes externes ou de créer une file d'attente distincte pour chaque systèmeexterne que vous utilisez. La création et la configuration de la file d'attente se fonten plusieurs étapes. Vous pouvez utiliser les files d'attente par défaut ou créer desfiles d'attente supplémentaires en fonction des exigences de votre intégration.

Pourquoi et quand exécuter cette tâche

Des files d'attente distinctes sont utilisées pour prendre en charge les transactionssortantes et les transactions entrantes. Configurez une file d'attente pour prendreen charge les transactions entrantes ou sortantes, mais pas les deux. Configurez desfiles d'attente sortantes pour les utiliser avec des canaux de publication et des filesd'attente entrantes pour les utiliser avec des services d'entreprise.

Procédure1. Créez et configurez la file d'attente de messages sur le serveur d'applications.

Les files d'attnte JMS peuvent être configurées automatiquement oumanuellement sur WebSphere Application Server. Elles doivent être configuréesmanuellement sur WebLogic Server.

2. Dans l'application Systèmes externes, ajoutez des propriétés à la file d'attente.Vous pouvez créer des files d'attente supplémentaires pour répondre auxbesoins du système. Si vous n'utilisez pas les files d'attente par défaut, utilisezun fournisseur de serveur d'applications pour la configuration de votre filed'attente.

3. Dans l'application Systèmes externes, configurez le système externe et lesservices d'entreprise pour utiliser les files d'attente.

Propriétés de la file d'attente :

Dans l'application Systèmes externes, vous pouvez configurer plusieurs propriétéspour chaque file d'attente JMS.

Propriété Description

Nom JNDI de la file d'attente Référence le nom JNDI (Java Naming andDirectory Interface) configuré sur le serveurd'applications. Une valeur par défaut estfournie.

Queue Connection Factory Name (Nom dela fabrique de connexions de la file d'attente)

Référence le nom de la fabrique deconnexions configurée sur le serveurd'applications. Une valeur par défaut estfournie.

Classe de connexion initiale Valeur que vous devez configurer lorsquevous n'utilisez pas les files d'attente pardéfaut et le serveur d'applications fourni.

URL du fournisseur Valeur que vous devez configurer lorsquevous n'utilisez pas les files d'attente pardéfaut et le serveur d'applications fourni.

Intégration de données à des applications externes 191

Page 200: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété Description

ID utilisateur ID utilisateur que vous configurez lorsque lafile d'attente est sécurisée sur le serveurd'applications.

Mot de passe Mot de passe configuré lorsque la filed'attente est sécurisée sur le serveurd'applications de l'ID utilisateur.

Entrant Détermine si la file d'attente est utilisée pourle traitement entrant. Si la valeur entranteest NULL, le système utilise la file d'attentepour le traitement entrant.

Séquentielle Détermine si la file d'attente est séquentielle.Si la valeur séquentielle est NULL, lesystème utilise la file d'attente pour letraitement continu.

Compresser Détermine si les messages sont compresséslorsqu'ils sont écrits dans la file d'attente etdécompressés lorsqu'ils en sont extraits. Lacompression permet de réduire de manièreimportante la taille des messages. Les APIJava Inflater et Deflater standards(java.util.zip) son utilisées pour lacompression.

Nombre d'essais maximum Détermine le nombre de tentatives del'infrastructure d'intégration pour retraiterun message lorsqu'il rencontre une erreur. Lesystème continue de retraiter le messagejusqu'à ce que le nombre de tentatives soitatteint. La valeur de cette propriété doit êtredéfinie sur zéro lorsqu'une file d'attented'erreurs est implémentée.

Files d'attente séquentiellesUne file d'attente séquentielle est une file d'attente JMS utilisant une tâchepériodique système prédéfinie pour consommer les messages. Les messages desfiles d'attente séquentielles sont traités strictement sur le principe du premier entré,premier sorti, garantissant le traitement des messages dans l'ordre dans lequel ilssont générés et reçus.

Lorsqu'une erreur résulte d'un message, le système génère une erreur qui peut êtregérée dans l'application Nouveau traitement des messages, et ne traite pas lesmessages suivants de la file d'attente tant que l'erreur n'est pas corrigée.

Vous pouvez configurer deux files d'attente séquentielle système pour le traitementde messages entrant et sortant. Une tâche périodique prédéfinie,JMSQSEQCONSUMER, permet d'interroger les files d'attente. Il existe deuxinstances de cette tâche : une qui permet d'interroger la file d'attente entrante etune autre pour la file d'attente sortante. Si vous créez des files d'attenteséquentielles supplémentaires, vous pouvez configurer des instancessupplémentaires de la tâche périodique pour pointer vers ces files.

Le tableau suivant répertorie les paramètres de tâche périodique que vous pouvezconfigurer.

192 Intégration de données à des applications externes

Page 201: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Paramètre Description

MESSAGEPROCESSOR Classe Java traitant les messages de la filed'attente. Le système fournit cette classe.

QUEUENAME Nom JNDI de la file d'attente lorsqu'elle estcréée sur le serveur d'applications.

SELECTOR Clause WHERE de configuration d'uneinstance de tâche périodique destinée àtraiter un sous-ensemble de messages dansla file d'attente. Ce paramètre est facultatif.

TARGETENABLED Assurez-vous que la valeur est définie surcelle par défaut (0 (faux)). La fonctionnalitédonotrun est prioritaire sur la fonctionnalitéde cet indicateur. Utilisez le paramètredonotrun dans l'infrastructure de la tâchepériodique pour spécifier les serveurs surlesquels exécuter la tâche.

Files d'attente continuesUne file d'attente continue est une file d'attente JMS dotée d'un bean géré parmessage (MDB) en tant que consommateur. Elle est prédéfinie pour les servicesd'entreprise uniquement et utilise un traitement à unités d'exécution multiples afind'améliorer les performances système. Elle ne garantit pas l'ordre de traitement desmessages comme pour une file d'attente séquentielle.

Lorsque le traitement des messages génère une erreur qui peut être gérée dansl'application Nouveau traitement des messages, le système génère un messaged'erreur, puis continue de traiter les messages suivants dans la file d'attente. Ilexiste une file d'attente continue par défaut pour traiter les messages entrants.Vous pouvez choisir d'implémenter des files d'attente continues supplémentaires,en fonction de vos exigences d'intégration.

Activation de beans de message :

Les beans de message de serveur d'applications agissent en tant que client demessages à partir d'une file d'attente continue. Pour permettre aux beans demessage de prendre en charge la file d'attente continue, vous devez supprimer lamise en commentaire de lignes dans les fichiers de déploiement XML sur leserveur d'applications.

Procédure

1. Pour les environnements WebSphere Application Server et WebLogic Server,supprimez la mise en commentaire des lignes de code suivantes dans le fichierejb-jar.xml situé dans le dossier ...\applications\maximo\mboejb\ejbmodule\META-INF\ :<!-- MEA ejb for MDB<message-driven id="MessageDriven_JMSContQueueProcessor_1"><ejb-name>JMSContQueueProcessor-1</ejb-name><ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class><transaction-type>Container</transaction-type><message-destination-type>javax.jms.Queue</message-destination-type><env-entry><env-entry-name>MESSAGEPROCESSOR</env-entry-name><env-entry-type>java.lang.String </env-entry-type><env-entry-value>psdi.iface.jms.QueueToMaximoProcessor</env-entry-value></env-entry></message-driven>

Intégration de données à des applications externes 193

Page 202: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

--><!-- MEA ejb for MDB<container-transaction><method><ejb-name>JMSContQueueProcessor-1</ejb-name><method-name>*</method-name></method><trans-attribute>Required</trans-attribute></container-transaction>-->

2. Supprimez la mise en commentaire des lignes suivantes dans le fichier...\applications\maximo\mboejb\ejbmodule\META-INF\ibm-ejb-jar-bnd.xmidans un environnement WebSphere Application Server :<!-- MEA ejb for MDB<ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding"

xmi:id="MessageDrivenBeanBinding_1" activationSpecJndiName="intjmsact"><enterpriseBean xmi:type="ejb:MessageDriven"

href="META-INF/ejb-jar.xml#MessageDriven_JMSContQueueProcessor_1"/></ejbBindings>-->

3. Supprimez la mise en commentaire des lignes suivantes dans le fichier...\applications\maximo\mboejb\ejbmodule\META-INF\weblogic-ejb-jar.xmldans un environnement WebLogic Server :<!-- MEA MDB<weblogic-enterprise-bean><ejb-name>JMSContQueueProcessor-1</ejb-name><message-driven-descriptor><pool><max-beans-in-free-pool>3</max-beans-in-free-pool></pool><destination-jndi-name>jms/maximo/int/queues/cqin</destination-jndi-name><connection-factory-jndi-name>jms/maximo/int/cf/intcf

</ connection-factory-jndi-name></message-driven-descriptor><transaction-descriptor><trans-timeout-seconds>600</trans-timeout-seconds></transaction-descriptor><jndi-name>JMSContQueueProcessor-1</jndi-name></weblogic-enterprise-bean>-->

4. Après avoir apporté des modifications aux fichiers XML, vous devez régénérerle fichier EAR et le redéployer sur le serveur d'applications pour que lesmodifications soient prises en compte.

Performances de la file d'attente continue :

Pour améliorer les performances de la file d'attente, vous pouvez augmenter lenombre de beans gérés par message dans une file d'attente et ajouter des serveursd'applications supplémentaires à un cluster. Etant donné que le traitement desmessages est à unités d'exécutions multiples, des erreurs peuvent se produire enraison de l'ordre de traitement aléatoire.

Les exemples suivants décrivent les erreurs susceptibles de se produire. Dans lesdeux scénarios, le traitement de la gestion des erreurs d'intégration peutcorrectement retraiter l'erreur avant que l'administrateur système ne puisse lacontrôler.

Par exemple, vous chargez par lots une grand volume d'articles et de messages destock dans la file d'attente continue et il existe plusieurs enregistrements de stockpour un même numéro d'article. Si un message de stock de l'article A est traité

194 Intégration de données à des applications externes

Page 203: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

avant que le message de l'article qui ajoute l'article A au système ne soit traité, lemessage de stock génère une erreur car l'article A n'existe pas. Le traitement passeau message suivant.

Ensuite, le message de l'article A est traité et l'article A est ajouté au système. Lemessage ayant échoué peut alors être correctement traité. Dans ce cas, l'erreur estcorrigée sans intervention manuelle.

Ce type de situation peut se produire lorsque vous chargez simultanément desmessages associés dans la file d'attente continue. Cette situation est plus à mêmede se produire lorsque le volume des transactions est élevé, mais peut égalementse produire chaque fois que deux messages traitent simultanément des donnéesassociées.

Par exemple, deux messages essaient de mettre simultanément à jour le mêmeenregistrement système. La mise à jour d'un message réussit alors que celle del'autre message échoue. Toutefois, le traitement de la gestion des erreurs dusystème doit traiter le deuxième message une fois la première mise à jour terminée.

Configuration de beans de message :

Des extensions spécifiques au serveur contrôlent le nombre maximal de beans quevous pouvez créer.

Configuration de beans de message sur WebSphere Application Server :

Par défaut, le serveur est configuré pour avoir cinq beans gérés par message.

Procédure

1. Dans la console d'administration, sélectionnez la spécification d'activation JMS.2. Sélectionnez intjmsact.3. Indiquez une valeur dans la zone Maximum Concurrent End Points.

Configuration de beans de message sur un serveur WebLogic :

Par défaut, le serveur WebLogic est configuré pour avoir trois beans gérés parmessage.

Procédure

1. Ouvrez le fichier weblogic-ejb-jar.xml dans un éditeur de texte.2. Recherchez les lignes de code suivantes :

<pool><max-beans-in-free-pool>3</max-beans-in-free-pool></pool>

3. Remplacez la valeur 3 par une autre valeur si nécessaire. Commencez par unnombre relativement inférieur de beans gérés par message et surveillez laperformance.

4. Modifiez le fichier pour augmenter le nombre de beans gérés par message demanière incrémentielle jusqu'à ce que vous obteniez la performance detraitement des messages de la file d'attente continue voulue.

Que faire ensuite

Si les performances système sont faibles, vous pouvez résoudre une partie de ceproblème en regroupant des serveurs et en isolant le traitement des messages

Intégration de données à des applications externes 195

Page 204: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

entrants dans un groupe de serveurs spécifique.

Mise en cache de messages :

Le traitement de file d'attente continue utilise la propriété Maximum Batch Size(Taille maximum de lot), dans la définition Activation Specification (Spécificationsd'activation), pour contrôler le nombre de messages envoyés par le moteur demessagerie dans un seul lot.

Si trois beans gérés par message sont activés, et que la taille des lots est de 10,jusqu'à 30 messages peuvent être mis en cache. Effectuez un test avec différentesvaleurs pour vérifier que la valeur que vous définissez n'affecte pas les utilisateursde l'application ou les processus du serveur.

Un nombre illimité de messages peut être traité lorsque vous définissez la valeurde Maximum Batch Size (Taille maximum de lot) sur -1 dans un environnementWebLogic Server.

Si vous prévoyez d'utiliser une file d'attente d'erreurs WebSphere ApplicationServer, utilisez la valeur par défaut pour la taille des lots.

Configuration d'une file d'attente d'erreurs pour une file d'attente continue :

Vous pouvez implémenter une file d'attente d'erreurs sur le serveur d'applicationsqui transfère un message de la file d'attente principale vers une file d'attentesecondaire lorsqu'un message affiche une erreur. A moins que votre scénariod'intégration prenne en charge un très faible volume de messages, configurez unefile d'attente d'erreurs afin de prendre en charge le traitement des messages viaune file d'attente continue.

Une file d'attente continue utilise des beans gérés par message (MDB) pour traiterles messages. Lorsqu'un message affiche une erreur, les MDB poursuivent letraitement des messages d'erreur, même après avoir atteint le nombre maximum detentatives configuré pour le traitement. La sélection continue de ces messagesconsomme des ressources système et peut ralentir, voire empêcher, le traitementd'autres messages. La configuration d'une file d'attente d'erreurs pour la filed'attente continue permet d'éviter des retards de performances ou des goulots detransactions en transférant des messages d'erreur vers une file d'attente secondaire.

Configuration d'une file d'attente d'erreurs sur WebSphere Application Server :

Vous pouvez configurer une file d'attente continue pour disposer d'une filed'attente d'erreurs correspondante. Si un message rencontre une erreur, il estdéplacé de la file d'attente continue vers la file d'attente d'erreurs lorsque lenombre maximal de tentatives du paramètre de livraison est atteint. La filed'attente continue traite ensuite de nouveaux messages de file d'attente.

Pourquoi et quand exécuter cette tâche

Le fournisseur système doit exécuter cette tâche pour le compte du locataire.

Procédure

1. Configurez une destination de file d'attente d'erreurs dans le même membre debus que celui dans lequel réside la file d'attente continue.

196 Intégration de données à des applications externes

Page 205: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

2. Configurez la définition de la destination de file d'attente continue pourdisposer d'une destination d'exception. La destination d'exception doit pointervers la destination de file d'attente d'erreurs définie.

3. Dans la file d'attente d'erreurs, ajoutez une destination d'exception pointantvers elle-même. Les erreurs de la file d'attente d'erreurs se déplacent du hautvers le bas. Les messages en situation d'erreur font continuellement l'objet denouvelles tentatives.

4. Ouvrez le fichier ejb-jar.xml dans un éditeur de texte pour activer la propriétéMDBDELAY. Pour éviter une utilisation excessive des ressources système lorsdu nouveau traitement d'un message, utilisez la propriété MDBDELAY pourretarder le traitement des messages.

5. Supprimez la mise en commentaire des lignes de code suivantes et définissezune valeur appropriée :<env-entry><env-entry-name>MDBDELAY</env-entry-name><env-entry-type>java.lang.Long </env-entry-type><env-entry-value>30000</env-entry-value></env-entry>

La valeur par défaut est 30 secondes (30000 millisecondes).6. Ouvrez le fichier ibm-ejb-jar-bnd.xmi et supprimez la mise en commentaire

des lignes de code suivantes pour activer les beans gérés par message sur la filed'attente d'erreurs.<!-- MEA MDB for error queue<ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding"

xmi:id="MessageDrivenBeanBinding_1" activationSpecJndiName="intjmsacterr"><enterpriseBean xmi:type="ejb:MessageDriven"

href="META-INF/ejb-jar.xml#MessageDriven_JMSContQueueProcessor_2"/></ejbBindings>-->

Erreurs de file d'attente continue sur le serveur WebLogic :

La file d'attente du serveur WebLogic dispose d'une propriété de délai deredistribution qui peut contrôler la manière dont les messages d'erreur sontretraités. Cette propriété représente le temps écoulé entre le moment où le messagesignale une erreur et le moment où le message est retraité.

Vous ne pouvez pas afficher le message dans la file d'attente pendant la duréespécifiée dans la propriété de délai de redistribution. Ce délai améliore lesperformances du système. Les messages autres que les messages d'erreur peuventêtre traités au cours du délai défini dans la propriété de délai de redistribution. Cedélai s'applique au message et non pas à l'unité d'exécution qui traite le message.

Si vous avez défini la propriété de la taille des lots sur -1 (illimité) et la propriétédu délai de redistribution sur 30 secondes (30 000 millisecondes), les nouveauxmessages peuvent être traités dans la file d'attente. Le traitement continue mêmelorsqu'un grand nombre d'erreurs est en cours de retraitement.

La même fabrique de connexions est utilisée pour les files d'attente séquentielles etcontinues. Pour éviter tout problème de traitement de l'utilisateur séquentiel,définissez la valeur du délai de redistribution dans la configuration de la filed'attente de destination. Ne définissez pas la configuration du niveau de lafabrique de connexions.

Intégration de données à des applications externes 197

Page 206: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si la fréquence de traitement d'un message d'erreur dépasse le nombre detentatives configurées, le message arrête le traitement, puis il est redirigé pour lagestion des erreurs.

Sinon, vous pouvez implémenter une file d'attente d'erreurs. Pour implémenterune file d'attente d'erreurs, vous devez supprimer les entrées de mise encommentaire de la file d'attente d'erreurs dans les fichiers ejb-jar.xml etweblogic-ejb-jar.xml.

Format des messages de file d'attenteLes messages chargés dans les files d'attente JMS par l'infrastructure d'intégrationont des composants et formats définis. Le corps du message contient le messageXML traité dans le système ou envoyé au système externe.

En-tête de message

L'en-tête du message peut contenir l'identificateur de message JMS et les valeursd'en-tête JMS standard.

En-tête Description

JMSMessageID ID de message généré par le système.

JMSRedelivered Détermine si le message a été retraité.

Propriétés du message

Les propriétés contiennent les propriétés suivantes du fournisseur JMS et del'infrastructure d'intégration. Les propriétés de l'infrastructure d'intégration sont detype données de chaîne.

Propriété Description

MEAMessageID ID de message généré par l'infrastructured'intégration.

destjndiname Nom de la file d'attente ou de la rubriquesur laquelle le message est écrit.

INTERFACE Nom du canal de publication (file d'attentesortante) et du service d'entreprise (filed'attente entrante).

destination Nom du système externe pour les messagessortants.

SENDER Nom du système externe pour les messagesentrants.

USER Nom de l'utilisateur associé au messaged'intégration entrant. Cette valeur peut êtreutilisée pour les autorisations de sécurité sinécessaire.

compressed Indique si le message est compressé. Lesvaleurs peuvent être true ou false ; La valeurpar défaut est false.

Les API Java Inflater et Deflater standard(java.util.zip) son utilisées pour lacompression.

198 Intégration de données à des applications externes

Page 207: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété Description

uncompressed_length Stocke la taille de charge du messaged'origine avant la compression. Cette valeurdoit être conforme au type de schéma int[xsd:int] et existe uniquement lorsque lapropriété compressed est définie sur true.

MSG_TRK_ENABLED Valeur interne.

MSG_OP_MODE Nom du point de terminaison pour lesmessages sortants. chaîne fixe MXJMS pourles messages entrants.

MSG_TRK_STORE_MSG Valeur interne.

MSG_TRK_EXTSYS Nom du système externe pour les messagesentrants et sortants.

Msgkeyval Clé de message du nom de zone.

searchfieldval Valeur de la zone de recherche séparée pardes virgules.

msgoperation Indique si le canal de publication ou serviced'entreprise contient une opérationsynchroniser, créer, mettre à jour ousupprimer.

msgstatus Indique si le message possède une valeur destatut RECEIVED, ERROR, DELETED ouPROCESSED.

msgerrmsg Contient le texte du message d'exception.

Messages au format texte :

Les messages qui sont écrits dans une file d'attente par l'infrastructure d'intégrationsont par défaut au format octet. Vous pouvez utiliser l'application Systèmesexternes pour vous assurer que les messages au format texte sont également prisen charge.

Pour prendre en charge les messages au format texte, cochez la case Texte dans lafenêtre Ajouter/Modifier la file d'attente dans l'application Systèmes externes.Lorsqu'une file d'attente est configurée pour prendre en charge des messages auformat texte, tous les messages écrits par la suite dans la file d'attente par uncomposant d'intégration sont au format javax.jms.TextMessage au lieu du formatjavax.jms.BytesMessage utilisé par défaut.

Lorsque la file d'attente est configurée pour les messages au format texte, la zoneCodage de message texte de l'application Systèmes externes identifie les codagesde messages de texte formaté dans n'importe quelle file d'attente entranteconfigurée pour le système externe. Lorsqu'aucune valeur n'est fournit, lesmessages sont considérés comme codés au format UTF-8. Les messages qui sontécrits dans la file d'attente entrante sont toujours codés en UTF-8.

Sélecteurs de file d'attenteLes sélecteurs agissent comme des clauses WHERE dans l'utilisateur de filed'attente JMS. Les sélecteurs peuvent être appliqués aux propriétés et en-têtes d'unmessage dans une file d'attente séquentielle ou continue.

Le tableau suivant indique comment vous pouvez utiliser les sélecteurs continusdans l'utilisateur de file d'attente JMS.

Intégration de données à des applications externes 199

Page 208: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Type de file d'attente Endroit où identifier le sélecteur

File d'attente séquentielle Zone spécifiée comme propriété de la tâchepériodique.

File d'attente continue Zone spécifiée dans le code ejb-jar.xml dubean géré par message.

L'application des sélecteurs divise les files d'attente en files d'attente plus petites,chacune d'entre elles contient un sous-ensemble de données que chaque tâchepériodique ou bean géré par message utilise. Une erreur dans un sous-ensemble dedonnées n'arrête pas le traitement des autres sous-ensembles dans une file d'attenteséquentielle.

Les sélecteurs offrent une flexibilité en séparant le traitement des transactions, maisils affectent la performance du traitement des interrogations. En fonction duvolume des transactions, vous pouvez privilégier la mise en oeuvre de plusieursfiles d'attente au lieu d'une seule file d'attente avec plusieurs sélecteurs. Plusieursfiles d'attente offrent généralement une meilleure performance.

Vous pouvez ajouter l'instruction suivante à la propriété SELECTOR de l'instanceSEQQIN du JMSQSEQCONSUMER pour spécifier à la tâche périodique de traiterles transactions MXPOInterface et MXPRInterface à partir du système externecorrespondant :SENDER=’EXTSYS1’ and INTERFACE in ('MXPOInterface’, 'MXPRInterface’)

Ajoutez le contenu suivant à la configuration du bean de message dans le fichierejb-jar.xml pour spécifier au bean géré par message de traiter les transactionsMXPOInterface et MXPRInterface à partir du système externe correspondant :<message-selector>

SENDER=’EXTSYS1’ AND INTERFACE IN ('MXPOInterface’, 'MXPRInterface’)</message-selector>

Si deux systèmes externes envoient des données à une file d'attente séquentielleentrante, une erreur dans un des enregistrements arrête le traitement de toutes lestransactions de cette file d'attente pour maintenir l'ordre de traitement premierentré, premier sorti. Créez plusieurs instances d'une tâche périodique, chacuneavec un sélecteur traitant un système externe différent pour empêcher qu'uneerreur dans un système n'arrête les transactions du second système.

Vérifiez que les clauses where des sélecteurs identifient les ensembles detransactions s'excluant mutuellement dans une file d'attente séquentielle. Inclueztoutes les transactions insérées dans les files d'attente pour vous assurer que tousles messages sont traités selon l'ordre premier entré, premier sorti.

Affichage et suppression de messages dans une file d'attenteJMSVous pouvez afficher une liste des messages d'une file d'attente JMS, téléchargerces messages pour en visualiser les contenus et les supprimer de files d'attenteconfigurées. Lors de l'affichage ou de la suppression de messages, vous pouvezappliquer un sélecteur pour limiter le nombre de messages renvoyés pourtraitement.

200 Intégration de données à des applications externes

Page 209: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pourquoi et quand exécuter cette tâche

Les messages en cours de traitement sur une file d'attente continue par une beangéré par message ou sur une file d'attente séquentielle par une tâche périodiqueJMS ne sont pas disponibles pour affichage ou suppression. Vous pouvezdésactiver la tâche périodique pour arrêter le traitement des messages sur une filed'attente séquentielle. Les beans gérés par message traitent les messages en continuet le nombre de messages en cours de traitement peut varier. A moins que vous nedésactiviez les beans gérés par message, il est probable que tous les messages nesoient pas affichés ou supprimés. Si vous affichez ou supprimez des messages alorsque les beans gérés par message sont activés, il est possible que tous les messagesne soient pas disponibles pour le traitement.

Procédure1. Dans l'application Systèmes externes, sélectionnez l'action Ajouter/Modifier des

files d'attente.2. Sélectionnez une file d'attente et cliquez sur le bouton Afficher les données de

la file d'attente ou Supprimer les données de la file d'attente.3. Facultatif : Si vous sélectionnez l'option Afficher les données de la file

d'attente, vous pouvez indiquer un nombre dans la zone Nombre pour limiterle nombre d'enregistrements à afficher et vous pouvez vérifier la zone Compteruniquement si vous souhaitez seulement voir combien de messages sontactuellement dans la file d'attente.

4. Facultatif : Indiquez l'un des sélecteurs suivants si vous souhaitez filtrer sur lesenregistrements renvoyés dans la fenêtre Afficher les données de la filed'attente ou dans la fenêtre Supprimer les données de la file d'attente :

Option Description

MEAMessageID ID du message (s'applique aux messagesentrants et sortants).

INTERFACE Nom du service d'entreprise pour lesmessages entrants ou nom du canal depublication pour les messages sortants.

destination Nom du système externe pour les filesd'attente d'événements sortants uniquement.

SENDER Nom du système externe pour les messagesentrants uniquement.

USER Utilisateur recevant le message. Cette valeurest facultative et s'applique aux messagesentrants uniquement.

Les valeurs du sélecteur sont sensibles à la casse et doivent être placées entreguillemets, par exemple INTERFACE='MXPERSONInterface'.

Configuration de files d'attente avec WebSphere MQVous pouvez utiliser IBM WebSphere MQ pour configurer et gérer des activités demise en file d'attente. L'infrastructure d'intégration prend en charge WebSphereMQ Version 6.Concepts associés:«Messages au format texte», à la page 199Les messages qui sont écrits dans une file d'attente par l'infrastructure d'intégrationsont par défaut au format octet. Vous pouvez utiliser l'application Systèmesexternes pour vous assurer que les messages au format texte sont également prisen charge.

Intégration de données à des applications externes 201

Page 210: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Configuration de points de terminaison JMS et de gestionnaires :

Les messages sortants d'un canal public sont placés dans la file d'attente par défautet vous devez configurer le point de terminaison JMS et le gestionnaire pourenvoyer le message à WebSphere MQ.

Procédure

1. Créez un fournisseur WebSphere MQ sur le serveur d'applications WebSphereet configurez un point de terminaison d'intégration pour pointer vers lefournisseur de la file d'attente de messages (MQ) en utilisant :a. Le nom JNDI de destination (DESTJNDINAME)b. Le nom JNDI de la fabrique de connexions (CONFACTORYJNDINAME)

2. Configurez le point de terminaison pour pointer vers WebSphere MQ enutilisant :a. Le nom JNDI de destination (DESTJNDINAME)b. Le nom JNDI de la fabrique de connexions (CONFACTORYJNDINAME)c. L'adresse URL du fournisseur (PROVIDERURL)d. La fabrique de contexte initiale (CONTEXTFACTORY)

Configuration de files d'attente d'intégration et du fournisseur WebSphereMQ :

Pour remplacer des files d'attente d'infrastructure d'intégration par des filesd'attente WebSphere MQ, configurez les files d'attente sur WebSphere ApplicationServer et ajoutez ces définitions de files d'attente dans l'application Systèmesexternes.

Procédure

1. Créez la file d'attente JMS en définissant un autre fournisseur pour remplacer lefournisseur par défaut.

2. Créez une file d'attente proxy sur WebSphere Application Server en utilisant lefournisseur WebSphere MQ pointant vers la file d'attente de messages de votreserveur (MQ).

3. Dans la boîte de dialogue Ajouter/Modifier des files d'attente de l'applicationSystèmes externes, ajoutez des valeurs aux zones Nom JNDI de file d'attenteet Fabrique de connexions pour pointer vers la file d'attente proxy et lafabrique de connexions.

Résultats

Les messages sortants destinés à la file d'attente par défaut sont livrés à la filed'attente de messages (MQ) et les messages entrants sont récupérés de la filed'attente de messages (MQ).

Gestion des erreursL'infrastructure d'intégration prend en charge une variété de formats de messageset de protocoles afin d'échanger des messages pour le traitement de messagessynchrones et asynchrones. La gestion des erreurs exige plusieurs options pourrépondre aux différentes configurations d'implémentation que vous pouvez choisir.

Les files d'attente JMS sont utilisées par l'infrastructure d'intégration commemécanisme de transfert pour les messages entrants et sortants. La gestion des

202 Intégration de données à des applications externes

Page 211: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

erreurs des files d'attente est initiée lorsqu'une condition d'erreur est identifiée etque vous pouvez afficher, corriger, annuler et retraiter des messagesproblématiques.

Gestion des erreurs non basée sur une file d'attenteLorsque vous démarrez le traitement synchrone des messages d'intégrationentrants ou sortants, vous êtes informé de toutes les erreurs au moment del'exécution.

La gestion des erreurs non basée une file d'attente est nécessaire si une erreur seproduit lorsqu'un message synchrone est traité. Pour les messages entrants, au lieude dépendre d'une file d'attente d'erreurs, l'infrastructure d'intégration répond demanière synchrone au demandeur du processus avec un message d'erreur.L'application appelante doit recevoir la réponse, corriger l'erreur et réessayer latransaction.

Utilisez le journal système pour identifier et résoudre les erreurs de transactionsynchrone. Le journal système contient l'exception de traitement quel'infrastructure d'intégration envoie au demandeur du processus.

Gestion des erreurs basée sur une file d'attenteL'application Nouveau traitement des messages permet de gérer les messagesd'intégration asynchrones entrants et sortants erronés qui utilisent les files d'attenteJMS.

Les erreurs qui se produisent lorsqu'un message est envoyé d'une file d'attentevers un système externe sont généralement provoquées par un incident decommunication ou un problème de configuration de la base de données lors del'écriture sur les tables ou fichiers d'interface. Les erreurs se produisant lors dutraitement d'un événement entrant sont généralement le résultat des validations derègles métier ou de la logique de traitement d'événement entrant de l'infrastructured'intégration.

La file d'attente séquentielle traite les messages un par un, selon la séquencepremier entré, premier sorti. Lorsque l'infrastructure d'intégration rencontre uneerreur de traitement de message dans une file d'attente séquentielle, entrante ousortante, le mécanisme de gestion des erreurs est lancé et le message est indiquécomme ayant une erreur. Les messages suivants de la file d'attente ne sont pastraités tant que le message n'est pas résolu ou supprimé. Par conséquent, il ne peuty avoir qu'une seule erreur dans une file d'attente séquentielle.

La file d'attente continue gère les traitements entrants uniquement et traite lesmessages en mode multiprocessus. Lorsqu'une erreur se produit dans la filed'attente continue, la gestion des erreurs est lancée et le message est indiquécomme ayant une erreur. L'infrastructure d'intégration poursuit ensuite letraitement des messages suivants dans la file d'attente. Par conséquent, il peutexister plusieurs erreurs dans une file d'attente continue.

En fonction de la configuration de votre système, l'infrastructure d'intégration tentede retraiter plusieurs fois le message, pour les deux types de file d'attente, avantd'indique qu'une erreur nécessite une intervention. Le système effectue égalementles actions suivantes lorsqu'il rencontre une erreur :v Envoie une notification à un compte de messagerie spécifié, informant le

destinataire qu'une erreur s'est produite. Dans un environnement IBMWebSphere Application Server, l'infrastructure d'intégration envoie un message

Intégration de données à des applications externes 203

Page 212: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

électronique supplémentaire au compte de messagerie spécifié chaque fois quevous redémarrez avec succès le serveur d'applications.

v Crée un enregistrement dans l'application Nouveau traitement des messages.Crée un enregistrement pouvant être consulté dans l'application Nouveautraitement des messages. Cet enregistrement contient le message qui a été placédans la file d'attente.

Configuration de la gestion des erreursPour configurer la gestion des erreurs, vous devez configurer les propriétéssystème et le système externe.

Configuration des propriétés de gestion des erreurs :

Avant d'utiliser l'infrastructure d'intégration, configurez des propriétés dansl'application Propriétés système.

Procédure

1. Filtrez sur la propriété mxe.int.adminfromemail et indiquez une adresseélectronique, par exemple [email protected]. Cette adresse s'affiche dansles notifications d'erreur soumises par l'infrastructure d'intégration. Certainsserveurs SMTP exigent que cette adresse doit une adresse électronique valide ;d'autres acceptent n'importe quelle valeur.

2. Filtrez sur la propriété mxe.int.admintoemail et indiquez une ou plusieursadresses électroniques pour recevoir une notification des erreurs de traitementdes messages. Utilisez des virgules pour délimiter plusieurs adressesélectroniques. Vous pouvez, si vous le souhaitez, utiliser la propriété d'adresseélectronique au niveau de la file d'attente pour remplacer l'adresse del'administrateur. Utilisez cette option si vous souhaitez indiquer différentesadresses électroniques pour chaque file d'attente. Si vous ne configurez pasd'adresse électronique, aucune notification par courrier électronique n'estenvoyée lorsque des erreurs de traitement de file d'attente se produisent.

3. Filtrez sur la propriété mail.smtp.host et indiquez un serveur SMTP si aucunserveur n'a été configuré. Cette propriété n'est pas unique dans l'infrastructured'intégration et peut être configurée pour d'autres applications.

Configuration de la gestion des erreurs sur le système externe :

Configurez le système externe pour la gestion des erreurs.

Procédure

1. Dans l'application Systèmes externes, indiquez une valeur appropriée dans lazone Nombre d'essais maximum. Il n'existe pas de limite du nombre detentatives de réexécution de la transaction par le système. Après le premieréchec d'exécution de la transaction, l'administrateur système reçoit unenotification et un message est écrit dans un fichier d'erreurs. Cette valeur estgénéralement définie sur 0 pour les files d'attente sortantes.

2. Indiquez une valeur dans la zone Adresse électronique si vous souhaitez quedes messages de notification d'erreur soient envoyés à différentes adresses pourchaque file d'attente. Vous pouvez entrer plusieurs adresses, délimitées par desvirgules (,). La valeur de cette propriété remplace la valeur de la propriété del'adresse électronique de l'administrateur. Si aucune valeur n'est spécifiée, desnotifications par courrier électronique sont envoyées aux adresses électroniquesspécifiées pour la propriété de l'adresse électronique de l'administrateur.

3. Cliquez sur Sauvegarder.

204 Intégration de données à des applications externes

Page 213: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Notification d'erreursLorsqu'une transaction entrante ou sortante génère une erreur dans une filed'attente, une notification par e-mail est envoyée à l'administrateur systèmeuniquement si aucune autre erreur non résolue n'est en instance dans cette mêmefile d'attente. S'il existe plusieurs erreurs dans la file d'attente, l'administrateursystème doit toutes les résoudre avant d'envoyer les notifications de nouvelleserreurs.

Un message d'erreur par e-mail contient la trace de pile de l'erreur Java.

Le même processus de notification est utilisé pour toutes les erreurs, pour les filesd'attente continues et séquentielles, pour les messages entrants et sortants etindépendamment du système qui est exécuté dans un environnement en cluster oupas.

L'exemple suivant décrit la notification d'erreur d'une file d'attente entrantecontinue qui contient dix messages. Les quatre premiers messages sontcorrectement traités et une erreur se produit dans le cinquième message. Selon lavaleur que vous avez définie pour la propriété Nombre de tentatives maximum dusystème externe, un nouveau traitement du message peut être tenté une ouplusieurs fois supplémentaires. Si le message continue de causer une erreur, unenotification par e-mail est envoyée à l'administrateur système et les messagessuivants de la file d'attente sont traités. Si une autre erreur se produit dans leseptième message, une autre notification par e-mail ne sera pas envoyée sil'administrateur système n'a pas résolu l'erreur d'origine. Si l'administrateursystème a résolu l'erreur d'origine et qu'aucune erreur n'est en instance, unenouvelle notification par e-mail est envoyée.

Si l'erreur se produit dans une file d'attente séquentielle, le traitement est le mêmeque dans une file d'attente continue, sauf que le système ne traite pas les messagessuivants avant que le message contenant l'erreur d'origine n'ait été résolu.

Il peut y avoir plusieurs erreurs uniquement dans la file d'attente entrantecontinue. Dans un environnement en cluster, l'administrateur système peut recevoirune notification d'erreur par e-mail pour chaque serveur d'applications, en fonctionde la durée des transactions dans l'erreur.

Une condition d'exception inhabituelle peut se produire pour les messages sortantslors de la sauvegarde d'un message dans la file d'attente, mais la validation de latransaction dans la file d'attente échoue. Cette exception peut se produire car uneconnexion de la base de donnés au magasin de données JMS est indisponible. Sicette exception se produit, une notification est envoyée et le message en situationd'erreur est visible dans l'application Nouveau traitement des messages avec lestatut JMSERROR ou SAVED. Compte tenu que le message n'a pas étécorrectement sauvegardé dans la file d'attente, vous ne pouvez pas définir le statutdu message sur RETRY, mais vous pouvez traiter le message depuis l'application.

Nouveau traitement des messagesDans l'application Nouveau traitement des messages, vous pouvez gérer desmessages marqués comme contenant une erreur, mais aussi changer le statut d'unmessage, en le corrigeant ou en le supprimant de la base de données.

Si le suivi des messages est activé, utilisez l'application Suivi des messages pourdéterminer les messages suivis marqués comme contenant une erreur. Si le suivides messages est désactivé, vous pouvez vérifier les erreurs de transaction dansl'application Nouveau traitement des messages.

Intégration de données à des applications externes 205

Page 214: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Valeurs de statut des messages :

Pour modifier le statut d'un message, sélectionnez l'action Changer le statut dansl'application Nouveau traitement des messages. Le système désigne un statut pourchaque message afin d'indiquer s'il est prêt à être traité.

Un message peut avoir un statut REESSAYER ou ATTENTE :

Statut Description

REESSAYER Le message est prêt à être retraité par lesystème.

ATTENTE Le message n'est pas prêt à être retraité parle système.

Ce statut REESSAYER est le statut par défaut des messages marqués commecontenant une erreur. Tant que vous n'avez pas corrigé l'erreur de traitement, lesystème continue de retraiter le message en fonction du nombre de nouvellestentatives configuré dans la file d'attente. Lorsque le nombre de nouvellestentatives est atteint, le système remplace le statut du message par ATTENTE.

Vous pouvez arrêter le nouveau traitement du message en faisant passer son statutà ATTENTE. Un statut Attente empêche le système de retraiter le message marquéet la mise à jour des tables de base de données du système.

Messages XML d'erreur :

Vous pouvez passer en revue le message XML qui est généré lorsqu'une erreur seproduit et vous pouvez en modifier le contenu.

Lorsque vous gérez une erreur dans l'application Nouveau traitement desmessages, vous pouvez voir les informations suivantes :v La zone Données d'erreur contient le message d'erreur.v Le contenu du message inclut le message d'origine placé dans la file d'attente, ce

qui provoque une erreur. Vous pouvez éditer cet élément.v S'il est disponible, l'enregistrement interne contient la représentation XML du

message au moment où l'erreur s'est produite. Vous ne pouvez pas éditerl'enregistrement interne, mais vous pouvez le consulter pour savoir si letraitement d'intégration a modifié le message d'origine avant que l'erreur ne seproduise.

L'enregistrement interne représente la structure d'objet qui a été créée pendant letraitement d'exit utilisateur et de service d'entreprise. Un enregistrement unique estdisponible seulement pour les transactions entrantes et seulement lorsque letraitement d'exit utilisateur et de service d'entreprise a abouti. Si un enregistrementinterne est disponible, il est fourni à titre d'information uniquement et vous nepouvez pas le modifier.

Le code suivant est un exemple de message XML d'erreur :<?xml version="1.0" encoding="UTF-8"?>

<SyncMXPERSON xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"creationDateTime="2014-04-22T14:04:03-04:00"transLanguage="EN" baseLanguage="EN" messageID="11798570432187483"maximoVersion="7 6" event="1" messageid="11798570432652428">

<MXPERSONSet>

206 Intégration de données à des applications externes

Page 215: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<PERSON action="Update">...</PERSON></MXPERSONSet></SyncMXPERSON>

Le code suivant est un exemple de message XML d'enregistrement interne :<?xml version="1.0" encoding="UTF-8"?>

<SyncMXPERSON xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"creationDateTime="2014-04-22T14:04:03-04:00"transLanguage="EN" baseLanguage="EN" messageID="11798570432187483"maximoVersion="7 6" event="1" messageid="11798570432652428">

<MXPERSONSet><PERSON action="Update">...</PERSON></MXPERSONSet></SyncMXPERSON></IR></ERROR>

Erreurs critiques :

Les erreurs critiques traitent les exceptions que le processus de correction deserreurs de l'infrastructure d'intégration ne peut pas relancer.

Des exceptions de traitement des transactions peuvent se produire lorsque desdonnées incorrectes, comme un caractère spécial, figurent dans le fichier XML.Pour corriger une erreur critique, vous devez supprimer les données incorrectes dumessage XML. Les données incorrectes associées à une erreur critique s'affichentdans l'onglet principal de l'application Nouveau traitement des messages.

Correction des erreurs :

Dans l'application Nouveau traitement des messages, vous pouvez réexécuter unmessage qui est une erreur ou le supprimer de la base de données.

Nouveau traitement d'un message modifié :

Vous pouvez afficher, modifier et retraiter des messages dans l'applicationNouveau traitement des messages. Une fois le message XML d'erreur modifié,vous pouvez sauvegarder les modifications sans retraiter le message.

Pourquoi et quand exécuter cette tâche

Vous ne pouvez modifier que les messages ayant le statut ATTENTE. Si le messagea le statut REESSAYER, le contenu du message est en lecture seule.

Procédure

1. Dans l'application Nouveau traitement des messages, sélectionnez le messageque vous souhaitez modifier et cliquez sur l'icône Détails du message.

2. Dans la fenêtre Données d'erreur, apportez toutes les modifications nécessairesau message.

Intégration de données à des applications externes 207

Page 216: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

3. Cliquez sur Processus si vous souhaitez traiter une nouvelle fois le message.Vous pouvez cliquer sur Sauvegarder pour sauvegarder les modifications sanstraiter à nouveau le message ou cliquer sur Annuler pour annuler toutes lesmodifications effectuées.

Résultats

Si le traitement aboutit, l'application Nouveau traitement des messages exécute lestâches suivantes :v Supprime l'enregistrement de la table des messages d'erreur.v Met à jour les attributs DELETEFLAG, CHANGE BY et CHANGE DATE dans la

table de statut des erreurs.

Que faire ensuite

Dans la fenêtre Détails du message, actualisez la liste des messages marquéscomme contenant une erreur. Si le traitement du message aboutit, il est suppriméde la liste.

Suppression de messages :

Vous pouvez supprimer des messages de la file d'attente des messages d'erreur.Une fois le message supprimé, il ne peut pas être traité à nouveau.

Procédure

1. Dans l'application Nouveau traitement des messages, sélectionnez lesenregistrements de message que vous souhaitez supprimer.

2. Sélectionnez l'action Supprimer le message.3. Cliquez sur OK.

Résultats

Lorsqu'un message est supprimé, l'enregistrement est supprimé des tablesMAXINTERRORMSG et MAXINTERROR. L'application actualise l'ensemble derésultats et omet la mention relative au message supprimé sur l'onglet principal del'application Nouveau traitement des messages.

Actualisation des messages :

L'icône Actualiser de l'application Nouveau traitement des messages vous permetde mettre à jour la liste des messages. Lorsque vous actualisez la liste desmessages, vous pouvez vérifier le statut d'une liste de messages spécifique.

Si le retraitement des messages aboutit, l'application ignore les listes de messagesapplicables. Si vous supprimez un message, l'application ignore la liste desmessages supprimés.

Gestion des erreurs à l'aide de la fonction d'importation desdonnées basées sur un fichierL'infrastructure d'intégration prend en charge la gestion des erreurs avecl'application Nouveau traitement des messages qui vous permet de contrôler,corriger, retraiter et supprimer des messages d'erreur lorsqu'ils sont traités à partird'une file d'attente entrante. Lorsque les données sont importées à partir d'un

208 Intégration de données à des applications externes

Page 217: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

fichier XML ou d'un fichier à plat, une deuxième option est disponible et gère leserreurs à l'aide d'un fichier au lieu de l'application Nouveau traitement desmessages.

La gestion des erreurs basées sur un fichier est utile lorsque vous importez unvolume important de messages pouvant entraîner un grand nombre d'erreurs. Lagestion d'un grand nombre d'erreurs au format de fichier est plus facile et plusrapide que leur gestion individuelle dans l'application Nouveau traitement desmessages.Concepts associés:«Exportation et importation de données basées sur un fichier», à la page 236L'administrateur d'intégration peut initier l'importation et l'exportation de donnéesà partir de l'application Systèmes externes afin de prendre en charge, par exemple,l'intégration de données à l'aide de fichiers. Le processus d'importation contientune fonction d'aperçu d'une charge de données dans un fichier afin de valider lesdonnées avant de les sauvegarder dans la base de données. Le processusd'importation contient également une option permettant de gérer les erreursrésultant du chargement du fichier dans le même format de fichier que celuiimporté.

Gestion des erreurs basées sur un fichier :

Vous pouvez utiliser la gestion des erreurs basées sur un fichier avec la fonctiond'importation des données. Elle permet d'identifier tous les messages d'intégrationmarqués comme contenant une erreur et de télécharger un fichier completcontenant toutes les erreurs. Le fichier téléchargé n'est pas dans un format cohérentavec le fichier utilisé pour l'importation.

Pour configurer la gestion des erreurs basées sur un fichier, dans la fenêtreImportation des données, cochez la case Gestion des erreurs basées sur unefichier.

Lorsque vous cochez la case Gestion des erreurs basées sur un fichier et que vouslaissez la case Prévisualisation de l'importation décochée, vous recevez unmessage système une fois que les messages entrants sont correctement traités dansla file d'attente.

La logique de traitement entrant identifie les erreurs de traitement dans n'importequel message du fichier source et rend ces messages d'échec disponibles autéléchargement dans un fichier pouvant être retraité. L'application Nouveautraitement des messages dispose d'une fonction permettant de télécharger le fichierpouvant être retraité.

Si vous cochez la case Gestion des erreurs basées sur un fichier, tout messaged'intégration marqué comme contenant une erreur est disponible uniquement dansle fichier pouvant être retraité et n'est pas affiché dans la section des messages del'application Nouveau traitement des messages.

Configuration de la gestion des erreurs dans les tâches périodiquesd'importation des données :

Vous pouvez définir le paramètre ISFILEEXTRACT dans les tâches périodiquesXMLFILECONSUMER et FLATFILECONSUMER afin d'identifier le mécanisme degestion des erreurs que vous voulez utiliser.

Le tableau suivant contient les valeurs possibles pour le paramètre ISFILEEXTRACT :

Intégration de données à des applications externes 209

Page 218: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Valeur Mécanisme de gestion des erreurs

0 La gestion des erreurs est gérée dansl'application Nouveau traitement desmessages.

1 La gestion des erreurs basées sur un fichierest gérée dans la fenêtre Importation desdonnées et dans le fichier pouvant êtreretraité.

La gestion des erreurs basées sur un fichier signifie que tout message d'intégrationmarqué comme contenant une erreur est disponible uniquement dans le fichierpouvant être retraité et n'est pas affiché dans la section des messages del'application Nouveau traitement des messages.

Informations extraites par la gestion des erreurs basées sur un fichier :

La gestion des erreurs basées sur un fichier permet de télécharger un fichier quipeut être retraité et qui contient l'ensemble des messages d'erreur provenant d'unseul fichier d'entrée.

Le tableau suivant contient des informations disponibles dans la section Extractiondes erreurs de l'application Nouveau traitement des messages.

Zone Description

Fichierd'importation

Nom du fichier source qui a généré le fichier pouvant être retraité.

Serviced'entreprise

Nom du service d'entreprise utilisé pour importer le fichier source.

Systèmeexterne

Nom du système externe utilisé pour importer le fichier source.

Dated'importation

Date et heure auxquelles le processus d'importation des données a initié letraitement du fichier source.

Nombred'importations

Nombre total de messages importés à partir du fichier source d'origine.

Nombre detraitements

Nombre de messages correctement traités.

Nombred'erreurs

Nombre de messages affichant des erreurs.

Format defichier

Format du fichier source.

Disponiblepourl'extraction

Identifie si le traitement entrant du fichier source s'est terminé.

Icône Extraire Bouton d'action qui initie le processus de téléchargement de fichier. Pourvérifier que le fichier source a été intégralement traité par le mécanismed'importation, les fichiers peuvent uniquement être téléchargés lorsque lasomme du nombre d'erreurs et du nombre de traitements est égale aunombre importé.

IcôneSupprimer

Bouton d'action qui supprime l'enregistrement sélectionné de la tableExtraction des erreurs. Vous pouvez uniquement supprimer lesenregistrements de table si la somme du nombre d'erreur et du nombre detraitement est égale au nombre d'importations.

210 Intégration de données à des applications externes

Page 219: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Téléchargement de fichiers pouvant être retraités :

Vous pouvez télécharger un fichier retraitable et corriger les erreurs de traitementidentifiées dans le fichier. Vous pouvez ensuite tenter de recharger les fichierspouvant être traités à nouveau sans supprimer les informations de description dumessage d'erreur contenues dans le fichier.

Procédure

1. Dans l'application Nouveau traitement des messages, identifiez le fichier sourceà partir duquel vous téléchargerez les erreurs correspondantes.

2. Vérifiez que le fichier source a été complètement traité par le processusd'importation de données. La somme du nombre d'erreurs et du nombre traitédoit être égale à au nombre importé.

3. Cliquez sur l'icône Télécharger.4. Enregistrez le fichier pouvant être traité à nouveau sur le client ou à un

emplacement de serveur de fichiers accessible.

Format de fichier retraitable :

Lorsque vous téléchargez le fichier retraitable, il est fourni au même format quecelui du fichier d'entrée d'origine. Si vous utilisez le format de fichier à plat, lefichier utilise les mêmes délimiteur et qualificatif de texte. Le nom de fichier pardéfaut du fichier retraitable est<IdentifiantFichierUnique>_<NomFichierOrigine>.<OriginalFileExtension>

Exemple de fichier retraitable XML

Un fichier retraitable basé sur un fichier XML inclut un élément supplémentairedans le MBO principal de la structure d'objet d'origine. Par exemple, un fichierretraitable généré basé sur les informations MXASSET inclut l'élémentMAXINTERRORMSG comme élément de l'actif.<?xml version="1.0" encoding="UTF-8"?>

<SyncMXASSET xmlns="http://www.ibm.com/maximo" transLanguage="EN"><MXASSETSet>

<ASSET><ANCESTOR /><ASSETID>94</ASSETID><ASSETNUM>THREE_T2002</ASSETNUM><ASSETTAG /><ASSETTYPE />.........<WARRANTYEXPDATE>2020-12-24T00:00:00-05:00</WARRANTYEXPDATE><YTDCOST>0.0</YTDCOST><MAXINTERRORMSG>

L’erreur suivante s’est produite lors du traitement de ASSET.BMXAA4147E -L’ensemble d’articles error1 n’existe pas.

</MAXINTERRORMSG></ASSET>.........

</MXASSETSet></SyncMXASSET>

Intégration de données à des applications externes 211

Page 220: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exemple de fichier retraitable à plat

Les fichiers retraitables qui suivent une structure de fichier à plat incluent unecolonne supplémentaire. Par exemple, un fichier retraitable généré basé sur lesinformations MXASSET inclut l'élément la colonne MAXINTERROR commestructure de l'enregistrement d'origine :EXTSYS1,MXASSETInterface,,ENASSETNUM,AS_DESCRIPTION,AS_DESCRIPTION_LD,HIERARCHYPATH,AS_SITEID,MAXINTERRORMSGT-SP500_error,autospray,,,TEXAS,L’erreur suivante s’est produite lors du traitement de ASSET.BMXAA4049E -La valeur spécifiée T-SP500_error dépasse la longueur maximale de la zone.

Suppression de fichiers pouvant être retraités :

Vous pouvez supprimer définitivement les données disponibles pour procéder auretraitement en tant que fichier.

Procédure

1. Dans l'application Nouveau traitement des messages, identifiez la ligne desdonnées pouvant être retraitées que vous souhaitez supprimer.

2. Cliquez sur l'icône Supprimer.

Gestion des erreurs de la table d'interfaceLes tables d'interface peuvent être utilisées pour l'échange de données entrantes etsortantes. Des erreurs peuvent se produire lors de l'écriture de données entrantesdepuis une table d'interface vers une file d'attente ou lors de l'écriture de donnéessortantes depuis une file d'attente vers une table d'interface.

Si la tâche périodique est confrontée à une erreur qui génère un message sortantd'une file d'attente, le message reste dans la file d'attente jusqu'à ce que le casd'erreur soit résolu. Des erreurs peuvent se produire pour les raisons suivantes :v La table d'interface n'existe pas.v Il existe une erreur de base de données en raison du manque d'espace.v Le contenu du message, comme défini par la structure d'objets, a été modifié

mais la table d'interface n'a pas été recréée pour refléter le nouveau format demessage.

Lorsqu'un message sortant arrive dans une table d'interface, il est de laresponsabilité de l'application externe d'extraire les données et de gérer les erreursen fonction de leur implémentation d'intégration.

La tâche périodique qui écrit des messages entrants dans une file d'attente peutrencontrer des erreurs pour les raisons suivantes :v La file d'attente JMS est désactivée ou il n'y a pas d'espace disponible.v Le service d'entreprise ou le nom du système externe est incorrect.v Le service d'entreprise n'est pas activé pour le système externe.v Le système externe n'est pas activé.

Lorsqu'une erreur se produit lors du traitement de la table d'interface entrante, leprogramme d'interrogation écrit la trace d'exception dans la colonneIMPORTMESSAGE de la table de la file d'attente MXIN_INTER_TRANS. Pour lapremière erreur dans la table de la file d'attente MXIN_INTER_TRANS, le systèmeenvoie une notification par e-mail à l'administrateur. Vous pouvez résoudre ce casd'erreur en mettant à jour la ligne de données dans MXIN_INTER_TRANS, par

212 Intégration de données à des applications externes

Page 221: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

exemple, en corrigeant la valeur du nom du système externe ou en mettant à jourles données de configuration dans l'application, par exemple, en activant le serviced'entreprise.

Une fois que la tâche périodique a traité les enregistrements suivants dans la tablede la file d'attente MXIN_INTER_TRANS, elle passe dans un état inactif enfonction des intervalles de traitement des tâches périodiques définis. Dès la reprisedu traitement, la tâche périodique essaie de traiter les enregistrements dansl'erreur, ainsi que de nouveaux enregistrements ajoutés à la table de la file d'attenteMAX_INTER_TRANS.

Après l'envoi d'une notification d'erreur, la tâche périodique n'envoie pas denotification d'erreurs supplémentaires si la table de la file d'attente contient unetransaction marquée comme contenant une erreur. On suppose que la personne quia été notifiée de l'erreur initiale repère et corrige les erreurs supplémentaires lorsde l'examen de la table de la file d'attente. Une fois que toutes les erreurs en coursont été corrigées, la tâche périodique envoie une notification dès qu'elle rencontreune nouvelle erreur.

Toute erreur qui se produit une fois que la tâche périodique a correctement écritun message de la table d'interface dans une file d'attente entrante est gérée par leprocessus de gestion des erreurs pour les files d'attente.

Causes communes des erreursDes erreurs de traitement des messages dans la file d'attente sortante se produisenten raison d'un problème lors de la livraison d'un message au point de terminaisonspécifié pour le système externe. Les erreurs lors du traitement des messages dansune file d'attente entrante sont généralement liées à la validation de règle métierou au traitement entrant du service d'entreprise.

Pour le traitement sortant, les problèmes sont généralement des interruptions dulien de communication à l'application externe, des problèmes avec l'espace table debase de données, ou des problèmes d'espace fichier dans l'application externe. Pourrésoudre une erreur sortante, vous n'avez généralement pas besoin de modifier lemessage XML.

Le tableau suivant décrit les erreurs de message les plus communes que vouspouvez rencontrer et fournit des recommandations pour les corriger. Corriger uneerreur dans le message XML peut créer une non concordance dans les donnéesentre les systèmes d'envoi et de réception.

Type d'erreur Description Actions

Erreur de séquence Causée par l'organisation desproblèmes entre lesmessages. Le système arrêtele traitement des messageslorsqu'un enregistrement faitréférence à un autreenregistrement qui est à l'étatd'attente.

Cette erreur s'applique pourgarantir le bon ordre detraitement desenregistrements. Selon ladirection du traitement dumessage et la logique detraitement appliquée, letraitement peut corrigerlui-même l'erreur lors dutraitement del'enregistrement à l'état enattente.

Intégration de données à des applications externes 213

Page 222: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Type d'erreur Description Actions

Erreur de données Se produit parce que lesdonnées ou l'enregistrementn'existent pas dans la base dedonnées du système et nefont pas partie des messagesentrants dans la file d'attente.

Ajoutez les donnéesmanquantes à la base dedonnées du système.

Erreur de communication Causée par des problèmes decommunication avec lesystème externe dus à despannes système ou à desincidents réseau.

Restaurez la communicationavec le système externe.

Erreur de message Causée par des valeurs dedonnées de messageerronées.

v Changez le statut de latransaction par HOLD.

v Corrigez le message XMLd'erreur.

v Changez le statut de latransaction par RETRYpour traiter à nouveau latransaction.

Recherche d'erreursLorsque vous recevez une notification d'erreur, observez le message XML dansl'application Nouveau traitement des messages. Selon le type de file d'attente(séquentielle ou continue), le nombre de messages figurant dans la file d'attentepeut être zéro, un ou plus dans l'application Nouveau traitement des messagespour chaque file d'attente individuelle.

Aucun message en situation d'erreur

S'il n'existe aucun message en situation d'erreur dans l'application Nouveautraitement des messages, une nouvelle tentative d'envoi du message est effectuée etl'erreur n'apparaît plus. Le message d'erreur est supprimé lorsque son traitementabouti.

Par exemple, une erreur se produit dans un message de réception entrant en raisond'un compte GLG incorrect. Suite à cette erreur, un utilisateur en ligne accède à cecompte GLG dans le système. Une nouvelle tentative de traitement du message esteffectuée avec succès et les données sont sauvegardées.

Dans un autre exemple, une transaction sortante détecte une erreur decommunication. Une fois cette erreur résolue, le message est envoyé au systèmeexterne et le message en situation d'erreur est supprimé.

Un ou plusieurs messages en situation d'erreur

Lorsqu'une erreur se produit dans une file d'attente séquentielle (entrante ousortante), le traitement de la file d'attente s'arrête jusqu'à la résolution de l'erreur.

Lorsqu'une erreur se produit dans une file d'attente continue, le traitement de lafile d'attente se poursuit et d'autres erreurs peuvent se produire avant la résolutionde l'erreur initiale. Plusieurs messages en situation d'erreur peuvent exister dansl'application Nouveau traitement des messages.

214 Intégration de données à des applications externes

Page 223: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Suivi des messagesL'application Suivi des messages permet de suivre et d'afficher l'historique dutraitement des messages de canal de publication et des messages de servicesd'entreprise basés sur une file d'attente.

L'application Suivi des messages s'utilise avec l'application Nouveau traitement desmessages. Lorsque vous utilisez l'application Suivi des messages, vous pouvezidentifier les messages marqués comme contenant une erreur. Vous pouvez ensuitesélectionner un message en échec, accéder à l'application Nouveau traitement desmessages afin d'effectuer l'action appropriée pour corriger les données erronées.

Détails du message :

Lorsque vous activez le suivi des messages, l'infrastructure d'intégration écrit tousles messages traités dans la table MAXINTMSGTRK. Un statut représentant laposition actuelle du message dans le cycle de traitement de la file d'attente estattribué à chaque message. Les événements des messages individuels s'affichentdans la fenêtre Détails du message.

Lorsque vous activez le suivi des messages, les messages présents dans la filed'attente avant que la fonction ne soit activée ne sont pas identifiés par la logiquede suivi des messages. Lorsque vous désactivez le suivi des messages, lesmessages présents dans la file d'attente avant que la fonction ne soit désactivéesont identifiés, mais pas les nouveaux messages.

Les messages possèdent les attributs suivants, et les valeurs sont affectées enfonction des données du service d'entreprise ou du canal de publication d'origine :v Integration mode (Mode d'intégration) : nom du mode d'intégration utilisé dans

le traitement du message. Pour les messages entrants, le système attribue unevaleur MXJMS par défaut. Pour les messages sortants, le système attribue le nomdu point de terminaison utilisé dans le traitement du message.

v Opération : l'opération de traitement du système s'applique au message suivi,qui peut être SYNC (SYNC), MAJ, QUERY (INTERROGER), SUPPRIMER,CREATE (CREER) et PUBLISH (PUBLIER).

v Système : nom du système externe associé au service d'entreprise ou au canal depublication

v Composant d'intégration : nom du service d'entreprise ou du canal depublication.

v Adaptateur : nom de l'adaptateur associé au service d'entreprise ou au canal depublication.

v Nom de file d'attente : nom de la file d'attente utilisée par l'infrastructured'intégration pour traiter le message.

Les attributs suivants sont les valeurs attribuées au moment de la création del'enregistrement de transaction.

Attribut Valeur

Received Datetime (Date/heure de laréception)

Date et heure de réception du message dansla file d'attente.

ID Message Identifiant unique du message attribué parl'infrastructure d'intégration.

Rechercher l'ID Identifiant du message attribué par uneapplication externe et utilisé dans lesrecherches de message.

Intégration de données à des applications externes 215

Page 224: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Attribut Valeur

ID message externe Identifiant unique du message attribué parune application externe.

Les attributs suivants possèdent des valeurs dynamiques qui changent selon lesévénements de transaction.

Attribut Valeur

Statut actuel Statut de traitement le plus récent pour lemessage suivi.

Statut Statut associé à l'événement du messageindividuel dans l'historique de transaction.

Date du statut Date du statut de l'événement du messageindividuel dans l'historique de transaction.

Erreur Message d'erreur de l'événement dumessage d'erreur individuel dans l'historiquede transaction.

Valeurs de statut des messages :

Chaque message de la file d'attente entrante ou sortante enregistré dansl'application Suivi des messages est doté d'un statut indiquant sa position dans lecycle de traitement des transactions.

Ce statut précise si le message a été reçu ou traité avec succès et s'il a été suppriméou marqué comme contenant des erreurs.

Statut des messages entrants

Les messages entrants peuvent avoir les valeurs de statut suivantes :

Statut Description

ERREUR Le traitement du message a échoué du faitde problèmes de validation.

SUPPRIME Le message a été supprimé de la filed'attente.

TRAITE Le message a été traité avec succès.

RECU Le message a été écrit avec succès dans lafile d'attente entrante.

Statut des messages sortants

Les messages sortants peuvent avoir les valeurs de statut suivantes :

Statut Description

ERREUR Le traitement du message a échoué du faitde problèmes de validation.

SUPPRIME Le message a été supprimé de la filed'attente.

TRAITE Le message a été traité avec succès.

216 Intégration de données à des applications externes

Page 225: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Statut Description

RECU Le message a été écrit avec succès dans lafile d'attente sortante.

Evénements de message :

L'application Suivi des messages suit et affiche les événements de traitement detransaction dans les files d'attente entrantes et sortantes. Les événements detraitement de transaction entraînent la mise à jour de la table MAXINTMSGTRK.

Les attributs de table de messages ci-dessous sont mis à jour en fonction du typed'événement :v STATUSv STATUSDATETIMEv ERRORMSGR.

Les événements entrants et sortants ci-dessous mettent à jour la tableMAXINTMSGTRK :

Tableau 33. Evénements entrants et sortants suivis

Evénement Détails

Message écrit dans la file d'attente Un enregistrement est créé dans la table desuivi des messages lors de la premièreécriture du message en file d'attente parl'infrastructure d'intégration. Lorsquel'écriture du message dans la file d'attenteaboutit, le statut de l'enregistrement dumessage est RECU.

Si l'infrastructure d'intégration rencontre uneerreur lors de l'écriture d'un message entrantdans la file d'attente, elle envoie un messagedétaillant la cause de l'erreur au demandeurdu processus.

Erreur de traitement des messages L'enregistrement existant dans la table desuivi des messages. Lorsque le système degestion des actifs détecte une erreur detraitement, il met à jour le statut del'enregistrement de message sur ERREUR. Sivous envoyez à nouveau le message etqu'une erreur de traitement est à nouveaudétectée, le système de gestion des actifsconserve le message au statut ERREUR.

Intégration de données à des applications externes 217

Page 226: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 33. Evénements entrants et sortants suivis (suite)

Evénement Détails

Traitement en fin de file d'attente Les événements de traitement de transactionsuivants mettent à jour l'enregistrementexistant :

v Le système de gestion des actifs achèveavec succès le traitement du message etmet à jour le statut de l'enregistrement demessage sur TRAITE. Le cycle detraitement étant terminé, aucune mise àjour supplémentaire n'est effectuée dans latable de suivi des messages.

v Si vous supprimez le message de la filed'attente, le système de gestion des actifsdéfinit le statut d'enregistrement dumessage sur SUPPRIME. La table de suivides messages n'est plus mise à jour.

Configuration du suivi des messages. :

Vous pouvez suivre les messages envoyés via les canaux de publication ou reçusdes services d'entreprise.

Dans les applications Canaux de publication et Services d'entreprise, vous pouvezconfigurer les fonctions de suivi des messages suivantes :v Activer ou désactiver le suivi des messages.v Stocker les messages de transaction dans la base de données avec les détails du

suivi.v Indiquer les données du message que la fonction de recherche de l'application

Suivi des messages utilise à l'aide de l'expression XPATH.v Identifier précisément les messages avec une valeur d'ID unique à l'aide d'une

expression XPATH.v Identifier les messages avec une valeur d'ID de recherche à l'aide d'une

expression XPATH.

Les expressions XPATH associées aux valeurs d'ID de message externe et lesvaleurs d'ID de recherche peuvent identifier plusieurs noeuds dans un fichierXML. Dans ce cas, les valeurs d'ID du message et d'ID de recherche sontenregistrées sous la forme d'une liste de valeurs séparées par des virgules. Leslongueurs de zones de la base de données sont applicables aux zones d'ID externeet d'ID de recherche. Si nécessaire, vous pouvez ajuster la longueur des ces zonesdans l'application Configuration de base de données.

Messages stockés

Lorsque vous configurez le suivi des messages, tous les détails sont enregistrésdans la base de données et vous pouvez les consulter dans l'application Nouveautraitement des messages.

ID de suivi des messages externes

Chaque message entrant possède un identifiant externe stocké dans la tableMAXINTMSGTRK. Avec l'application Suivi des messages, vous pouvez utiliser cet

218 Intégration de données à des applications externes

Page 227: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID de message externe pour localiser des messages spécifiques. La syntaxe quevous utilisez pour identifier un noeud de message doit être une expression XPATHcomplète.

Pour trouver tous les messages du service d'entreprise MXPERSONInterface,spécifiez l'expression XPATH complète suivante dans la zone External Message ID(ID de message externe) :/{http://www.ibm.com/maximo}SyncMXPERSON/@messageID

Lors de la réception d'un message entrant avec plusieurs noms, l'infrastructured'intégration utilise l'expression XPATH de l'ID de message externe pour identifierle message. Si l'expression XPATH pointe vers un élément inclus dans chacun desnoms du message entrant, l'infrastructure d'intégration crée une liste de plusieursnoms séparés par des virgules d'identifiants externes.

Rechercher l'ID

En spécifiant une expression XPATH pour identifier des noeuds, l'infrastructured'intégration peut effectuer des recherches de plusieurs noms. Le système stockel'identifiant de recherche dans la table MAXINTMSGTRK.

Pour trouver tous les messages du service d'entreprise MXPERSONInterface, créezl'expression XPATH complète suivante comme ID de recherche :

/{http://www.ibm.com/maximo}SyncMXPERSON/{http://www.ibm.com/maximo}MXPERSONSet/{http://www.ibm.com/maximo}PERSON/{http://www.ibm.com/maximo}PERSONID

Lors de la réception d'un message entrant avec plusieurs noms, l'infrastructured'intégration utilise l'expression XPATH de l'ID de recherche pour identifier lemessage. Si l'expression XPATH pointe vers un élément inclus dans chacun desnoms du message entrant, l'infrastructure d'intégration crée une liste de plusieursnoms séparés par des virgules d'identifiants de recherche.

Activation du suivi des messages :

Activez le suivi des messages pour des transactions sortantes dans l'applicationCanaux de publication et pour des transactions entrantes dans l'applicationServices d'entreprise.

Procédure

1. Dans l'application Canaux de publication ou l'application Services d'entreprise,sélectionnez le canal ou le service traitant les messages d'intégration.

2. Sélectionnez l'action Suivi des messages.3. Dans la fenêtre Paramètres de suivi des messages, cochez la case Activer le

suivi des messages.4. Facultatif : Cochez la case Stocker le message pour stocker des messages de

transaction.5. Facultatif : Dans la zone ID message externe, indiquez une ou plusieurs

expressions XPATH pour localiser des messages spécifiques.6. Facultatif : Dans la zone Rechercher l'ID, indiquez une ou plusieurs

expressions XPATH pour rechercher des messages.

Intégration de données à des applications externes 219

Page 228: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Configuration en clusterL'infrastructure d'intégration peut fournir des services d'intégration à un cluster deserveurs d'applications. Si la file d'attente continue d'un serveur unique estinadaptée à votre volume de messages, vous pouvez ajouter des unités detraitement centrales, du matériel et une configuration de clusters afin d'améliorerles performances de traitement des messages.

Lors de l'implémentation d'un cluster de serveurs, vous pouvez utilisersimultanément plusieurs serveurs pour traiter des messages entrants. Ces messagessont traités dans les files d'attente continues en utilisant des beans gérés parmessage (MDB). Les configurations de clusters facilitent le traitement des messagesdans des volumes conséquents.

Files d'attente JMS dans un cluster de serveursDans une configuration de cluster, les files d'attente JMS sont associées à unmembre du cluster de serveurs et l'accès aux files d'attente est fourni par le serviceJava Naming and Directory Interface (JNDI).

Le service JDNI est disponible sur tous les membres du cluster.

Message XML(service

D'entreprise)

HTTP / EJB / SOAP

Equilibreur de charge

ProducteurJMS

ProducteurJMS

ProducteurJMS

File d'attenteJMS

continue

Serveurd'applications

1

ClientJMS

ClientJMS

ClientJMS

Service d'entreprise

Objets métier/BD

Traitement à unitésd'exécutions multiples viaplusieurs serveursd'applications et MDB entant que client

Traitement séquentiel àunité d'exécution unique(premier entré, premiersorti) via tâche périodique

File d'attenteJMS

séquentielle

Serveurd'applications

1

Serveurd'applications

2

Serveurd'applications

3

Serveurd'applications

1

Serveurd'applications

2

Tous les membres du cluster peuvent produire des messages dans la file d'attenteséquentielle. Une tâche périodique à une seule unité d'exécution lit les messages dela file d'attente séquentielle pour prendre en charge le traitement first-in-first-out.

La file d'attente continue comporte plusieurs unités d'exécution du côté del'utilisateur pour prendre en charge le traitement de messages volumineux. Danscette file d'attente, l'ordre de traitement des messages n'est pas pris en compte.

220 Intégration de données à des applications externes

Page 229: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Les messages de service d'entreprise qui utilisent la file d'attente séquentielle sonttraités dans un ordre séquentiel strict. Le traitement des messages comporte uneseule unité d'exécution. Le groupement n'a pas d'impact important sur lesperformances de traitement des messages par la file d'attente séquentielle.

Files d'attente continue sur un cluster de serveurs d'applications :

Dans un environnement groupé, vous pouvez réserver la file d'attente JMScontinue pour un membre du cluster.

Le diagramme suivant présente un exemple de configuration en cluster sur unserveur d'applications. La file d'attente continue reçoit les messages du fournisseurJMS et traite les messages de l'utilisateur JMS.

Chargement detable d'interface,fichier XML, fichier

Transaction XML(service

d'entreprise)

HTTP / EJB / SOAP

Equilibreur de charge

Serveurd'applications

1

ProducteurJMS

ch

es

riod

iqu

es

Serveurd'applications

2

ProducteurJMS

Serveurd'applications

3

ProducteurJMS

File d'attenteJMS

(continue)

Serveur JMS

Serveurd'applications

1

ClientJMS

Serveurd'applications

2

ClientJMS

Serveurd'applications

3

ClientJMS

Service d'entreprise

Objets métier / BD

Cet exemple présenteune file d'attente JMSréservée à Server2. Ellepeut être réservée àn'importe quel serveur ducluster.Traitement à unités

d'exécutions multiples viabeans gérés parmessage (MDB)

Cet exemple présentedes tâches périodiquesen cours d'exécution surServer1. Elles peuvents'exécuter sur n'importequel serveur du cluster inthe cluster.

Dans cet exemple, trois serveurs d'applications existent dans l'environnementgroupé. Le file d'attente JMS continue est réservée pour un membre du cluster.

Le traitement a lieu lorsque l'infrastructure d'intégration reçoit des messages deservice d'entreprise au moyen des action HTTP, de beans enterprise et SOAP.L'équilibreur de charge ordonne au serveur d'applications de placer les messagesde service d'entreprise dans la file d'attente continue. Chaque membre du clusterplace les messages dans la file d'attente qui se trouve sur un membre du cluster.

Une tâche périodique d'intégration livre les messages de service d'entreprise àpartir des fichiers à plat ou des fichiers XML et des tables d'interface. Les tâchespériodiques qui placent les messages dans la file d'attente peuvent s'exécuter surtout serveur du cluster.

Intégration de données à des applications externes 221

Page 230: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Une fois que les messages sont dans la file d'attente, tous les serveursd'applications peuvent extraire simultanément des messages de la file d'attente etles traiter dans le système. Les beans gérés par message doivent être activés surchaque serveur d'applications du cluster.

File d'attente continue sur un cluster de serveurs d'applications :

La file d'attente séquentielle reçoit les messages du fournisseur JMS et traite lesmessages de l'utilisateur JMS.

Le diagramme suivant présente un exemple de configuration en cluster sur desserveurs d'applications.

Chargement detable d'interface,fichier XML, fichierà plat

Transaction XML(service d'entreprise)

HTTP / EJB / SOAP

Equilibreur de charge

Serveurd'applications

1

ProducteurJMS

ch

es

riod

iqu

es

Serveurd'applications

2

ProducteurJMS

Serveurd'applications

3

ProducteurJMS

File d'attenteJMS

(Séquentiell

Serveur JMS

Une tâche périodiqueJMS peut s'exécuter surn'importe quel serveur ducluster.

Serveurd'applications

1

Tâchepériodique du

client JMS

Serveurd'applications

2

Serveurd'applications

3

Service d'entreprise

Objets métier / BD

Cet exemple présenteune file d'attente JMSréservée à Server2. Ellepeut être réservée àn'importe quel serveur ducluster.

Traitement séquentiel àunité d'exécution uniquevia tâches périodiques

Cet exemple présentedes tâches périodiquesen cours d'exécution surServer1. Elles peuvents'exécuter sur n'importequel serveur du cluster.

Dans cet exemple, trois serveurs d'applications existent dans l'environnementgroupé. La file d'attente JMS séquentielle est réservée pour un membre du cluster.

Le traitement a lieu lorsque l'infrastructure d'intégration reçoit des messages deservice d'entreprise au moyen des action HTTP, de beans enterprise et SOAP.L'équilibreur de charge ordonne au serveur d'applications de placer les messagesde service d'entreprise dans la file d'attente séquentielle. Chaque membre ducluster place les messages dans la file d'attente qui se trouve sur un membre ducluster.

Une tâche périodique d'intégration livre les messages de service d'entreprise àpartir des fichiers à plat ou des fichiers XML et des tables d'interface. Les tâchespériodiques qui placent les messages dans la file d'attente peuvent s'exécuter surtout serveur du cluster. Lorsque les messages se trouvent dans la file d'attente, le

222 Intégration de données à des applications externes

Page 231: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

serveur d'applications sur lequel s'exécute la tâche périodique de l'utilisateur JMStraite les messages dans un ordre séquentiel.

Contrairement à la file d'attente continue, la conception ne prévoit pas detraitement multitâche des messages. Une implémentation de cluster n'a pasd'impact important sur les performances de traitement des messages traités aumoyen de la file d'attente séquentielle.

Configuration de la tâche périodiqueLa tâche périodique de la table d'interface, la tâche périodique de l'importation desdonnées et la tâche périodique de la file d'attente JMS sont des fonctions prenanten compte le cluster. Par défaut, l'infrastructure de la tâche périodique exécute unetâche uniquement sur un serveur choisi de manière aléatoire. Vous pouvezconfigurer une tâche périodique pour qu'elle s'exécute sur un serveurd'applications spécifique dans un cluster de serveurs. Utilisez le paramètredonotrun dans l'infrastructure de la tâche périodique pour spécifier les serveurssur lesquels exécuter la tâche.

Configuration d'un serveur de traitement des messagesPour des volumes importants de messages entrants, vous pouvez améliorerl'efficacité du serveur en déplaçant le traitement des messages entrants sur unserveur d'applications ou un cluster de serveurs distinct.

Procédure1. Déployez un fichier EAR d'application distinct sur le serveur ou cluster de

serveurs de traitement des messages.2. Sur le serveur d'applications ou le cluster de serveurs de traitement des

messages, utilisez le paramètre donotrun dans l'infrastructure de la tâchepériodique pour spécifier les serveurs sur lesquels exécuter la tâche.

3. Facultatif : Configurez les beans gérés par message pour extraire les données dela file d'attente continue entrante. N'activez pas les beans gérés par messagepour le traitement entrant dans le serveur ou cluster de serveurs dédié auxutilisateurs en ligne. Vous pouvez exécuter d'autres tâches périodiques detraitement en arrière-plan sur ce serveur ou cluster de serveurs.

4. Facultatif : Accordez l'accès à l'interface utilisateur aux utilisateurs qui utilisentla fonction d'importation des données.

Configuration du répertoire généralDans un environnement en cluster, si vous configurez un répertoire général pour lagestion des fichiers d'intégration, celui-ci doit être accessible par tous les membresdu cluster.

Suivant l'utilisation des composants d'infrastructure d'intégration, les fichierspeuvent ou non être écrits dans le répertoire général. Un répertoire général estprincipalement configuré afin de prendre en charge l'utilisation des points determinaison basés sur les fichiers. Si vous tentez d'utiliser des points determinaison basés sur les fichiers pour les canaux d'appels et que des messagessont initiés par des utilisateurs de l'application configurés dans un clusterd'interface utilisateur, tous les membres du cluster doivent pouvoir afficher lerépertoire général.

Pour définir le répertoire général, mettez à jour la propriété systèmemxe.int.globaldir dans l'application Propriétés système.

Intégration de données à des applications externes 223

Page 232: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Accès aux services par des messages entrantsLes services d'entreprise, de structure d'objet et standard peuvent tous fonctionnerdans un cluster de serveurs.

Une transaction entrante peut accéder au service concerné avec l'une des méthodesde communication suivantes :v Invocation RMI Java, Internet Inter-ORB Protocol (IIOP) et beans enterprisev servlet HTTP et HTTPSv servlet SOAP, HTTP et HTTPS

Beans enterprise

Avec un serveur unique, l'URL du fournisseur pour accéder à l'arborescence JNDIest l'URL du serveur unique. Avec un cluster de serveurs, l'URL du fournisseurpeut être l'URL de n'importe quel serveur pour lequel des beans enterprise sontdéployés. Tous les membres du cluster partagent l'arborescence JNDI et toutmembre du cluster peut rechercher et extraire un cluster.

A la suite d'une recherche de cluster, le client extrait un proxy de beans enterprisereconnaissant les cluster qui équilibre les charges de tous les appels suivants quil'utilisent. L'équilibrage de charge s'effectue de façon transparente pour le codeclient. Il n'y a pas de différence entre le code d'un serveur unique et celui d'uneconfiguration de cluster. Un bean enterprise séparé est déployé pour chaque typede service : service de structure d'objet, d'entreprise et standard.

Servlet HTTP

Le servlet d'intégration est déployé sur tous les membres du cluster. Avec uneconfiguration de serveur unique, l'URL est l'URL HTTP et HTTPS de ce serveur.Avec une configuration de serveurs en cluster, l'URL est l'URL HTTP et HTTPSURL de l'équilibreur de charge du cluster. Un servlet séparé est déployé pourchaque type de service : service de structure d'objet, d'entreprise et standard.

Les formats d'URL pour chaque service sont présentés dans le tableau suivant. Lavariable meaweb de l'URL désigne la valeur définie pour la propriétémxe.int.webappurl dans l'application Propriétés système.

Service URL

Service de structure d'objet http://nom_hôte:port/meaweb/os/nom_structure_objet

Service d'entreprise (ignorant la filed'attente)

http://nom_hôte:port/meaweb/es/extsysname/nom_service_entreprise

Service d'entreprise (via la filed'attente)

http://nom_hôte:port/meaweb/esqueue/extsysname/nom_service_entreprise

Service standard http://nom_hôte:port/meaweb/ss/nom_service_standard

Services Web

Les services Web d'intégration sont déployés de façon homogène sur tous lesserveurs membres du cluster. L'accès au service Web pour un cluster est le même

224 Intégration de données à des applications externes

Page 233: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

que pour un serveur unique, excepté que l'URL de service Web et l'URL WebService Definition Language (WSDL) pointent vers le cluster au lieu de pointervers un serveur spécifique du cluster.

Les propriétés suivantes doivent pointer vers l'URL du cluster :v URL d'application Web mxe.int.webappurl

v URL d'enquête de registre UDDI mxe.int.uddiinurlv URL de publication de registre UDDI mxe.int.uddipuburl

L'URL permettant d'accéder à un service Web est http://nom_hôte:port/meaweb/services/nom_service_web. La variable meaweb de l'URL désigne la valeur définiepour la propriété mxe.int.webappurl dans l'application Propriétés système.

Sécurité d'intégrationL'infrastructure d'intégration contient la prise en charge de l'authentification J2EEet l'autorisation du niveau de composant.

Sécurité d'authentificationVous pouvez configurer la sécurité de l'authentification J2EE pour les files d'attenteJMS, les services EJB, HTTP et Web. Vous pouvez aussi configurer la sécuritéd'authentification des API d'intégration distantes et des classes de gestionnaire Javapour le routage sortant.

Configuration de la sécurité J2EE :

L'infrastructure d'intégration prend en charge la sécurité J2EE de base pourrestreindre l'accès en fonction de l'authentification et de l'autorisation.

Configuration de restrictions J2EE pour des files d'attente JMS :

Les files d'attente JMS utilisées par le traitement de l'intégration prennent encharge la sécurité J2EE, en fonction de l'ID utilisateur et de l'authentification et del'autorisation basées sur le mot de passe. Vous pouvez empêcher un accès nonautorisé à la file d'attente en affectant un ID utilisateur et un mot de passe au nomJNDI (Java Naming and Directory Interface), même si le nom JNDI de la filed'attente est connu.

Pourquoi et quand exécuter cette tâche

Plusieurs files d'attente peuvent utiliser les mêmes identifications utilisateur ou desidentifications utilisateur différentes.

Procédure

1. Dans la console d'administration du serveur, indiquez les valeurs d'IDutilisateur et de mot de passe pour les propriétés suivantes afin d'activer desrestrictions J2EE :v java.naming.security.principal (ID utilisateur)v java.naming.security.credentials (mot de passe)

2. Dans l'application Systèmes externes, sélectionnez l'action Ajouter/Modifier desfiles d'attente et indiquez le même ID utilisateur et le même mot de passe queceux fournis à l'étape 1. Cette étape fournit un accès à la file d'attente desprogrammes du producteur et du client d'intégration.

Intégration de données à des applications externes 225

Page 234: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

3. Pour fournir un accès à la file d'attente continue, sous la section<enterprise-beans> du fichier ejb-jar.xml, ajoutez les éléments <securityidentify> présentés en texte en gras :<enterprise-beans>

<message-driven id="MessageDriven_JMSContQueueProcessor_1"><ejb-name>JMSContQueueProcessor-1</ejb-name><ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class><transaction-type>Container</transaction-type><message-driven-destination>

<destination-type>javax.jms.Queue</destination-type></message-driven-destination><env-entry>

<env-entry-name>MESSAGEPROCESSOR</env-entry-name><env-entry-type>java.lang.String </env-entry-type><env-entry-value>

psdi.iface.jms.QueueToMaximoProcessor</env-entry-value>

</env-entry><security-identity>

<run-as><role-name>maximouser</role-name>

</run-as></security-identity>

</message-driven>

4. Sous la section <assembly-descriptor> du fichier ejb-jar.xml, ajoutez leséléments <security-role> présentés en texte en gras :<assembly-descriptor>

<security-role><role-name>maximouser</role-name>

</security-role><container-transaction>

<method><ejb-name>JMSContQueueProcessor-1</ejb-name><method-name>*</method-name>

</method><trans-attribute>Required</trans-attribute>

</container-transaction></assembly-descriptor>

Sécurisation de l'accès au bean enterprise :

Si l'authentification J2EE sur le système est activée, vous devez activer la sécuritépour chaque bean enterprise dans les descripteurs de déploiement.

Pourquoi et quand exécuter cette tâche

Dans la section <enterprise-beans> du fichier ejb-jar.xml, trois EJB d'intégrationsont déployés avec la valeur par défaut 1, qui indique qu'aucune authentificationn'est requise.

Le nom <ejg-name> utilisé pour le mappage est :

<ejb-name> Service

enterpriseservice Service d'entreprise

mosservice Service de structure d'objet

actionservice Service standard

226 Intégration de données à des applications externes

Page 235: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure

1. Pour imposer l'authentification, changez la valeur ALLOWDFLTLOGIN pour 0(faux) pour chacun des trois services, indiquée en gras dans l'exemple de codesuivant :<enterprise-beans><session id="Session_enterpriseservice">

<ejb-name>enterpriseservice</ejb-name><home>psdi.iface.gateway.MEAGatewayHome</home><remote>psdi.iface.gateway.MEAGateway</remote><local-home>psdi.iface.gateway.MEAGatewayHomeLocal</local-home><local>psdi.iface.gateway.MEAGatewayLocal</local><ejb-class>psdi.iface.gateway.MEAGatewayBean</ejb-class><session-type>Stateless</session-type>

<transaction-type>Container</transaction-type><env-entry>

<env-entry-name>ALLOWDFLTLOGIN</env-entry-name><env-entry-type>java.lang.String</env-entry-type><env-entry-value>0</env-entry-value>

</env-entry><security-role-ref>

<description>Application Users

</description><role-name>maximouser</role-name><role-link>maximouser</role-link>

</security-role-ref></session><session id="Session_mosservice">

<ejb-name>mosservice</ejb-name><home>psdi.iface.mos.MOSServiceHome</home><remote>psdi.iface.mos.MOSServiceRemote</remote><local-home>psdi.iface.mos.MOSServiceHomeLocal</local-home><local>psdi.iface.mos.MOSServiceLocal</local><ejb-class>psdi.iface.mos.MOSServiceBean</ejb-class><session-type>Stateless</session-type><transaction-type>Container</transaction-type><env-entry>

<env-entry-name>ALLOWDFLTLOGIN</env-entry-name><env-entry-type>java.lang.String</env-entry-type><env-entry-value>0</env-entry-value>

</env-entry><security-role-ref>

<description>Application Users

</description><role-name>maximouser</role-name><role-link>maximouser</role-link></security-role-ref></session>

<session id="Session_actionservice"><ejb-name>actionservice</ejb-name><home>psdi.iface.action.MAXActionServiceHome</home><remote>psdi.iface.action.MAXActionServiceRemote</remote><local-home>psdi.iface.action.MAXActionServiceHomeLocal</local-home><local>psdi.iface.action.MAXActionServiceLocal</local><ejb-class>psdi.iface.action.MAXActionServiceBean</ejb-class><session-type>Stateless</session-type><transaction-type>Container</transaction-type><env-entry>

<env-entry-name>ALLOWDFLTLOGIN</env-entry-name><env-entry-type>java.lang.String</env-entry-type><env-entry-value>0</env-entry-value>

</env-entry><security-role-ref>

<description>Application Users

Intégration de données à des applications externes 227

Page 236: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

</description><role-name>maximouser</role-name><role-link>maximouser</role-link>

</security-role-ref></session>

Les programmes client appellent la version sécurisée des méthodes de beanenterprise pour chaque type de service :v Service d'entreprise : secureProcessExtnernalDataAsync(..) ,

secureProcessExtnernalDataSync(..)v Service de structure d'objet : secureProcessMOS(..)v Service standard : secureAction(..)

2. Pour créer un contexte sécurisé pour l'appel du bean enterprise, exécutez l'unedes tâches suivantes :v Ajoutez le code suivant au code client :

Properties env = new Properties();...if(userid != null && password != null){env.put(Context.SECURITY_CREDENTIALS, password);env.put(Context.SECURITY_PRINCIPAL, userid);}

Context ctx = new IntialContext(env);//instead of using the default IntialContext() constructor

v Utilisez le constructeur InitalContext par défaut pour transmettre lesinformations de sécurité via des paramètres –D dans le script .bat/.sh lançantle client :–Djava.naming.security.principal=<username>–Djava.naming.security.credentials=<password>

La version SSL du protocole Internet Inter-ORB exécute le chiffrement desdonnées dans l'adresse URL du fournisseur, alors que le systèmecommunique avec le bean entreprise.

Sécurisation du servlet HTTP :

Le servlet HTTP est un composant J2EE qui gère des envois HTTP entrants. Poursécuriser le servlet HTTP, vous devez tout d'abord sécuriser le bean enterprise.Vous pouvez utiliser l'authentification de base HTTP pour sécuriser le servletHTTP. Les utilisateurs autorisés disposant d'un nom d'utilisateur et d'un mot depasse valides peuvent envoyer une transaction XML au système.

Pourquoi et quand exécuter cette tâche

Pour activer l'authentification de base HTTP, modifiez le fichier web.xml del'application Web :v Supprimez les commentaires de la section <security-constraint> des servlets

d'intégration. Il existe trois sections <security-constraint>, une pour chaque typede service : le service d'entreprise, le service de structure d'objet et le servicestandard.

Le nom <web-resource-name> utilisé pour le mappage est :

<web-resource-name> Service

Servlet du service d'entreprise Service d'entreprise

228 Intégration de données à des applications externes

Page 237: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<web-resource-name> Service

Servlet du service d'application Service standard

Servlet du service de la structure d'objet Service de structure d'objet

Procédure

1. Dans le fichier web.xml, supprimez la mise en commentaire des sections decontrainte de sécurité pour chaque type de service, comme dans l'exemple decode suivant :<!--<security-constraint><web-resource-collection><web-resource-name>Enterprise Service Servlet</web-resource-name><description>

Enterprise Service Servlet (HTTP POST) accessible by authorized users</description><url-pattern>/es/*</url-pattern><url-pattern>/esqueue/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method></web-resource-collection><auth-constraint><description>

Roles that have access to Enterprise Service Servlet (HTTP POST)</description><role-name>maximouser</role-name></auth-constraint><user-data-constraint><description>data transmission gaurantee</description><transport-guarantee>NONE</transport-guarantee></user-data-constraint></security-constraint>

<security-constraint><web-resource-collection><web-resource-name>App Service Servlet</web-resource-name><description>

App Service Servlet (HTTP POST) accessible by authorized users</description><url-pattern>/ss/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method></web-resource-collection><auth-constraint><description>

Roles that have access to App Service Servlet (HTTP POST)</description><role-name>maximouser</role-name></auth-constraint><user-data-constraint><description>data transmission gaurantee</description><transport-guarantee>NONE</transport-guarantee></user-data-constraint></security-constraint>

<security-constraint><web-resource-collection><web-resource-name>Object Structure Service Servlet</web-resource-name><description>

Object Structure Service Servlet (HTTP POST) accessible by authorized users</description><url-pattern>/os/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method>

Intégration de données à des applications externes 229

Page 238: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

</web-resource-collection><auth-constraint><description>

Roles that have access to Object Structure Service Servlet (HTTP POST)</description><role-name>maximouser</role-name></auth-constraint><user-data-constraint><description>data transmission gaurantee</description><transport-guarantee>NONE</transport-guarantee></user-data-constraint>

</security-constraint>

-->

2. Vérifiez que la section <security-role> du fichier web.xml n'est pas commentée,comme dans l'exemple de code suivant :<security-role>

<description>An Integration User</description><role-name>maximouser</role-name>

</security-role>

3. Remplacez la valeur 0 par 1 dans la section useAppServerSecurity<env-entry-name>, comme dans l'exemple suivant :<description>

Indicates whether to use Application Server security or not</description><env-entry-name>useAppServerSecurity</env-entry-name><env-entry-type>java.lang.String</env-entry-type><env-entry-value>1</env-entry-value></env-entry>

Que faire ensuite

Vous pouvez déployer un service Web en toute sécurité à l'aide d'une coucheSecure Sockets Layer (SSL) pour des envois HTTPS. Configurez la couche SSL surle serveur d'applications avec les certificats numériques appropriés.

Sécurisation de services Web :

Vous pouvez sécuriser des services Web d'intégration à l'aide de l'authentificationde base HTTP dans la sécurité J2EE standard. Ces paramètres de sécuritéfournissent un accès aux services Web pour les utilisateurs autorisés disposant d'unnom d'utilisateur et d'un mot de passe valides.

Procédure

1. Comme pour la procédure de sécurisation du servlet HTTP, dans le fichierweb.xml, supprimez la mise en commentaire de la section <security-constraint>pour l'appel du service Web, comme dans l'exemple suivant :<security-constraint>

<web-resource-collection><web-resource-name>Integration Web Services</web-resource-name><description>

Integration Web Services accessible by authorized users</description><url-pattern>/services/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method>

</web-resource-collection><auth-constraint>

<description>Roles that have access to Integration Web Services

</description>

230 Intégration de données à des applications externes

Page 239: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<role-name>maximouser</role-name></auth-constraint><user-data-constraint>

<description>data transmission gaurantee</description><transport-guarantee>NONE</transport-guarantee>

</user-data-constraint></security-constraint>

2. Vérifiez que la section <security-role> du fichier web.xml n'est pas commentée,comme dans l'exemple de code suivant :<security-role>

<description>An Integration User</description><role-name>maximouser</role-name>

</security-role>

3. Passez la valeur de 0 à I dans la section useAppServerSecurity<env-entry-name>, comme dans l'exemple suivant :<description>

Indicates whether to use Application Server security or not</description><env-entry-name>useAppServerSecurity</env-entry-name><env-entry-type>java.lang.String</env-entry-type><env-entry-value>1</env-entry-value></env-entry>

4. Pour l'appel du service Web, vérifiez que le programme client utilise les appelsde nom d'utilisateur et de mot de passe suivants dans l'objet de l'appelJAX-RPC :call.setProperty(Call.USERNAME_PROPERTY, username);call.setProperty(Call.PASSWORD_PROPERTY, password);

Que faire ensuite

Vous pouvez déployer un service Web en toute sécurité à l'aide d'une coucheSecure Sockets Layer (SSL) pour des envois HTTPS. Configurez la couche SSL surle serveur d'applications avec les certificats numériques appropriés.

Sécurité de table d'interface :

Les tables d'interface utilisent l'authentification et l'autorisation de base de donnéespar défaut. Si l'authentification et l'autorisation sont activées, les programmesexternes qui lisent ou écrivent sur les tables d'interface doivent fournirl'autorisation appropriée. Pour lire et écrire sur les tables d'interface, les valeursUSERNAME et PASSWORD sont configurées pour le point de terminaison mettanten oeuvre le gestionnaire de la table d'interface.

Sécurisation des API d'intégration distantes :

Certaines API distantes MicService sécurisent l'accès en obligeant l'utilisateur deces méthodes à fournir l'objet UserInfo. Lorsqu'un objet UserInfo valide n'est pasfourni, une erreur se produit et l'appel n'aboutit pas.

Les méthodes distantes suivantes sont protégées car elles fournissent desinformations confidentielles ou traitent des transactions de données sensibles :v exportData(..)v deleteQueueData(..)v processExternalData(..) (les deux versions)v query(..)v viewQueueData(..)

Intégration de données à des applications externes 231

Page 240: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v loadData(..)v loadSystemData(..)v processObjectStructure(..)v routeData(..)

Pour exécuter ces méthodes, le demandeur doit récupérer un objet UserInfo valideet le transmettre à la méthode pour accéder à la couche sécurisée.

Un objet UserInfo est un objet sérialisé contenant les détails de l'utilisateur, ycompris les informations relatives à l'utilisateur, au mot de passe, aux paramètresrégionaux, à la langue et au fuseau horaire, et utilisé à des fins de sécurité.

Le système utilise les méthodes Java Remote Method Invocation (RMI) and JavaRemote Method Protocol (JRMP). Vous pouvez communiquer avec les servicessystème à l'aide d'une version sécurisée du protocole JRMP utilisant une coucheSSL.

Sécurité du gestionnaire de routeur sortant :

Les gestionnaires de routeurs sortants prennent en charge l'autorisation et laconfidentialité. Les gestionnaires de bean d'entreprise bean, HTTP, JMS, serviceWeb et table d'interface prennent en charge la sécurité.

Sécurité d'autorisationVous pouvez configurer la sécurité d'autorisation au niveau de l'application, del'objet ou au niveau d'une méthode définie dans un service standard. Une foisl'authentification utilisateur terminée, l'infrastructure d'intégration vérifie quel'utilisateur a l'autorisation d'envoyer des messages à l'application, objet ouméthode cible.

Autorisation au niveau de l'objet

L'autorisation de niveau objet est basée sur la configuration de sécurité définiedans l'onglet Restrictions de données de l'application Groupes de sécurité. Si unobjet ou attribut est marqué en lecture seule ou masqué, les données du messageentrant sont limitées aux requêtes. Vous ne pouvez pas insérer, mettre à jour ousupprimer les données dans l'objet ou l'attribut concerné.

Autorisation au niveau de l'application

Vous configurez l'autorisation de niveau application dans l'application Structuresd'objet. Dans la zone Application autorisée, indiquez l'application à autoriser.L'application spécifiée et le groupe d'utilisateurs de l'utilisateur du messaged'intégration fournissent l'autorisation des messages d'intégration entrants pour lesstructures d'objet et services d'entreprise. La combinaison de l'application et dugroupe d'utilisateurs fournit également une autorisation pour l'exportation desdonnées associées à cette structure d'objet.

Si vous utilisez l'interface de programme d'application REST, vous aurez peut-êtrebesoin de configurer l'autorisation au niveau application pour accéder auxressources des objets métier.

232 Intégration de données à des applications externes

Page 241: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Autorisation de service standard

L'autorisation de service standard ne prend pas en charge l'utilisation d'unecondition que vous associez à l'option de signature. Toute condition que vousaffectez est ignorée.

Vous pouvez configurer une transaction de service standard à prendre sur le mêmeprofil de sécurité de l'utilisateur d'intégration, comme si cet utilisateur avait entréla transaction via une application. Ce niveau d'autorisation requiert uneconfiguration manuelle. Le service d'application doit avoir une méthodecorrectement annotée et le service doit être enregistré dans l'applicationConfiguration de base de données. Affectez une option de signature à un servicestandard pour limiter l'accès aux utilisateurs ou groupes autorisés pour l'optionsélectionnée.

Exécutez un script SQL qui met à jour la table MAXSERVSECURITY avec lesdétails du service standard à autoriser. L'instruction d'insertionMAXSERVSECURITY doit inclure les zones répertoriées dans le tableau suivant.

Zone Description

MAXSERVSECURITYID ID unique numérique. Vous pouvez, parexemple, demander la valeurmax(MAXSERVSECURITYID) deMAXSERVSECURITY et utiliser la valeurséquentielle suivante.

ROWSTAMP ID unique numérique. Vous pouvez, parexemple, demander la valeurmax(ROWSTAMP) de MAXSERVSECURITYet utiliser la valeur séquentielle suivante.

SERVICENAME Nom de service enregistré dans l'applicationConfiguration de base de données(MAXSERVICE.SERVICENAME).

APP Nom de l'application pour laquelle l'optionde signature est configurée sur(MAXAPPS.APP).

METHODNAME Le nom de la méthode annotée dans leservice d'application.

OPTIONNAME Cette valeur est une combinaison de la tabled'options de signature pour l'application etl'option de signature(SIGOPTION.OPTIONNAME).

Concepts associés:«Interface de programme d'application REST», à la page 245L'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

Support de langueVotre base de données peut contenir des éléments, tels que des descriptions et desdescriptions détaillées multilingues. Les canaux de publication et les servicesd'entreprise peuvent inclure ces colonnes translatées. L'infrastructure d'intégrationprend aussi en charge l'utilisation de formats de langue bidirectionnels.

Intégration de données à des applications externes 233

Page 242: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Une seule base de données peut contenir des données dans plusieurs langues.Spécifiez la langue de base lors de l'installation de l'application. Si votre systèmeutilise une langue qui diffère de la langue de base, vous pouvez activerl'infrastructure d'intégration pour envoyer et recevoir des données qui ne figurentpas dans les données de la langue de base.

Traitement par défaut multilingueLorsque vous vous connectez, vous pouvez sélectionner un code de langue à laplace de la langue de base du système. Dans toutes les applications, vous pouvezensuite entrer des valeurs spécifiques à la langue pour les colonnes désignéescomme traduisibles.

Par défaut, les transactions sortantes contiennent les valeurs de colonne applicablesdans la langue associée à la session de connexion. Les valeurs de langue affichentsi la transaction est initiée par une fonction d'application ou d'exportation dedonnées. Par exemple, si la langue de base de votre système est Anglais, vouspouvez vous connecter en tant qu'utilisateur Français et mettre à jour unenregistrement d'élément avec une description française. Le message sortantcontient la description d'élément française, même lorsque la description existeégalement en anglais ou dans une langue tierce.

Lorsqu'une table de base de données contient des colonnes traduisibles, la base dedonnées contient une table correspondante nommée L_nomtable, par exemple,ITEM et L_ITEM. La table L_nomtable stocke les valeurs de langues autres que lalangue de base pour chaque colonne traduite sauf la description détaillée. Lesdescriptions détaillées dans toutes les langues se trouvent dans la tableLONGDESCRIPTION.

Pour inclure les valeurs traduites dans le XML sortant, insérez les objetsL_nomtable et LONGDESCRIPTION dans les structures d'objet applicables.Indiquez les valeurs de langue de base comme entrée de service pour les structuresd'objet contenant L_nomtable dans leur définition d'objet. Votre entrée de servicedoit se situer dans l'objet core, et toutes les autres langues doivent être dans l'objetactivé pour les langues supplémentaires.

Par exemple, lorsque l'anglais est la langue de base, la table ITEM contient ladescription anglaise d'un élément et la table L_ITEM contient les descriptionsfrançaise et allemande de cet élément. La table LONGDESCRIPTION contient lesdescriptions longues anglaise, française et allemande.

Lorsque vous ajoutez l'objet L_nomtable à une structure d'objet, affectez la mêmevaleur aux attributs transLanguage et baseLanguage. Sinon, les valeurs de lalangue de base ne sont pas disponibles et sont traitées pour les zones multilingues.

Attributs multilinguesL'élément principal de la structure XML des services et canaux inclut les attributsde langue qui indiquent ceux de l'enregistrement.

Les attributs de langue suivants sont utilisés :v L'attribut baseLanguage identifie la langue de base du système ou de

l'application générant le XML sortant. Pour les transactions entrantes (XMLd'entrée), cet attribut n'est pas validé.

v Le XML de sortie inclut l'attribut langenabled sur toute colonne traduisible,comme illustré dans l'exemple suivant :<DESCRIPTION langenabled="1">Item 1 description</DESCRIPTION>

234 Intégration de données à des applications externes

Page 243: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v L'attribut transLanguage identifie la langue dans laquelle les valeurs des zonesmultilingues applicables sont spécifiées. Si cet attribut manque ou ne contientaucune valeur, toutes les données sont supposées être dans la langue de base. Sila valeur transLanguage ne peut pas être interprétée, ou si la valeur n'identifiepas une langue valide, une erreur est renvoyée au demandeur du service.

Support de langue bidirectionnelleL'infrastructure d'intégration prend en charge les langues bidirectionnelles tellesque l'arabe et l'hébreu et permet l'échange de données avec des systèmes externesutilisant des formats de langue bidirectionnelle différents. Les languesbidirectionnelles combinent des caractères que vous lisez de droite à gauche avecdes caractères, tels que les nombres ou dates, qui se lisent de gauche à droite.

L'infrastructure d'intégration peut transformer les formats bidirectionnels de toutesles données entrantes et sortantes vers et à partir du format bidirectionnel spécifiépour le système externe. Les transformations s'appliquent aux communicationssynchrones et asynchrones pour les services d'entreprise, les services de structured'objet et les services standard. Vous pouvez également transformer les formatsbidirectionnels des fichiers que vous importez avec une tâche périodique oulorsque vous utilisez la fonction d'importation de données.

Formats de langue bidirectionnelsLes formats bidirectionnels par défaut utilisés par l'infrastructure d'intégration sontbasés sur les normes Unicode. Ces formats peuvent être différents des formatsutilisés par des systèmes externes.

Les formats bidirectionnels comportent cinq paramètres.

Paramètre Value Indicateurs Valeur par défaut Détails

Type de texte v Implicite

v Visuel

v I

v V

I : Implicite (logique)

Orientation du texte v Gauche à droite

v Droite à droite

v Gauche contextuelle à droite

v Droite contextuelle à gauche

v L

v R

v C

v D

L : Gauche à droite

Permutation symétriquedu texte

v Activée

v Desactivée

v O

v N

O : Activée

Façonnage du texte v Non façonné

v Façonné

v Isolé

v N

v S

v B

N : Non façonné Arabeuniquement

Façonnage numéral v National

v Nominal

v National contextuel

v Nominal contextuel

v H

v N

v C

v T

N : Nominal Arabeuniquement

Configuration du support de langue bidirectionnelle pour dessystèmes externesIndiquez le format de langue bidirectionnel utilisé par un système externe pouractiver la transformation de données appropriée vers (ou depuis) le format pardéfaut.

Intégration de données à des applications externes 235

Page 244: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure1. Facultatif : Sélectionnez l'action Format bidirectionnel dans l'application

Systèmes externes pour des services d'entreprise ou dans l'application Canauxd'appel pour des services de structure d'objet.

2. Sélectionnez le format de langue bidirectionnel utilisé par le système externedans la liste d'options et cliquez sur OK.

Résultats

Une fois le format de langue bidirectionnel utilisé par un système externe défini, latransformation au format approprié se produit automatiquement lors del'intégration.

Exportation et importation de données basées sur un fichierL'administrateur d'intégration peut initier l'importation et l'exportation de donnéesà partir de l'application Systèmes externes afin de prendre en charge, par exemple,l'intégration de données à l'aide de fichiers. Le processus d'importation contientune fonction d'aperçu d'une charge de données dans un fichier afin de valider lesdonnées avant de les sauvegarder dans la base de données. Le processusd'importation contient également une option permettant de gérer les erreursrésultant du chargement du fichier dans le même format de fichier que celuiimporté.

Vous pouvez utiliser la gestion des erreurs basées sur un fichier comme alternativeà la gestion des erreurs via l'application Nouveau traitement des messages.L'importation de données à partir de fichiers, dans un format de fichier à plat ouXML, peut être effectuée sur une base planifiée en utilisant une tâche périodiqueprédéfinie. Les administrateurs peuvent aussi activer une application pourl'exportation et l'importation et les utilisateurs peuvent ensuite exporter et importerdes données directement depuis l'application activée.Concepts associés:«Gestion des erreurs à l'aide de la fonction d'importation des données basées surun fichier», à la page 208L'infrastructure d'intégration prend en charge la gestion des erreurs avecl'application Nouveau traitement des messages qui vous permet de contrôler,corriger, retraiter et supprimer des messages d'erreur lorsqu'ils sont traités à partird'une file d'attente entrante. Lorsque les données sont importées à partir d'unfichier XML ou d'un fichier à plat, une deuxième option est disponible et gère leserreurs à l'aide d'un fichier au lieu de l'application Nouveau traitement desmessages.

Exportation et importation de données dans l'applicationSystèmes externes

Vous pouvez lancer une exportation de données dans l'onglet Canaux depublication de l'application Systèmes externes. Vous pouvez lancer uneimportation de données dans l'onglet Services d'entreprise de l'applicationSystèmes externes.

Exportation de données basées sur un fichierLa fonction d'exportation de données permet d'exécuter une exportation en blocdes données du message depuis un fichier vers un système externe. Vous pouvezlancer le processus d'exportation pour chaque canal de publication associé à unsystème externe.

236 Intégration de données à des applications externes

Page 245: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Avant de commencer

Dans un environnement multilocation, vous ne pouvez utiliser la fonctiond'exportation de données que si le fournisseur système vous donne accès à unserveur de fichiers accessible par le serveur d'applications. Vous devez ensuiteconfigurer un point de terminaison basé sur un fichier de sorte qu'il pointe versl'emplacement de ce serveur de fichiers.

Vous devez activer le système externe et le canal de publication avant de pouvoirexporter les données. Les données destinées à être exportées doivent être au formatXML, qui adhère au schéma de structure d'objet ou au format de fichier à platdélimité, qui est une version à plat du format de schéma de structure d'objet.

Pourquoi et quand exécuter cette tâche

La requête SQL facultative saisie dans la zone Condition d'exportation peut avoirdes conséquences sur la taille du message XML exporté. Vous pouvez filtrer lecontenu pour limiter la quantité de données exportées. Le processus d'exportationapplique un traitement sortant standard sur les résultats de la requête pour lecanal de publication sélectionné.

Procédure1. Dans l'application Systèmes externes, cliquez sur l'onglet Canaux de

publication, puis sélectionnez le canal de publication que vous souhaitezexporter.

2. Dans la zone Point de terminaison, indiquez un gestionnaire de point determinaison basé sur un fichier, pour le format de fichier XML ou le format defichier à plat.

3. Cliquez sur Exportation de données.4. Facultatif : Entrez une requête SQL dans la zone Condition d'exportation. La

requête doit s'appliquer à l'objet principal ou de niveau supérieur de lastructure d'objet de canal de publication.

5. Facultatif : Entrez une valeur entière dans la zone Comptage d'exportationpour limiter le nombre d'enregistrements contenus dans le fichier exporté. Si lerésultat de la requête contient plus d'enregistrements que le numéro indiqué,ces enregistrements ne sont pas inclus dans le fichier exporté.

6. Cliquez sur OK pour commencer l'exportation des données.

Que faire ensuite

Lorsque l'exportation des données est exécutée, les données sélectionnées sontformées dans un message et placées dans la file d'attente sortante qui estconfigurée pour le canal de publication et son système externe correspondant. Lemessage est alors transmis de la file d'attente sortante au point de terminaisonconfiguré. Si une erreur se produit lors de la livraison d'un message sur le point determinaison, vous pouvez gérer et visualiser les messages d'exportation de donnéespour lesquels une erreur est indiquée dans l'application Nouveau traitement desmessages.

Importation de données basées sur un fichierVous pouvez utiliser la fonction d'importation des données pour charger lesdonnées à partir de fichiers délimités XML ou à plat, pour mettre à jour la base dedonnées Maximo. Vous pouvez prévisualiser et valider les données avant de lescharger et de les valider dans la base de données. Vous pouvez choisir de gérer les

Intégration de données à des applications externes 237

Page 246: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

erreurs à l'aide de l'application Nouveau traitement des messages ou en extrayantles erreurs dans un format de fichier identique à celui du fichier importé.

Avant de commencer

Avant que les données puissent être importées, si vous prévoyez d'importer lesdonnées à partir d'un fichier à plat, tel qu'un fichier .csv, la structure d'objet deservice d'entreprise doit prendre en charge les structures de fichier à plat. Vérifiezque la case Support Flat File Structure (Prendre en charge une structure de fichiersà plat) est cochée dans l'enregistrement de structure d'objet associé dansl'application Structures d'objet. Vous devez également activer le système externe etle service d'entreprise avant de pouvoir importer les données.

Pourquoi et quand exécuter cette tâche

Les données importées doivent être contenues dans un fichier à plat délimité, (parexemple, un format de fichier séparé par des virgules ou XML). L'importation dedonnées peut avoir recours à un service d'entreprise prédéfini ou défini parl'utilisateur.

Procédure1. Dans l'application Systèmes externes, affichez le système externe contenant le

service d'entreprise à partir duquel vous importez des données.2. Dans l'onglet Services d'entreprise, sélectionnez le service d'entreprise à partir

duquel vous souhaitez importer des données.3. Cliquez sur Importer les données.4. Facultatif : Cochez la case Prévisualisation de l'importation pour examiner les

données avant de les importer et de les valider dans la base de données.Utilisez l'option de prévisualisation pour les enregistrements de donnéesmodèle. Cette fonction n'est pas prévue pour prendre en charge un fichier detaille importante contenant des centaines d'enregistrements. Le traitementtransmet le fichier de façon synchrone aux objets métier et renvoie tous lesmessages d'erreur rencontrés, sans valider les mises à jour de la base dedonnées.

5. Spécifiez le type de fichier que vous souhaitez utiliser pour importer desfichiers.

Option Description

Fichier XML Les données importées sont au formatXML.

Fichier à plat Les données importées sont contenuesdans un fichier à plat délimité. Sinécessaire, modifiez les valeurs des zonesDélimiteur et Qualificateur de texte.

6. Dans la zone Spécifier le fichier d'importation, entrez le chemin d'accès aunom de fichier utilisé par le fichier importé pour l'identification et le stockage.

7. Cochez la case Gestion des erreurs basées sur un fichier si vous souhaitezgérer les erreurs que vous rencontrez au moyen d'un fichier de même formatque le fichier importé. Cette option est une solution alternative à la gestion deserreurs à l'aide de l'application Nouveau traitement des messages

8. Cliquez sur OK pour commencer l'importation de données.

238 Intégration de données à des applications externes

Page 247: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Que faire ensuite

Lorsque l'importation des données est exécutée, le fichier qui est sélectionné pourl'importation est formé de messages multiples et placé dans la file d'attenteentrante qui est configuré pour le service d'entreprise et son système externecorrespondant. Les messages sont ensuite transmis de la file d'attente entrante auxobjets d'application pour mise à jour. Le traitement des messages à partir d'une filed'attente entrante nécessite l'activation de la tâche périodique JMS lorsque la filed'attente séquentielle est utilisée ou l'activation des beans gérés par message pourla file d'attente continue. Si des erreurs se sont produites lors du traitement d'unfichier, vous pouvez gérer et visualiser les messages d'importation de donnéespour lesquels une erreur est indiquée dans l'application Nouveau traitement desmessages.

Tâche périodique de traitement des données entrantesSi vous voulez planifier des chargements de fichier au lieu d'utiliser la fenêtred'importation de données, vous devez créer, configurer et activer les tâchespériodiques XMLFILECONSUMER et FLATFILECONSUMER pour que letraitement du message de la tâche périodique puisse se produire.

Tâche périodique XMLFILECONSUMERLa tâche périodique XMLFILECONSUMER est le mécanisme que vous utilisezpour charger des fichiers XML sans intervention de l'utilisateur de l'application.

La tâche périodique XMLFILECONSUMER possède les paramètres prédéfinissuivants :

Paramètre Description

EXTERNALSYSTEM Valeur de paramètre obligatoire déterminantla valeur du système externe utilisée par leprocessus de chargement des données de latâche périodique.

SOURCEDIRECTORY Valeur de paramètre obligatoire définissantle répertoire sur lequel sont chargés lesfichiers source. Ce répertoire doit se trouversur le serveur d'applications.

ENTERPRISESERVICE Valeur de paramètre obligatoire déterminantle nom du service d'entreprise que la tâchepériodique utilise pour traiter tous lesfichiers situés dans le répertoire source.

FILENAME Valeur de paramètre facultatif déterminant sile processus de chargement des données dela tâche périodique sélectionne les fichierssource en fonction de leur nom.

USEREXITCLASS Valeur de classe de traitement personnaliséefacultative définissant une fonction de tâchepériodique supplémentaire (par exemple,l'ordre de chargement des fichiers).

TARGETENABLED Assurez-vous que la valeur est définie surcelle par défaut (0 (faux)). La fonctionnalitédonotrun est prioritaire sur la fonctionnalitéde cet indicateur. Utilisez le paramètredonotrun dans l'infrastructure de la tâchepériodique pour indiquer les serveurs surlesquels exécuter la tâche.

Intégration de données à des applications externes 239

Page 248: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Paramètre Description

ISFILEEXTRACT Lorsqu'il est défini sur 1 (true), ce paramètreindique que la gestion des erreurs basées surles fichiers est utilisée pour le traitement desmessages entrants.

Tous les fichiers XML disponibles dans le répertoire source sont associés à unsystème externe/service d'entreprise spécifique lorsque vous ajoutez une valeuraux paramètres EXTERNALSYSTEM, SOURCEDIRECTORY etENTERPRISESERVICE. Ces fichiers XML sont chargés dans l'infrastructured'intégration.

Les fichiers correspondant à la propriété du nom de fichier de la tâche périodiquesont associés à un système externe/service d'entreprise spécifique et sont chargésdans le système lorsque vous ajoutez une valeur aux paramètresEXTERNALSYSTEM, SOURCEDIRECTORY, ENTERPRISESERVICE et FILENAME

Tâche périodique FLATFILECONSUMERLa tâche périodique FLATFILECONSUMER est le mécanisme que vous utilisezpour charger des fichiers à plat sans intervention de l'utilisateur de l'application.

Paramètres de tâche périodique

La tâche périodique FLATFILECONSUMER possède les paramètres prédéfinissuivants :

Tableau 34. Paramètres de tâche périodique FLATFILECONSUMER

Paramètre Description

SOURCEDIRECTORY Valeur de paramètre obligatoire définissantle répertoire sur lequel sont chargés lesfichiers source. Ce répertoire doit se trouversur le serveur d'applications.

DELIMITER Paramètre obligatoire indiquant le caractèreutilisé comme délimiteur de zone dans lefichier à plat. La valeur par défaut est ,(virgule).

USEREXITCLASS Valeur de classe de traitement personnaliséepermettant d'activer une fonction de tâchepériodique supplémentaire (par exemple,l'ordre de chargement des fichiers).

TEXTQUALIFIER Valeur de paramètre obligatoire définissantle caractère utilisé comme qualificateur detexte dans le fichier à plat. La valeur pardéfaut est “ (guillemets).

TARGETENENABLED Assurez-vous que la valeur est définie surcelle par défaut (0 (faux)). La fonctionnalitédonotrun est prioritaire sur la fonctionnalitéde cet indicateur. Utilisez le paramètredonotrun dans l'infrastructure de la tâchepériodique pour indiquer les serveurs surlesquels exécuter la tâche.

240 Intégration de données à des applications externes

Page 249: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 34. Paramètres de tâche périodique FLATFILECONSUMER (suite)

Paramètre Description

ISFILEEXTRACT Lorsqu'il est défini sur 1 (true), ce paramètreindique que la gestion des erreurs basées surles fichiers est utilisée pour le traitement desmessages entrants.

Tous les fichiers disponibles dans le répertoire source sont traités par la tâchepériodique FLATFILECONSUMER lorsque vous ajoutez une valeur au paramètreSOURCEDIRECTORY. Le système externe et le service d'entreprise sont identifiés àpartir du premier enregistrement du fichier à plat importé, qui constitue unélément de la définition du fichier à plat.

Propriétés de traitement de la tâche périodique

La tâche périodique FLATFILECONSUMER utilise les propriétés de traitementsuivantes pour les messages entrants :v Ordre de traitement des fichiers - Ordre dans lequel les fichiers sont chargés sur

le serveur, déterminé par l'horodatage du fichier XML. La classe d'exit utilisateurde la tâche périodique peut être utilisée pour écraser la logique de traitementdes messages entrants.

v Division des fichiers - Les fichiers à plusieurs noms traités par la tâchepériodique FLATFILECONSUMER sont divisés avant d'être écrits dans la filed'attente. La tâche périodique identifie si le fichier chargé est un fichier XML àplusieurs noms. Si le fichier XML est un fichier à plusieurs noms, l'infrastructured'intégration utilise les colonnes clé du service d'entreprise pour identifier lesendroits où le fichier est divisé. Par exemple, PONUM et SITE dans le serviced'entreprise MXPOInterface.

v Traitement de la file d'attente - La tâche périodique FLATFILECONSUMERidentifie la file d'attente dans laquelle le fichier à plat est chargé. L'emplacementest basé sur la file d'attente (continue ou séquentielle) spécifiée au niveau dusystème externe et du service d'entreprise.

La tâche périodique crée un fichier d'index (recovery_filename.txt) contenant uneréférence au dernier nom dont le traitement a réussi lorsque vous traitez un fichierà plusieurs noms. L'entrée du fichier d'index est mis à jour lorsque le nom estvalidé avec succès dans la file d'attente. Les fichiers d'index sont disponibles dansle dossier RECOVERY créé dans le répertoire source de la tâche périodique.

La tâche périodique FLATFILECONSUMER utilise le nom du fichier d'index pouridentifier le fichier traité avant que le problème sur le serveur ou la file d'attentene se produise. La tâche périodique continue de traiter le fichier XML encommençant par le dernier nom validé avec succès dans le fichier d'index. Leserreurs identifiées après qu'un message ait été écrit avec succès dans une filed'attente entrante doivent être résolues dans l'application Nouveau traitement desmessages.

Configuration d'une application pour l'importation etl'exportation de données

Pour activer l'importation et l'exportation de données en fonction de l'application,vous devez définir le contenu d'une structure d'objet et activer cette dernière pourl'importation et l'exportation.

Intégration de données à des applications externes 241

Page 250: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Définition du contenu de la structure d'objetLes utilisateurs de l'application peuvent se voir accorder un accès pourl'exportation ou l'importation de données directement à partir d'une application.Un administrateur peut identifier une structure d'objet appropriée pour uneapplication et accorder des fonctions d'exportation et/ou d'importation auxutilisateurs pour gérer des données d'application dans un fichier, par exemple unfichier .csv, pouvant être conservées dans une feuille de calcul.

Pourquoi et quand exécuter cette tâche

Déterminez la structure d'objet à utiliser pour les transactions d'intégration etmodifiez le contenu de la structure d'objet pour limiter l'échange de données aucontenu requis.

Procédure1. Dans Concepteur d'applications, ouvrez l'application que vous souhaitez

activer et notez la valeur dans la zone Objet principal de la zone d'en-tête.Cette valeur doit correspondre à l'objet principal que vous utilisez pour lastructure d'objet.

2. Dans l'application Structures d'objet, indiquez le nom de l'objet principal dansla zone Structure de l'objet pour filtrer sur des structures d'objet basées surcet objet. Si la recherche ne renvoie pas de structures d'objet basées sur l'objetprincipal, vous devez créer une structure d'objet pour que les étapes suivantesne s'appliquent pas.

3. Si la recherche renvoie plusieurs structures d'objet, sélectionnez-en une danslaquelle la valeur de la zone Consommé par est définie sur Intégration.

4. Consultez le contenu de la structure d'objet et posez les questions suivantes :a. L'objet principal de la structure d'objet est-il identique à l'objet principal de

l'application que vous souhaitez activer pour l'exportation et l'importationde données ?

b. La structure d'objet inclut-elle des objets enfants contenant des donnéesque les utilisateurs n'ont pas à exporter ou importer ? Par exemple, l'objetMXPERSON inclut les objets enfants PHONE, EMAIL et SMS. Vosutilisateurs peuvent souhaiter importer et exporter des donnéesuniquement pour les objets PERSON et PHONE.

5. Après avoir revu le contenu de la structure d'objet, vous pouvez choisird'utiliser la structure d'objet prédéfinie avec tout son contenu existant ou de ladupliquer et d'en modifier le contenu. Des modifications apportées à unestructure d'objet prédéfinie peuvent affecter d'autres scénarios d'intégrationutilisant cette structure d'objet. La duplication de la structure d'objet et sonutilisation comme modèle ne provoquent pas de comportement inattendupour les autres utilisateurs de l'intégration.

6. En supposant que vous dupliquiez la structure d'objet pour en fournir unenouvelle pour ce scénario, supprimez tous les objets enfants inutiles pour vosutilisateurs d'intégration.

7. Pour chaque objet restant dans la structure d'objet, sélectionnez l'optionInclude/Exclude Fields dans le menu Sélectionner une action etdésélectionnez toutes les zones qui ne sont pas nécessaires aux utilisateurspour l'importation ou l'exportation. Cette étape limite les zones de données àcelles qui sont nécessaires aux utilisateurs de l'application.

8. Si des fichiers à plat délimités sont requis (pour une utilisation dans unefeuille de calcul), cochez la case Prend en charge la structure nonhiérarchique. Cette étape active une validation permettant de s'assurer que

242 Intégration de données à des applications externes

Page 251: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

chaque colonne de chaque objet de la structure d'objet a un nom unique. Si lavalidation échoue, un indicateur Conflit d'alias est défini.

9. Si la structure d'objet contient un conflit d'alias, sélectionnez l'optionAjouter/Modifier un alias dans le menu Sélectionner une action pour affecterun alias unique à tous les noms de zones dans lesquelles il existe un doublon.Les conflits d'alias n'existent pas dans les structures d'objet prédéfinies.

10. Enregistrez la structure d'objet.

Que faire ensuite

Le contenu de la structure d'objet est maintenant configuré et vous pouvez luiaccorder un accès d'application dans l'application Structures d'objet.

Activation de l'importation et de l'exportation de données dansune applicationAprès avoir défini le contenu de la structure d'objet, vous devez activer uneapplication pour l'importation et l'exportation de données. L'activation del'importation de données est une procédure distincte de l'activation de l'exportationde données. Les procédures étant distinctes, vous pouvez autoriser certainsutilisateurs à exporter des données, en autoriser d'autres à en importer ou autoriserun ensemble distinct d'utilisateurs à importer et exporter des données.

Procédure1. Dans l'application Structures d'objet, sélectionnez celle que vous voulez activer.2. Sélectionnez l'action Ajouter/Modifier la prise en charge de l'exportation de

l'application.3. Dans la fenêtre Ajouter/Modifier la prise en charge de l'exportation de

l'application, cliquez sur Nouvelle ligne. Dans la section Caractéristiques, lavaleur de la zone Application est par défaut l'application dont l'objet principalest identique à celui de la structure d'objet.

4. Indiquez Fichier XML ou Fichier à plat comme format pour les fichiersd'exportation de données.

5. Dans la zone Comptage maximum, vous pouvez indiquer une valeur limitantle nombre de lignes pouvant être exportées en une seule exécution. Même sil'utilisateur sélectionne 1000 enregistrements, si la limite est de 100, alors seules100 lignes sont exportées. Une valeur de 0 ou NULL permet le traitement d'unnombre illimité de lignes.

6. Cochez la case Est-ce la valeur par défaut ? si vous activez plusieurs structuresd'objet pour l'exportation de l'application et que vous souhaitez que cettestructure d'objet soit celle par défaut.

7. Cliquez sur OK pour sauvegarder la configuration de l'exportation.8. Sélectionnez l'action Ajouter/Modifier la prise en charge de l'importation de

l'application et répétez les mêmes procédures pour configurer l'importation desdonnées pour l'application.

9. Sélectionnez le groupe d'utilisateurs pour les utilisateurs de l'application dansl'application Groupes de sécurité et accordez un accès à l'option Exportation del'application et/ou à l'option Importation de l'application.

Lancement de l'exportation et de l'importation de données dansune applicationUne fois l'exportation et l'importation de données activées dans une application,des icônes sont ajoutées à la barre d'outils de l'application pour le démarrage destransactions.

Intégration de données à des applications externes 243

Page 252: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Démarrage de l'exportation de données dans une application :

Après avoir activé l'exportation de données pour une application, les utilisateurspeuvent lancer des transactions d'exportation à partir de l'interface utilisateur del'application.

Procédure

1. Dans l'onglet Liste de l'application, sélectionnez les données à exporter de l'unedes manières suivantes :v Utilisez les options de filtre pour rechercher un ensemble d'enregistrements à

exporter et cliquez sur l'icône Exportation de l'application dans la barred'outils.

v Sélectionnez un enregistrement spécifique à exporter et cliquez sur l'icôneExportation de l'application. Cette option exporte uniquement les donnéesd'un seul enregistrement.

2. Dans la fenêtre Exportation de données, consultez les paramètres d'exportationet procédez aux ajustements nécessaires :a. Facultatif : Indiquez une autre valeur dans la zone Structure de l'objet si

vous ne souhaitez pas utiliser la structure d'objet par défaut pourl'exportation. Vous ne pouvez indiquer une autre structure d'objet que s'ilen a été activée une pour cette application. Si vous indiquez une autrestructure d'objet, la fenêtre est actualisée pour inclure la section Exporter laconfiguration, dans laquelle vous pouvez configurer des paramètressupplémentaires.

b. Facultatif : Si la valeur de la zone Sélectionné pour l'export dépasse lavaleur de la zone Exporter limite, vous pouvez annuler l'exportation etutiliser un autre filtre pour réduire le nombre d'enregistrements à exporter.La valeur de la zone Exporter limite est définie par l'administrateur et nepeut pas être dépassée, quel que soit le nombre d'enregistrementssélectionnés.

3. Facultatif : Dans la section Exporter la configuration, (développée uniquementsi vous avez indiqué une structure d'objet autre que celle par défaut), indiquezle format des données :a. Si vous sélectionnez le format XML, indiquez l'opération d'exportation, par

exemple Sync.b. Si vous sélectionnez le format Fichier à plat, indiquez des valeurs dans les

zones Délimiteur et Qualificateur de texte.4. Cliquez sur OK pour démarrer l'exportation. Une boîte de dialogue

Sauvegarder s'ouvre, dans laquelle vous pouvez indiquer à quel emplacementsauvegarder le fichier. Pour qu'un fichier à plat s'ouvre dans une application defeuille de calcul, vous pouvez modifier le nom de fichier afin d'utiliser lesuffixe .csv. Si la boîte de dialogue Sauvegarder ne s'ouvre pas, modifiez lesparamètres de sécurité de votre navigateur pour activer la demandeautomatique des téléchargements.

Démarrage d'une importation de données dans une application :

Après avoir activé l'importation de données pour une application, les utilisateurspeuvent lancer des transactions d'importation à partir de l'interface utilisateur del'application.

244 Intégration de données à des applications externes

Page 253: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure

1. A partir de n'importe quel emplacement de l'application, cliquez sur l'icôneImporter les données dans la barre d'outils.

2. Facultatif : Dans la fenêtre Importer les données, indiquez une autre valeurdans la zone Structure de l'objet si vous ne souhaitez pas utiliser la structured'objet par défaut pour l'importation. Si vous indiquez une autre structured'objet, la section Importer des configurations se développe, dans laquelle vousdevez exécuter des configurations supplémentaires.

3. Facultatif : Si vous avez indiqué une autre structure d'objet, dans la sectionImporter des configurations développée, indiquez les valeurs suivantes :a. Si vous indiquez le format XML, aucun paramètre supplémentaire n'est

nécessaire car le fichier XML entrant indique l'opération, le code de langueet le code d'action.

b. Si vous indiquez le format Fichier à plat, vous pouvez indiquer des valeursdans les zones Délimiteur, Qualificateur de texte, Action et Code langueou utiliser les valeurs par défaut.

4. Facultatif : Révisez la valeur de la zone Limite d'importation. Vous ne pouvezpas changer cette valeur. Si la limite est définie, par exemple, sur 100enregistrements, et que le fichier d'importation contient 200 enregistrements,seuls les 100 premiers enregistrements sont importés.

5. Cliquez sur Parcourir pour accéder au fichier d'importation et sélectionnez-le.6. Facultatif : Si vous sélectionnez Prévisualisation de l'importation lorsque vous

exécutez l'importation, le fichier est traité par les objets métier mais les donnéesne sont pas enregistrées dans la base de données. Vous pouvez utiliser cetteoption pour tester la charge des données et indiquer qu'il n'existe aucune erreurantérieure au chargement. Toutes les erreurs sont affichées. Vous pouvezappliquer des corrections au fichier d'entrée et renouveler l'opérationd'importation.

7. Cliquez sur OK pour démarrer l'importation. L'importation de données étantun processus synchrone , vous devez attendre dans l'interface utilisateur tantque la charge n'est pas complète et qu'un message de confirmation n'est pasaffiché. Si la charge rencontre des erreurs, aucun donnée n'est chargée car lefichier est traité en tant que transaction unique avec un seul essai.

Interface de programme d'application RESTL'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

L'interface de programme d'application REST fait partie de l'infrastructured'intégration et vous pouvez l'utiliser pour intégrer des applications externes avecles applications Moteur d'automatisation de processus. L'interface de programmed'application REST expose les objets métier et les structures d'objet d'intégration entant que ressources REST. L'interface de programme d'application REST peutfournir des données de ressource au format XML ou JavaScript Object Notation(JSON). Les applications externes peuvent utiliser l'interface de programmed'application REST pour interroger et mettre à jour des données d'application.

L'interface de programme d'application REST peut être utilisée sans aucuneconfiguration. Les structures d'objet que l'interface de programme d'applicationREST peut interroger ou mettre à jour ont la valeur INTEGRATION dans la zoneConsumed By de l'application Structures d'objet.

Intégration de données à des applications externes 245

Page 254: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

L'interface de programme d'application REST prend en charge les opérations decréation, d'interrogation, de mise à jour et de suppression des ressources à l'aidedes méthodes HTTP GET, POST, PUT et DELETE standard.Information associée:

Utilisation des détails de l'interface de programme d'application REST (Ouvrela page dans une nouvelle fenêtre ou un nouvel onglet de navigateur.)

Utilisation de REST avec Maximo (Ouvre la page dans une nouvelle fenêtre ouun nouvel onglet de navigateur.)

Infrastructure d'interface de programme d'application RESTL'interface de programme d'application REST fait partie de l'infrastructured'intégration et gère les demandes des utilisateurs externes.

Le diagramme suivant fournit un aperçu de la manière dont l'interface deprogramme d'application REST gère les demandes.

Lorsqu'un utilisateur externe initie une demande, le contrôleur de l'interface deprogramme d'application REST dirige la demande de ressource vers le gestionnairede ressources approprié. Le gestionnaire de ressources agit avec les ressources pourexécuter la demande. Lorsque la demande est terminée, la ressource ou lacollection de ressources qui en résulte est traitée par le sérialiseur de ressources. Lesérialiseur de ressources renvoie la représentation comme réponse de ressource.Les sérialiseurs sont fournis pour les langages XML et JSON.

Puisque l'interface de programme d'application REST se trouve dansl'infrastructure d'intégration, elle peut utiliser l'authentification Moteurd'automatisation de processus, les autorisations et les propriétés système.

Le contrôleur de l'interface de programme d'application REST est un servlet. Lesperformances et l'optimisation de la charge de l'évolutivité s'effectuent au niveaudu serveur d'applications, comme c'est le cas des autres composants Web.

Représentations prises en chargeL'interface de programme d'application REST prend en charge les représentationsXML et JSON. Les représentations sont prises en charge par l'implémentation declasses de sérialiseurs qui sont enregistrées dans les propriétés système.

Client externe

Demande deressource

Réponse deressource

Contrôleurd'API REST

Gestionnaires deressources

Infrastructure d'API REST

Infrastructure de moteur d'automatisation de processus de Tivoli

RessourcesStructure d'objet (MBO)

(Objet métier deressource) (OS)

Sérialiseur deressources

Représentation de ressources(XML, JSON) Collecte de ressources/Ressource

246 Intégration de données à des applications externes

Page 255: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Les représentations XML et JSON sont enregistrées dans les propriétés systèmed'interface de programme d'application REST suivantes :v mxe.rest.serializer.mbo.xml

v mxe.rest.serializer.os.xml

v mxe.rest.serializer.mbo.json

v mxe.rest.serializer.os.json

Vous pouvez étendre des sérialiseurs pour un traitement personnalisé. Vouspouvez créer des sérialiseurs pour des types de ressource existants et pour desinstances individuelles de ressources d'objet métier ou de ressources de structured'objet.

Pour les ressources de structure d'objet, le format XML pour l'interface deprogramme d'application REST est similaire au format pris en charge parl'infrastructure d'intégration.Référence associée:«Propriétés système REST», à la page 277Les propriétés système sont disponibles pour configurer le mode defonctionnement de l'interface de programme d'application REST pour vos besoinsspécifiques.

Gestionnaires de ressources et URIL'interface de programme d'application REST fournit un accès aux structuresd'objet d'intégration et aux objets métier. Une classe de gestionnaire pour chaqueressource est enregistrée dans une propriété système.

Les classes de gestionnaires pour les ressources d'objet métier et de structured'objet sont enregistrées dans les propriétés système mxe.rest.handler.mbo etmxe.rest.handler.os.

Vous pouvez étendre des gestionnaires pour un traitement personnalisé. Vouspouvez créer des gestionnaires pour d'autres types de ressource et pour desinstances individuelles de ressources d'objet métier ou de ressources de structured'objet.

Les ressources d'interface de programme d'application REST sont traitées à l'aidedes identificateurs de ressources faisant partie intégrante de l'URI (UniformResource Identifier). Les URI sont utilisés pour traiter les entités représentéescomme des ressources REST.

Par exemple, l'URI suivant accède à une collecte d'objets métier Person. mboindique le type de ressource d'objet métier et person est la ressource :.../maxrest/rest/mbo/person

Dans un autre exemple, l'URI suivant accède à une collecte de données pour lastructure d'objet Person. os indique le type de ressource de structure d'objet etmxperson est la ressource :.../maxrest/rest/os/mxperson

Méthode GETUtilisez la méthode GET pour récupérer des ressources d'objet métier et destructure d'objet.

Intégration de données à des applications externes 247

Page 256: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

SyntaxeGET uri?paramètre=valeur?paramètre=valeur&...

uri est un URI. La longueur de l'URI ne peut pas la limite spécifiée pour unsystème.

paramètre est un paramètre de requête.

valeur est la valeur du paramètre de requête.

Exemple : récupération d'une ressource d'objet métier

La méthode suivante récupère une ressource d'objet métier :GET /maxrest/rest/mbo/asset/123

Le XML suivant est renvoyé :<?xml version="1.0" encoding="UTF-8"?>

<ASSET xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<ASSETNUM>11200</ASSETNUM><SERIALNUM>3481-52</SERIALNUM><ASSETTAG>3751</ASSETTAG><LOCATION>BR200</LOCATION><DESCRIPTION>HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap</DESCRIPTION><ASSETUID>123</ASSETUID>..

</ASSET>

La réponse de ressource est affichée en XML. Le paramètre de format par défautpeut être configuré dans la propriété système mxe.rest.mbo.defaultformat.

Exemple : récupération d'un ressource de structure d'objet

La méthode suivante récupère une ressource de structure d'objet :GET /maxrest/rest/mbo/mxasset/123

Le XML suivant est renvoyé :<?xml version="1.0" encoding="UTF-8"?>

<QueryMXASSETResponse xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"creationDateTime="2011-04-07T11:43:59-04:00"transLanguage="EN" baseLanguage="EN" messageID="1302195161355515345"maximoVersion="7 5 20110405-0030 V7500-718" rsStart="0" rsTotal="1"rsCount="1"><MXASSETSet>

<ASSET><ASSETNUM>11200</ASSETNUM><SERIALNUM>3481-52</SERIALNUM><ASSETTAG>3751</ASSETTAG><LOCATION>BR200</LOCATION><DESCRIPTION>HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap</DESCRIPTION><ASSETUID>123</ASSETUID>..<ASSETMETER>

<ACTIVE>1</ACTIVE><ASSETMETERID>63</ASSETMETERID><LASTREADING>0</LASTREADING><METERNAME>PRESSURE</METERNAME>.

248 Intégration de données à des applications externes

Page 257: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

.</ASSETMETER><ASSETSPEC>

<ASSETATTRID>SPEED</ASSETATTRID><ASSETSPECID>2138</ASSETSPECID>..

</ASSETSPEC><ASSETSPEC>

<ASSETATTRID>SHAFTDIA</ASSETATTRID><ASSETSPECID>2139</ASSETSPECID>..

</ASSETSPEC></ASSET>

</MXASSETSet></QueryMXASSETResponse>

Les données de ressource de structure d'objet incluent l'actif, un compteur d'actif etles données de spécification d'actif basées sur la configuration des objets dans lastructure d'objet MXASSET. Toute zone configurée pour être incluse ou exclue estimplémentée dans les données.

Le chemin d'URI peut contenir l'ID de la ressource comme moyen poursélectionner une ressource spécifique. Dans l'exemple précédent, l'ID est 123. Lavaleur d'ID est un ID unique pour l'objet qui enregistré dans la tableMAXATTRIBUTE. Si aucun ID n'est fourni, la réponse inclut toutes les occurrencesde la ressources, en fonction des restrictions de sécurité de l'utilisateur. L'ID estl'unique zone d'objet métier qui peut faire partie du chemin d'URI pour les critèresde sélection. Toutes les autres zones peuvent être utilisées comme paramètre derequête dans l'URI pour le filtrage de sélection.

Exemple : sélection de ressources enfant associées

La méthode suivante demande une ressource de bon de commande pour uneressource d'objet métier :GET /maxrest/rest/mbo/po/13

Le XML suivant est renvoyé :<?xml version="1.0" encoding="UTF-8"?>

<PO xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><PONUM>1005</PONUM><DESCRIPTION>Electrical Supplies</DESCRIPTION>..

</PO>

Exemple : sélection de lignes de bon de commande associées àun bon de commande

La méthode suivante demande toutes les lignes de bon de commande qui sontassociées au bon de commande sélectionné dans l'exemple précédent :GET /maxrest/rest/mbo/po/13/poline

Le XML suivant est renvoyé :<?xml version="1.0" encoding="UTF-8"?>

<POLINEMboSet rsStart="0" rsTotal="2" rsCount="2"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

Intégration de données à des applications externes 249

Page 258: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<POLINE xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><PONUM>1005</PONUM><ITEMNUM>11241</ITEMNUM><STORELOC>CENTRAL</STORELOC><ORDERQTY>3.0</ORDERQTY><POLINENUM>1</POLINENUM><POLINEID>10051</POLINEID>..

</POLINE><POLINE xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><PONUM>1005</PONUM><ITEMNUM>29331</ITEMNUM><STORELOC>PKG</STORELOC><ORDERQTY>2.0</ORDERQTY><POLINENUM>2</POLINENUM><POLINEID>10052</POLINEID>..

</POLINE></POLINEMboSet>

Si vous sélectionnez POLINE, le nom de relation spécifié dans l'URI (POLINE)identifie le chemin de l'objet métier (PO) à un objet métier associé (POLINE). Danscet exemple, l'objet métier et la relation possèdent le même nom. Un objet peutavoir plusieurs relations entre deux objets, ce qui peut entraîner la sélection dedonnées différentes pour l'objet associé. Les relations sont définies dans la tableMAXRELATIONSHIP.

Pour récupérer uniquement la ligne d'un objet métier POLINE spécifique, insérezl'ID de l'objet métier POLINE dans l'URI :GET /maxrest/rest/mbo/po13/poline/10052

Dans cet exemple, poline représente le nom de la relation et 10052 est l'ID del'objet métier POLINE que la relation récupère. Vous pouvez utiliser la mêmeapproche pour spécifier le chemin de POLINE à ITEM ou POCOST :GET /maxrest/rest/mbo/po/13/poline/10052/item

GET /maxrest/rest/mbo/po/13/poline/10052/pocost

Lorsque vous utilisez la ressource de structure d'objet, les objets enfant ne peuventpas avoir de relations. La structure d'objet prend en charge un graphique desobjets métier associés. Les relations font partie de la définition de structure d'objet.

Vous pouvez parcourir les objets métier associés à déplacer d'une ressource à uneautre si une relation valide existe entre l'objet source et l'objet cible.Référence associée:«Propriétés d'en-tête HTTP», à la page 268Plusieurs propriétés d'en-tête HTTP sont pertinentes pour l'interface de programmed'application REST.

Paramètres de requête et opérateursPour extraire une ressource dont vous connaissez l'ID unique, vous pouvezsimplement fournir l'ID des ressources en tant que composant du chemin del'identificateur URI. Vous pouvez également utiliser les paramètres de recherchepour filtrer et extraire des collections de ressources.

250 Intégration de données à des applications externes

Page 259: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Dans une collection de ressources, la représentation possède un pointeur vers l'IDunique de chaque ressource. L'ID est utilisé par le logiciel qui y fait appel afin decréer un lien vers la ressource. Le lien est utilisé pour la mise à jour, la suppressionet l'interrogation de la ressource.

Une interrogation RESTful commence souvent par l'extraction d'une collection deressources, puis par l'accès au détail d'une ressource particulière de la collection.

Vous pouvez utiliser toute zone d'une ressource d'objet métier ou de touteressource d'objet métier associé en tant que paramètre de requête. La requêted'objet métier, par exemple l'infrastructure préfabriquée (QBE) restreint la relationentre les objets métier à un niveau de profondeur. Toute zone d'une ressource destructure d'objet peut être utilisée comme paramètre de requête si la zoneappartient à un objet se trouvant dans les deux premiers niveaux de la structured'objet.

Si vous utilisez un attribut d'objet métier comme paramètre de requête, lesopérateurs suivantes peuvent être intégrés au paramètre.

Opérateur Notation Exemple

Est égal à ~eq~ status=~eq~APPR Utilisezl'opérateur Est égal à pourétablir une correspondanceparfaite. Une requêtestatus=APPR implique unecomparaison avec l'opérateurComme. Si vous utilisezstatus=APPR&_exactmatch=1,le processeur est forcéd'établir une correspondanceparfaite. Cette notationproduit un résultat identiqueà status=~eq~APPR.

N'est pas égal à ~neq~ status=~neq~APPR

Supérieur à ~gt~ quantity=~gt~2.5

Est plus grand ou égal à ~gteq~ quantity=~gteq~2.5

Est inférieur à ~lt~ quantity=~lt~2.5

Est plus petit ou égal à ~lteq~ quantity=~lteq~2.5

Se termine par ~ew~ description=~ew~APPR

Commence par ~sw~ description=~sw~APPR

Comme Aucune notation obligatoire description=APPR

Par exemple : interroger par emplacement

L'exemple suivant illustre une interrogation par emplacement à l'aide d'un numérod'emplacement en tant que paramètre de requête sans opérateur :GET maxrest/rest/mbo/locations?location=PT100

Le code XML suivant est renvoyé par la requête :<?xml version="1.0" encoding="UTF-8"?>

<LOCATIONSMboSet rsStart="0" rsTotal="2" rsCount="2"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><LOCATIONS>

Intégration de données à des applications externes 251

Page 260: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<LOCATION>PT100</LOCATION><DESCRIPTION>PT100</DESCRIPTION>..

</LOCATIONS><LOCATIONS>

<LOCATION>PT1001</LOCATION><DESCRIPTION>1001</DESCRIPTION>..

</LOCATIONS></LOCATIONSMboSet>

Etant donné qu'aucun opérateur n'est spécifié, une comparaison Comme est utiliséeet le résultat possède deux emplacements. Si la demande utilise l'opérateur Estégal à, seule l'emplacement PT100 est renvoyé pour la requête car l'opérateur forcela correspondance parfaite :GET /maxrest/rest/mbo/locations?location=~eq~PT100

Exemple : utilisation de plusieurs paramètres

L'exemple suivant illustre l'utilisation de plusieurs paramètres pour interroger unequantité YTD d'émission supérieure à 1 et une quantité de commandes supérieureà 5 :GET /maxrest/rest/mbo/inventory?issueytd=~gt~1&orderqty=~gt~5

Exemple : utilisation de la condition ormode

Vous pouvez interroger plusieurs valeur pour une zone unique à l'aide de lacondition ormode. L'exemple suivant sélectionne des enregistrements où la quantitéYTD d'émission est égale à 7 ou inférieure à 4 :GET /maxrest/rest/mbo/inventory?issueytd.ormode=~eq~7&issueytd.ormode=~lt~4

Exemple : pas d'enregistrement sélectionné

Si une requête aboutit sans sélectionner d'enregistrement, un ensemble de résultatsvides est renvoyé (pas une condition d'exception).

Par exemple, la requête suivante est destinée à des enregistrements dont laquantité YTD d'émission est de 99 :GET /maxrest/rest/mbo/inventory?issueytd=~eq~99

Aucun enregistrement n'est sélectionné au terme de la demande. Par conséquent, lerésultat vide suivant est renvoyé :<?xml version="1.0" encoding="UTF-8"?>

<INVENTORYMboSet rsStart="0" rsTotal="0" rsCount="0"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

Paramètre _opmodeorUtilisez le paramètre _opmodeor pour évaluer les zones multiples à l'aide d'unecondition OU entre les valeurs au lieu de la condition ET par défaut.

Par exemple, la demande suivante renvoie des enregistrements pour lesquels laquantité YTD d'émission est supérieure à 1 et la quantité d'ordre est supérieure à 5:GET /maxrest/rest/mbo/inventory?issueytd=~gt~1&orderqty=~gt~5

252 Intégration de données à des applications externes

Page 261: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

La requête sélectionne six enregistrements, comme illustré dans l'attribut rsTotal :<?xml version="1.0" encoding="UTF-8"?>

<INVENTORYMboSet rsStart="0" rsTotal="6" rsCount="6"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><INVENTORY xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ITEMSETID>SET1</ITEMSETID><MANUFACTURER>WES</MANUFACTURER><SHRINKAGEACC>

<VALUE>6600-810-800</VALUE></INVENTORY>..

<INVENTORY xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

.

.

La demande modifiée suivante définit le paramètre _opmodeor sur true pourrenvoyer des enregistrements pour lesquels la quantité YTD d'émission estsupérieure à 1, ou la quantité d'ordre est supérieure à 5:GET /maxrest/rest/mbo/inventory?issueytd=~gt~1&orderqty=~gt~5&_opmodeor=1

La requête modifiée sélectionne 54 enregistrements :<?xml version="1.0" encoding="UTF-8"?>

<INVENTORYMboSet rsStart="0" rsTotal="54" rsCount="54"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><INVENTORY xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">..

Paramètres _rsStart et _maxItemsLes paramètres _rsStart et _maxItems sont utilisés simultanément pour contrôler lenombre d'enregistrements renvoyés pour une demande et pour permettre lapagination d'un volume important d'enregistrements.

Exemple : sélection de toutes les ressources d'actif

La demande suivante sélectionne toutes les ressources d'actif dans le système :GET maxrest/rest/mbo/asset?&_opmodeor=1

Dans cet exemple, 757 actifs sont sélectionnés :<?xml version="1.0" encoding="UTF-8"?>

<ASSETMboSet rsStart="0" rsTotal="757" rsCount="757"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSET xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSETNUM>CAL100</ASSETNUM>

Dans la demande suivante, le paramètre _maxItems limite le nombre de lignessélectionnées. Le nombre de lignes est limité à 20, comme indiqué par la valeurrsCount :GET /maxrest/rest/mbo/asset?_maxItems=20

<?xml version="1.0" encoding="UTF-8"?><ASSETMboSet rsStart="0" rsTotal="757" rsCount="20"

xmlns="http://www.ibm.com/maximo"

Intégration de données à des applications externes 253

Page 262: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSET xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

Pour récupérer les 20 lignes suivantes, la demande suivante ajoute le paramètre_rsStart :GET /maxrest/rest/mbo/asset?_maxItems=20&_rsStart=20

<?xml version="1.0" encoding="UTF-8"?><ASSETMboSet rsStart="20" rsTotal="757" rsCount="20"

xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSET xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

Les 20 lignes suivantes sont récupérées, en commençant à la ligne 20 jusqu'à laligne 39.Concepts associés:«Défilement en session», à la page 259La conservation d'une collection de ressources en mémoire peut améliorer lesperformances lors du défilement dans des pages de données.

Paramètre _orderbyascLe paramètre _orderbyasc contrôle l'ordre de tri des données renvoyées.

Les attributs utilisés pour l'ordre par clause sont affichés par ordre croissant.Fournissez une liste de noms de zone séparés par des virgules pour que l'objetressource trie le résultat.

Utilisez le paramètre _orderbydesc de la même manière pour trier par ordredécroissant.

Exemple : tri d'une réponse

La demande suivante n'inclut pas le paramètre _orderbyasc :GET /maxrest/rest/mbo/asset?_maxItems=20&_rsStart=20

Les actifs suivants sont renvoyés :<?xml version="1.0" encoding="UTF-8"?>

<ASSETMboSet rsStart="20" rsTotal="757" rsCount="20"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSET xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSETNUM>7400</ASSETNUM><SERIALNUM>A5252525555</SERIALNUM><LOCATION>HWSTOCK</LOCATION>..

<ASSET xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSETNUM>7300</ASSETNUM><SERIALNUM>A6687688888</SERIALNUM><LOCATION>HWSTOCK</LOCATION>..

<ASSET xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSETNUM>7200</ASSETNUM>

254 Intégration de données à des applications externes

Page 263: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<SERIALNUM>A6387683888</SERIALNUM><LOCATION>HARDWARE</LOCATION>..

La demande suivante inclut le paramètre _orderbyasc et spécifie la zoned'emplacement de l'objet métier d'actif :GET /maxrest/rest/mbo/asset?_maxItems=20&_rsStart=20&_orderbyasc=location

La demande modifiée renvoie les actifs suivants dans l'ordre de tri demandé :<?xml version="1.0" encoding="UTF-8"?>

<ASSETMboSet rsStart="20" rsTotal="757" rsCount="20"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSET xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSETNUM>2045</ASSETNUM><PARENT>19998</PARENT><LOCATION>5THFLSWSTOCK</LOCATION>..

<ASSET xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSETNUM>2002</ASSETNUM><SERIALNUM>K6LQI</SERIALNUM><LOCATION>6THFLOOR</LOCATION>..

<ASSET xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSETNUM>2074</ASSETNUM><PARENT>2002</PARENT><LOCATION>6THFLOOR</LOCATION>..

Paramètres _includecols et _excludecolsUtilisez les paramètres _includecols et _excludecols pour contrôler le contenu desattributs renvoyés en réponse à une demande.

Si aucun paramètre n'est spécifié, tous les attributs sont renvoyés pour la ressourced'objet métier. Les paramètres _includecols et _excludecols sont uniquementvalides pour une ressource d'objet métier.

Exemple : récupération de zones spécifiques

Si vous utilisez le paramètre _includecols, seuls les attributs listés pour leparamètre sont renvoyés :GET /maxrest/rest/mbo/asset?_includecols=assetnum,serialnum

La demande renvoie uniquement le numéro d'actif et le numéro de série :<?xml version="1.0" encoding="UTF-8"?>

<ASSETMboSet rsStart="0" rsTotal="757" rsCount="757"xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ASSET xmlns="http://www.ibm.com/maximo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SERIALNUM>32R5G</SERIALNUM><ASSETNUM>13150</ASSETNUM>

</ASSET><ASSET xmlns="http://www.ibm.com/maximo"

Intégration de données à des applications externes 255

Page 264: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SERIALNUM>2342VV</SERIALNUM><ASSETNUM>13160</ASSETNUM>

</ASSET>

Exemple : exclusion d'une zone

Le paramètre _excludecols identifie une liste de zones d'objets métier à exclure dela réponse de requête :GET /maxrest/rest/mbo/asset?_excludecols=serialnum

Dans cet exemple, la demande renvoie toutes les zones de la ressource active àl'exception du numéro de série.

Paramètre _dropnullsDéfinissez le paramètre _dropnulls sur false pour inclure les zones dont la valeurest NULL dans la réponse de requête.

Toutes les zones de ressource sont renvoyées par une requête, sauf si elles sontrestreintes par d'autres paramètres ou par la configuration de la structure d'objet.Si le paramètre _dropnulls n'est pas fourni, les zones de valeur nulle sont excluesde la réponse de requête.

Exemple : inclusion des zones de valeur nulle

La requête suivante inclut le paramètre :GET /maxrest/rest/os/mxasset?_dropnulls=0&_maxItems=1

La requête renvoie les valeurs nulles comme dans le code XML suivant :<?xml version="1.0" encoding="UTF-8"?>

<QueryMXASSETResponse xmlns="http://www.ibm.com/maximo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"creationDateTime="2011-04-08T09:25:11-04:00" transLanguage="EN"baseLanguage="EN" messageID="1302273234298496774"maximoVersion="7 5 20110405-0030 V7500-718" rsStart="0"rsTotal="757" rsCount="1"><MXASSETSet><ASSET>

<ANCESTOR /><ASSETID>1579</ASSETID><ASSETNUM>CAL100</ASSETNUM><ASSETTAG /><ASSETTYPE /><AUTOWOGEN>0</AUTOWOGEN><BINNUM /><BUDGETCOST>0.0</BUDGETCOST><CALNUM /><CHANGEBY>WILSON</CHANGEBY>..

Paramètres _format et _compactL'interface de programme d'application REST prend en charge les représentationsXML et JSON (formats). Vous pouvez utiliser le paramètre _format ou unenégociation de contenu pour spécifier une représentation de ressource. Vouspouvez utiliser le paramètre _compact pour spécifier un format JSON compact.

Si une demande ne spécifie pas un format, la représentation par défaut est utilisée.La valeur par défaut est définie par la propriété systèmemxe.rest.mbo.defaultformat.

256 Intégration de données à des applications externes

Page 265: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si une demande spécifie le paramètre _format, la valeur est validée par rapport àla liste des formats pris en charge dans la propriété systèmemxe.rest.supportedformats. Si le format demandé correspond à l'un des formatspris en charge, il est utilisé comme format de réponse. Si le format demandé nefigure pas dans la liste des formats pris en charge , un code d'erreur HTTP 406 estgénéré.

Le paramètre de requête booléen _compact s'applique au format JSON lorsque laréponse formatée peut être renvoyée dans un style compact. La structure desdonnées de réponse est simplifiée et aucune métadonnée n'est renvoyée pour desvaleurs de zone individuelle.

Exemple : spécification de représentation JSON

La demande suivante est destinée à un objet Actif dans une représentation JSON :GET /maxrest/rest/mbo/asset/123?_format=json

La réponse suivante est renvoyée :{

ASSET: {

Attributes: {

ASSETNUM: {content: "11200"}

SERIALNUM: {content: "3481-52"}

ASSETTAG: {content: "3751"}

LOCATION: {content: "BR200"}

DESCRIPTION: {content: "HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap"}

Exemple : spécification de format compact

La demande suivante spécifie un format compact :GET /maxrest/rest/mbo/asset/123?_format=json&_compact=1

La réponse suivante est renvoyée :{

ASSET: {ASSETNUM: "11200"SERIALNUM: "3481-52"ASSETTAG: "3751"LOCATION: "BR200"DESCRIPTION: "HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap"

Intégration de données à des applications externes 257

Page 266: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

VENDOR: "TRN"MANUFACTURER: "TRN"..

Concepts associés:«Négociation du contenu des représentations»L'interface de programme d'application REST prend en charge l'identification duformat de représentation à l'aide de la négociation de contenu avec le paramètre derequête _format.

Négociation du contenu des représentationsL'interface de programme d'application REST prend en charge l'identification duformat de représentation à l'aide de la négociation de contenu avec le paramètre derequête _format.

Pour les formats XML et JSON, les valeurs de type MIME prises en charge sontdéfinies dans les propriétés système suivantes :

Propriété Valeur

mxe.rest.format.json.mimetypes application/json

mxe.rest.format.xml.mimetypes application/xml,text/xml

Le format est un alias pour l'un des nombreux types MIME et il est utilisé pouridentifier le sérialiseur pour un type MIME interrogé. L'interface de programmed'application REST utilise la valeur d'en-tête HTTP Accept pour la négociation decontenu. L'interface de programme d'application REST fait correspondre la valeurd'en-tête à l'un des types MIME spécifiés qui sont définis dans la propriétésystème. Si une correspondance est trouvée, l'interface de programme d'applicationREST utilise la valeur comme format correspondant pour la réponse. Si aucunecorrespondance n'est trouvée avec la liste de format prise en charge, un coded'erreur 406 en HTML est généré.

Les sérialiseurs XML et JSON répondent toujours avec les valeurs application/xmlpour la représentation XML et application/json pour la représentation JSON dansla propriété d'en-tête Content-Type. Si vous créez un sérialiseur pour prendre encharge un autre format, ajoutez votre format à la liste dans la propriété systèmemxe.rest.supportedformats.

Les valeurs de la propriété système mxe.rest.supportedformats sont associées auxvaleurs fournies dans les propriétés individuelles pour les valeurs correspondantesde types MIME pris en charge, commemxe.rest.format.NEW.mimetypes. Les valeursdes types MIME sont fournies dans la demande par le biais de la propriétéd'en-tête Accept.

Par exemple, les propriétés système suivantes sont utilisées pour ajouter le formatHTML en tant que format de représentation des ressources :

Propriété Valeur

mxe.rest.supportedformats html,xml,json,image

mxe.rest.format.html.mimetypes text/html

mxe.rest.mbo.serializer com.ibm.tivoli.maximo.rest.MboHTMLSerializer

mxe.rest.os.serializer com.ibm.tivoli.maximo.rest.OSHTMLSerializer

258 Intégration de données à des applications externes

Page 267: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Lorsque le paramètre _format et la propriété d'en-tête Accept sont fournis pour unerequête, le paramètre de requête est prioritaire.Concepts associés:«Paramètres _format et _compact», à la page 256L'interface de programme d'application REST prend en charge les représentationsXML et JSON (formats). Vous pouvez utiliser le paramètre _format ou unenégociation de contenu pour spécifier une représentation de ressource. Vouspouvez utiliser le paramètre _compact pour spécifier un format JSON compact.

Défilement en sessionLa conservation d'une collection de ressources en mémoire peut améliorer lesperformances lors du défilement dans des pages de données.

Si vous spécifiez le paramètre _usc avec une valeur de 1 dans une requête, leserveur conserve la collection de ressources en mémoire. Le navigateur peutinterroger des pages de données supplémentaires à partir de la mémoire au lieu desélectionner à nouveau les données à partir de l'objet métier. La réponse HTTPcomprend l'ID de la collection de ressources dans la propriété d'en-tête RLID.

Les demandes ultérieures de pages supplémentaires de données peuvent spécifierle paramètre _maxitem, le paramètre _rsStart et le paramètre _rlid, qui conservel'ID de la collection de ressources. Le serveur récupère la page suivante à partirdes données conservées en mémoire pour l'ID spécifié.

Les données de cache du serveur sont conservées jusqu'à la fin de la session denavigation ou jusqu'à ce que le navigateur communique les données. Par exemple,les données sont communiquées si l'ID de la ressource est spécifié par le paramètre_rlid et si le paramètre _rlrq est défini sur true.

Une alternative à l'utilisation des paramètres _maxitems et _rsStart pour undéfilement en session est la création d'une propriété systèmemxe.rest.gestionnaire.ressource.pagesize à laquelle vous pouvez assigner unnombre de ressources par page de données. Vous pouvez alors utiliser le paramètrede requête _page dans la demande afin de sélectionner une page de donnéesspécifique. Par exemple, la page 3.

Par exemple, si vous créez la propriété système mxe.rest.mbo.asset.pagesize etque vous lui assignez la valeur 35, 35 actifs sont renvoyés à chaque page dedonnées.Concepts associés:«Paramètres _rsStart et _maxItems», à la page 253Les paramètres _rsStart et _maxItems sont utilisés simultanément pour contrôler lenombre d'enregistrements renvoyés pour une demande et pour permettre lapagination d'un volume important d'enregistrements.Référence associée:«Propriétés d'en-tête HTTP», à la page 268Plusieurs propriétés d'en-tête HTTP sont pertinentes pour l'interface de programmed'application REST.«Paramètres de requête REST», à la page 273A l'aide des paramètres de requête, vous pouvez adapter et filtrer les réponses.

Intégration de données à des applications externes 259

Page 268: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Mise en cache de demandes GETEn activant la mise en cache des demandes GET, vous pouvez améliorer le tempsde réponse des demandes de données de ressource qui étaient auparavantsoumises par le même utilisateur.

Lorsque la mise en cache est activée, les données sont récupérées dans le cache dunavigateur et non à partir d'objets métier sur le serveur. La mise en cache estutilisée pour une demande si la valeur de l'étiquette d'entité (ETag) de la demandecorrespond à la valeur de la demande précédente. La mise en cache est uniquepour chaque utilisateur et elle est contrôlée par la propriété d'en-tête HTTPCache-Control.

Activation de la mise en cache

Activez la mise en cache des ressources individuelles en créant des propriétéssystème. Les propriétés système doivent être au format suivant :mxe.rest.gestionnaire.ressource.cache, où gestionnaire est mbo ou os et ressource est lenom de l'objet métier ou de la structure d'objet. Les propriétés système doiventposséder une valeur booléenne de 1.

Par exemple, la propriété système mxe.rest.mbo.workorder.cache définie sur unevaleur de 1 active la mise en cache de l'objet métier d'intervention.

Calculs et comparaisons des étiquettes d'entité

Lorsqu'une demande initiale est faite pour une ressource et que la mise en cacheest activée pour cette ressource, l'infrastructure génère une valeur ETag pour laréponse de ressource. L'ETag est calculé sur base de l'attribut rowstamp du MBO,qui change à chaque fois qu'un MBO est modifié. Pour une collection deressources, l'ETag est calculé sur base d'un hachage de la collection des valeursrowstamp à partir des MBO de la collection.

Par exemple, la réponse contient l'en-tête HTTP suivant :HTTP/1.1 200 OKETag: "123456789"Cache-control: privateContent-Length: 12195

Cache-control est marqué comme private pour garantir que seul l'utilisateur encours peut réutiliser le contenu du cache.

Lorsque l'utilisateur répète une demande pour la même ressource ou collection, larequête ressemble à celle ci :GET maxrest/rest/mbo/po HTTP/1.1Host: x.yIf-None-Match: "123456789"

La valeur If-None-Match est la valeur ETag de la demande précédente.L'infrastructure lit la valeur de l'en-tête If-None-Match et la compare avec lanouvelle valeur ETag calculée pour les ressources ou la collection pour la secondedemande. Si les valeurs correspondent, le serveur répond par une erreur 304 enHTTP, signifiant que le contenu du cache client est non valide et inutilisable. Laréponse comprend les lignes suivantes :HTTP/1.1 304 Not Modified

260 Intégration de données à des applications externes

Page 269: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si la valeur ETag ne correspond pas à la valeur d'en-tête If-None-Match de lademande, la représentation de ressources est construite et envoyée au client avec lanouvelle valeur ETag que doit utiliser le client pour les prochaines demandes deressources ou de collection :HTTP/1.1 200 OKETag: "98999999"Cache-control: privateContent-Length: 50004

Mode de mise en cache pessimiste

Le mode de mise en cache par défaut est le mode de mise en cache pessimiste. Enmode de mise en cache pessimiste, les demandes sont sérialisées mais les donnéesne sont pas envoyées du serveur au client lorsque la valeur ETag de la demandecorrespond à la valeur de la demande précédente.

Mode de mise en cache optimiste

Vous pouvez activer la mise en cache optimiste en définissant la propriété systèmemxe.rest.gestionnaire.ressource.optimistic sur 1. En mode de mise en cacheoptimiste, la valeur ETag est calculée avant toute sérialisation de données. Bien quela mise en cache optimiste puisse améliorer significativement le temps de réponse(en raison de l'absence de sérialisation), elle nécessite plus de mémoire,particulièrement pour les requêtes qui interrogent de nombreux enregistrements.

Par défaut, la mise en cache optimiste détermine la valeur ETag à partir de l'objetracine d'une structure d'objet. Par conséquent, si une structure d'objet possède desobjets associés qui ne mettent pas à jour son objet racine, la valeur ETag peutmanquer de précision. Vous pouvez vous assurer que la valeur ETag estdéterminée à partir de tous les objets de la structure d'objet, y compris les objetsassociés, en définissant la propriété systèmemxe.rest.gestionnaire.ressource.deepetag sur 1. Toutefois, l'utilisation de cettepropriété système n'améliore pas significativement les performances mais requiertdavantage de mémoire.

Limites de temps de mise en cache

Vous pouvez configurer la durée de validité du cache en définissant la propriétésystème mxe.rest.gestionnaire.ressource.maxage sur une valeur mesurée ensecondes.Référence associée:«Propriétés d'en-tête HTTP», à la page 268Plusieurs propriétés d'en-tête HTTP sont pertinentes pour l'interface de programmed'application REST.«Propriétés système REST», à la page 277Les propriétés système sont disponibles pour configurer le mode defonctionnement de l'interface de programme d'application REST pour vos besoinsspécifiques.

Méthodes PUT, POST et DELETEVous pouvez modifier les ressources à l'aide des méthodes HTTP PUT, POST etDELETE.

Les méthodes PUT, POST et DELETE peuvent être utilisées pour modifier lesressources des objets métier et les ressources des structures d'objet. Toutefois, les

Intégration de données à des applications externes 261

Page 270: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

règles métier d'un objet peuvent l'empêcher d'être mis à jour par une demande del'interface de programme d'application RESTE. Par exemple, une demandeDELETE sur une ressource d'intervention peut échouer si les validations d'objetmétier empêchent la suppression en raison de l'état en cours de l'intervention.

Syntaxeméthode uri HTTP/1.1paramètre=valeur&paramètre=valeur&...

méthode est PUT, POST ou DELETE

uri est un identificateur URI et tout paramètre de requête associé

paramètre est un paramètre de la ressource mise à jour

valeur est la valeur du paramètre

Méthode PUTUtilisez la méthode PUT pour mettre à jour ou insérer une ressource. Unedemande de mise à jour doit fournir l'ID unique de la ressource. Pour mettre àjour une ressource de structure d'objet, l'ID de l'objet principal est requis.

Pour mettre à jour ou insérer une ressource de structure d'objet, vous pouvezspécifier le paramètre _action pour identifier les actions fournies parl'infrastructure d'intégration, telles que Change ou AddChange.

Exemple : mise à jour d'un actif

La méthode suivante met à jour l'actif avec l'ID 1234. La description d'actif estremplacée par my_new_description et le type est remplacé par OPERATING :PUT maxrest/rest/mbo/asset/1234 HTTP/1.1description=my_new_description&type=OPERATING

Exemple : mise à jour d'un objet enfant

La méthode suivante met à jour l'objet métier assetspec, qui est un enfant del'actif asset. La valeur est remplacée par new_value et la description est remplacéepar my_new_description :PUT maxrest/rest/mbo/assetspec/5678 HTTP/1.1value=my_new_value&description=my_new_description

Exemple : définition du contexte d'un objet parent

Pour insérer ou mettre à jour un objet métier enfant, vous devez éventuellementétablir le contexte de l'objet métier parent, comme dans l'exemple suivant danslequel une description de ligne de bon de commande est mise à jour et l'ID du bonde commande est fourni pour le contexte :PUT maxrest/rest/mbo/po/1234/poline/5678 HTTP/1.1description=my_new_description

Méthode POSTUtilisez la méthode POST pour mettre à jour ou insérer une ressource.

Pour mettre à jour une ressource, vous devez spécifier l'ID de la ressource. Pourcréer une ressource, spécifiez la clé principale et toutes les zones requises qui n'ontpas de valeur par défaut. Aucun ID n'est nécessaire.

262 Intégration de données à des applications externes

Page 271: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pour mettre à jour ou insérer une ressource de structure d'objet, vous pouvezspécifier le paramètre _action pour identifier les actions fournies parl'infrastructure d'intégration, telles que Change ou AddChange.

Pour mettre à jour ou insérer un objet enfant d'une ressource de structure d'objet,les données de formulaire doivent identifier chaque occurrence de l'objet enfant.

Lorsque vous utilisez la méthode POST pour créer une ressource, spécifiez leparamètre de requête _ulcr avec la valeur 1 de sorte que la réponse inclue un lienpermettant au client d'accéder à la ressource. Sinon, le contenu de la ressource estinclus dans la réponse. Le lien est inclus dans la propriété d'en-tête Location et lecode de réponse HTTP 201 est utilisé pour identifier qu'un lien est fourni à la placedes données.

Exemple : insertion d'un actif

La méthode suivante insère l'actif 127 dans le site BEDFORD à l'aide d'uneressource d'objet métier. L'actif et le site composent la clé principale.POST maxrest/rest/mbo/asset HTTP/1.1assetnum=127&siteid=BEDFORD&description=my_new_description&type=OPERATING

Exemple : mise à jour d'un actif en spécifiant son ID

La méthode suivante met à jour un actif en fournissant l'ID dans le cadre de l'URI :POST maxrest/rest/mbo/asset/1234 HTTP/1.1description=my_new_description&type=OPERATING

Exemple : spécification d'une action

La méthode suivante utilise le paramètre _action pour spécifier une action Change:POST maxrest/rest/mbo/asset/968 HTTP/1.1_action=Change&description=my_new_description

Exemple : mise à jour d'un enregistrement possédant plusieurs objetsenfant

La méthode suivante ajoute deux lignes de bon de commande à un bon decommande et chaque ligne possède deux coûts de bon de commande :

POST maxrest/rest/os/mxpo/1234 HTTP/1.1description=new_po_desc&poline.id1.polinenum=1&poline.id1.item=ABC&poline.id1.description=new_description&poline.id1.pocost.id1-1.costlinenum=1&poline.id1.pocost.id1-1.gldebitacct=new_gl_acct_a&poline.id1.pocost.id1-2.costlinenum=2&poline.id1.pocost.id1-2.gldebitacct=new_gl_acct_b&poline.id2.polinenum=2&poline.id2.item=XYZ&poline.id2.description=new_description&poline.id2.pocost.id2-1.costlinenum=1&poline.id2.pocost.id2-1.gldebitacct=new_gl_acct_c&poline.id2.pocost.id2-2.costlinenum=2&poline.id2.pocost.id2-2.gldebitacct=new_gl_acct_d&

Dans l'exemple suivant, les identificateurs identifient les paramètres suivants :

Identificateur degroupe Paramètres identifiés

id1 Paramètres appartenant à poline 1

id1-1 Paramètres appartenant à pocost 1 pour poline 1

id1-2 Paramètres appartenant à pocost 2 pour poline 1

id2 Paramètres appartenant à poline 2

Intégration de données à des applications externes 263

Page 272: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Identificateur degroupe Paramètres identifiés

id2-1 Paramètres appartenant à pocost 1 pour poline 2

id2-2 Paramètres appartenant à pocost 2 pour poline 2

Référence associée:«Propriétés d'en-tête HTTP», à la page 268Plusieurs propriétés d'en-tête HTTP sont pertinentes pour l'interface de programmed'application REST.

Méthode DELETELa méthode DELETE requiert l'ID unique de la ressource.

Pour supprimer une ressource de structure d'objet, l'ID de l'objet principal estrequis.

Exemple : suppression d'un actif

La méthode suivante supprime l'actif 1234 :DELETE maxrest/rest/mbo/asset/1234 HTTP/1.1

Mises à jour simultanées de ressourcesLe traitement peut être vérifié afin qu'une ressource soit mise à jour ou suppriméeuniquement si elle n'a pas été modifiée par un autre utilisateur ou par uneapplication après la requête initiale.

Si le paramètre _urs est défini sur la valeur 1, la réponse de requête inclut lavaleur rowstamp pour la ressource.

Exemple en XML :<PO rowstamp=1234567890>

Exemple en JSON :{"ASSET":{"rowstamp":"1234567890","Attributes":{"ASSETNUM":{"content":"1001"}

L'exemple en JSON au format compact :{"ASSET":{"rowstamp":"1234567890","ASSETNUM":"1001",

Pour une ressource de structure d'objet, une valeur rowstamp est fournie pourchaque objet de la structure d'objet.

Dans une demande ultérieure pour mettre à jour la ressource, la valeur rowstamppeut être fournie à l'aide du paramètre _rowstamp pour l'objet métier et lesressources de structure d'objet, ou en spécifiant la propriété d'en-tête If-Matchpour les objets métier.

Au cours du traitement, la valeur rowstamp est comparé au rowstamp initial. Si lesvaleurs ne correspondent pas, l'opération de mise à jour ou de suppression échoueet une code d'erreur 412 en HTTP est inclus dans la réponse.

Requêtes et mises à jour de méthode de serviceL'interface de programme d'application REST peut être utilisée pour appeler desméthodes exposées par des services d'application.

264 Intégration de données à des applications externes

Page 273: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Les méthodes exposées par des services d'application sont généralement marquéesavec l'annotation Java Specification Request (JSR) 181 @WebMethod, ce qui lesexpose comme des méthodes de service Web. L'interface de programmed'application REST fournit une vue orientée ressource dans ces méthodes deservice.

Les méthodes de service sont catégorisées de la manière suivante :v Méthodes qui créent, mettent à jour ou suppriment des ressources à l'aide de la

méthode HTTP POST et qui modifient ainsi l'état du système.v Méthodes qui extraient des ressources ou des collectes de ressources à l'aide de

la méthode HTTP GET et qui ne modifient pas l'état du système.v Méthodes qui renvoient des informations sur le système, telles que la date ou

des informations de version, à l'aide de la méthode HTTP GET et qui n'accèdentpas aux ressources.

Méthodes de service utilisant HTTP POST pour mettre à jour desressourcesDes méthodes peuvent créer, mettre à jour ou supprimer des ressources à l'aide dela méthode HTTP POST.

Les méthodes qui mettent à jour des ressources modifient l'état du système.

L'en-tête X-HTTP-Method-Override (XMO) qualifie la méthode HTTP POST.L'en-tête XMO contient le nom de la méthode qui est exposé par l'annotation JSR181.

L'infrastructure REST recherche le service qui possède la ressource, trouve laméthode qui est identifiée dans l'en-tête XMO, désérialise les paramètres de formePOST, appelle la méthode et renvoie la représentation sérialisée de la ressourcemodifiée.

Exemple : annotation d'une méthode

Par exemple, le service ASSET possède la méthode métier moveSingleAssetannotée :@WebMethodpublic void moveSingleAsset(@WSMboKey("ASSET") MboRemote asset, String newLocation,

String newSite, String newParent) throws MXException, RemoteException

La méthode déplace un actif de son emplacement en cours à un nouvelemplacement et modifie ainsi l'état du système. La demande suivante est utiliséepour appeler la méthode :POST maxrest/rest/mbo/asset/1234 HTTP/1.1x-http-method-override: "moveSingleAsset"

La demande de données de formulaire est la suivante :~asset=this&~newLocation=Some_where&~newSite=some_site&~newParent=Some_one

Lorsque la demande est effectuée, les événements suivants surviennent :1. L'objet métier d'actif avec l'identificateur 1234 est chargé.2. Le service propriétaire (ASSET) est recherché.3. La méthode nommée moveSingleAsset est trouvée.

Intégration de données à des applications externes 265

Page 274: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

4. L'actif asset figurant dans l'URI est référencé dans l'objet métier ASSET parl'annotation @WSMboKey et l'objet métier est fourni comme première valeur deparamètre dans la demande de données de formulaire.

5. Les valeurs restantes sont désérialisées et affectées, en fonction de leur nom.6. L'actif modifié 1234 est renvoyé au client dans la représentation demandée.

Exemple : remplacement d'un nom de paramètre de méthode

Les noms de paramètre de forme sont identiques aux noms de paramètre deméthode, avec le caractère ~ (tilde), à moins qu'ils ne soient annotés avec@WebParam(name="...") .

Par exemple, considérez un cas où la définition de méthode a un nom d'opérationdéfini dans l'annotation :@WebMethod(operationName="moveAssetLocation")public void moveSingleAsset(...)

Dans ce cas, la demande suivante est utilisée pour appeler la méthode :POST maxrest/rest/mbo/asset/1234 HTTP/1.1x-method-override: "moveAssetLocation"

La demande de données de formulaire est la suivante :~asset=this&~newLocation=Some_where&~newSite=some_site&~newParent=Some_one

La valeur d'en-tête XMO doit utiliser la valeur d'attribut spécifiée dans l'annotation@WebMethod : moveAssetLocation.

Méthodes de service utilisant HTTP GET pour interroger desressourcesUn nom de méthode ou un nom d'opération annotée commençant par le mot cléget est accessible à l'aide de la méthode HTTP GET.

Par exemple, la méthode suivante du service LOGGING renvoie la liste des objetsmétier MAXLOGGER tel un ensemble d'objets métier :@WebMethod@WSMboSet(name="MAXLOGGER")public MboSetRemote getLoggerList()

La demande suivante est utilisée pour appeler la méthode et renvoie la collected'objets métier dans la représentation configurée :GET maxrest/rest/mbo/maxlogger?_qop=getLoggerList HTTP/1.1

Dans la variation suivante de la méthode, un nom d'opération est fourni :@WebMethod(operationName=”getFilteredLoggers”)@WSMboSet(name="MAXLOGGER")public MboSetRemote getLoggerList(String someFilter)

La demande suivante est utilisée pour appeler la méthode :GET maxrest/rest/mbo/maxlogger?_qop=getFilteredLoggers&~someFilter=... HTTP/1.1

La valeur _qop spécifie le nom annoté. Le paramètre someFilter a pour préfixe lecaractère ~ dans le cadre de la demande.

266 Intégration de données à des applications externes

Page 275: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Méthodes virtuelles

Si un nom de méthode ne commence pas par le mot clé get, la méthode ne peutpas être appelée directement. Par exemple, si un client tente d'appeler l'opérationmoveSingleAsset à l'aide de HTTP GET, une erreur HTTP 405 est émise. Toutefois,vous pouvez définir une méthode virtuelle à l'aide d'une propriété système.

Par exemple, supposons que vous créez la propriétémxe.rest.mbo.maxqueue.action.getQueueData et que vous lui affectez la valeur_operation=viewQueue|~queueName=this.queuename.

Pour la ressource maxqueue, la méthode virtuelle getQueueData est mappée àl'opération viewQueue dans le service possédant maxqueue, qui est le service MIC.Le caractère | (barre verticale)sépare les attributs. Vous pouvez par conséquentaccéder à l'opération viewQueue à l'aide de l'appel HTTP GET suivant :GET /maxrest/rest/mbo/maxqueue/4567?_qop=getQueueData&~selector=...&~count=-1

Vous pouvez spécifier des valeurs littérales ou dérivées pour un paramètre deméthode.

Par exemple, la méthode viewQueue possède un paramètre queueName qui estattribué à l'attribut maxqueue.queuename. maxqueue est l'objet métier dans lecontexte en cours qui est spécifié par l'URI GET. Par conséquent, l'infrastructureévalue la valeur dérivée this.queuename commeobjet_métier_en_cours_en_contexte.queuename, qui est la valeur de l'attributqueuename de maxqueue identifié par l'ID unique 4567.

Dans un second exemple, supposons que vous créez la propriété systèmemxe.rest.mbo.po.action.approve et que vous lui affectez la valeur_operation=changeStatus|~status=APPR.

Une opération virtuelle nommée approve est créée et est mappée à l'opérationnommée changeStatus sur le bon de commande, qui est le service propriétaire del'objet métier du bon de commande. Pour plus de simplicité dans l'exemple, lavaleur du paramètre de statut est codée en dur sur APPR. La valeur codée en durne serait pas pratique car la valeur du paramètre de statut doit être traduisible.

Si vous utilisez des méthodes virtuelles, assurez-vous que les méthodes HTTP GETne sont pas mappées à des opérations qui modifient l'état du système ou ontd'autres effets secondaires.

Opération initiateWorkflow prédéfinie

L'opération initiateWorkflow prédéfinie initie un flux de travaux pour uneressource d'objet métier. Les deux exemples suivants utilisent cette opération :POST /maxrest/rest/mbo/po/6789 HTTP/1.1x-http-method-override: "initiateWorkflow"

wfname=SOMEWF

POST /maxrest/rest/mbo/po/6789?wfname=SOMEWF HTTP/1.1x-http-method-override: "initiateWorkflow"

La méthode initie la révision active d'un flux de travaux nommé SOMEWF pourl'objet métier de bon de commande qui possède l'ID unique 6789. Si le flux detravaux possède un noeud d'attente ou un noeud de tâche, il peut nécessiterd'autres étapes ou un événement en arrière-plan pour le redémarrer, qui est hors

Intégration de données à des applications externes 267

Page 276: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

de la portée de l'interface de programme d'application REST.

Méthodes de service utilisant HTTP GET pour interroger desdonnées systèmeCertaines exploitations de services récupèrent des données systèmes et ne sont pasorientées ressource.

Par exemple, la méthode HTTP GET suivante récupère la date et l'heure :GET /maxrest/rest/ss/system/getDate

Le XML suivant est renvoyé :<getDateResponse xmlns=....><résultat>some ISO 8601 date</result></getDateResponse>

Dans un autre exemple, la méthode HTTP GET suivante renvoie des informationsde version :GET /maxrest/rest/ssm/system/getMXServerVersion

Le XML suivant est renvoyé :<getMXServerVersionResponse xmlns=...><return>Tivoli’s process automation engine 7.5.0.0 Build 20110127-1121DB Build V7500-673</return><renvoi>...</return></getMXServerVersionResponse>

Pour obtenir une liste de tous les services que vous pouvez utiliser avec laméthode GET suivante :GET /maxrest/rest/ss

Vous pouvez ensuite explorer en aval chacun des services dans la liste pour obtenirune liste des opérations pouvant être appelées. Par exemple, la méthode suivanterenvoie les opérations pour le service nommé system:GET /maxrest/rest/ss/system

Propriétés d'en-tête HTTPPlusieurs propriétés d'en-tête HTTP sont pertinentes pour l'interface de programmed'application REST.

Tableau 35. Propriétés d'en-tête HTTP d'interface de programme d'application REST

Propriété Description

Accept Fourni par le demandeur et utilisé for pour la négociation decontenu afin de déterminer le format de réponse de la demande.

Accept-Language Fournit les données dans une langue qui est demandée. Cettepropriété s'applique uniquement à des zones d'application prenanten charge plusieurs langues. Les valeurs fournies (telles que EN ouFR) doivent être prises en charge par l'application.

Le paramètre de requête _lang peut fournir le code de langue et lamême capacité que la propriété d'en-tête Accept-Language.

Le paramètre de requête _locale active les nombres et les dates quisont renvoyés dans l'environnement local du demandeur.

268 Intégration de données à des applications externes

Page 277: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 35. Propriétés d'en-tête HTTP d'interface de programme d'application REST (suite)

Propriété Description

Cache-Control Indique au demandeur si la mise en cache est activée.

Si tel est le cas, la propriété Cache-Control a la valeur private pourgarantir que seul l'utilisateur en cours peut réutiliser le contenu ducache.

Lorsque la mise en cache n'est pas activée, la propriétéCache-Control a la valeur no-cache.

La demande du client peut contenir l'en-tête Cache-Control:no-cache pour désactiver la mise en cache pour une demandeparticulière, même si la mise en cache est activée pour la ressource.

Content-Length Contient la longueur de la réponse.

Content-Type Indique au demandeur le format de la représentation envoyée. Parexemple, la valeur application/xml (pour le format de réponseXML) ou application/json (pour le format de réponse JSON) peutêtre spécifiée.

ETag Si la mise en cache est activée, contient la valeur Etag pour laressource demandée. La valeur est contenue dans le cache dunavigateur du demandeur pour des demandes ultérieuresconcernant une même ressource.

If-None-Match Si la mise en cache est activée, contient la valeur Etag pour laressource demandée précédemment de sorte que l'interface deprogramme d'application puisse déterminer si le contenu du cachepeut être réutilisé.

Last-Modified Indique au demandeur la date et l'heure de la dernière modificationde la ressource.

Emplacement Contient le lien vers une ressource (code HTTP 201) créé par uneméthode HTTP POST.

_rlid Contient l'ID de la collecte de ressources et est utilisé pour ledéfilement en cours de session.

Concepts associés:«Mise en cache de demandes GET», à la page 260En activant la mise en cache des demandes GET, vous pouvez améliorer le tempsde réponse des demandes de données de ressource qui étaient auparavantsoumises par le même utilisateur.«Défilement en session», à la page 259La conservation d'une collection de ressources en mémoire peut améliorer lesperformances lors du défilement dans des pages de données.Référence associée:«Méthode GET», à la page 247Utilisez la méthode GET pour récupérer des ressources d'objet métier et destructure d'objet.«Paramètres de requête REST», à la page 273A l'aide des paramètres de requête, vous pouvez adapter et filtrer les réponses.«Méthode POST», à la page 262Utilisez la méthode POST pour mettre à jour ou insérer une ressource.«Propriétés système REST», à la page 277Les propriétés système sont disponibles pour configurer le mode defonctionnement de l'interface de programme d'application REST pour vos besoins

Intégration de données à des applications externes 269

Page 278: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

spécifiques.

Codes de réponseLes messages provenant des ressources REST sont propagés de l'instance deressource à la réponse.

Les codes de réponse HTTP suivants sont implémentés par l'interface deprogramme d'application REST.

Tableau 36. Codes de réponse HTTP

Code HTTP Raison

200 Succès.

201 Succès. La réponse contient un lien.

304 Succès. Les données sont récupérées à partir du cache.

400 La demande ne peut pas être reçue en raison d'un URI non valide, parexemple.

401 Une violation d'autorisation a eu lieu à cause de la configuration.

403 Une violation d'autorisation a eu lieu car la ressource est bloquée parune propriété système mxe.rest.type_ressource.blockaccess.

404 La ressource est introuvable ou un type de ressource non valide a étéfourni.

405 La méthode HTTP ne peut pas être utilisée pour la ressource. Parexemple, vous ne pouvez pas utiliser la méthode DELETE sur unensemble d'objets métier.

406 La représentation demandée n'est pas prise en charge.

412 La ressource est mise à jour par un autre utilisateur.

500 Toutes les autres erreurs.

Les messages prennent en charge les langues prises en charge par le moteurd'automatisation de processus Tivoli.

Sécurité dans l'interface de programme d'application RESTLe moteur d'automatisation de processus Tivoli fournit la prise en charged'autorisation et la couche d'authentification pour l'interface de programmed'application REST.

Aucun traitement spécifique associé à l'authentification n'a lieu dansl'infrastructure de l'interface de programme d'application REST.

La couche d'authentification peut fournir une authentification J2EE ou native pourl'interface de programme d'application REST et le serveur d'applications fournitune prise en charge HTTPS.

Authentification J2EE

Pour utiliser une authentification HTTP de base, modifiez le fichier web.xml pour lemodule Web maxrest en supprimant la mise en commentaire des lignes suivantes :<!--

<security-constraint><web-resource-collection>

<web-resource-name>REST Servlet for Web App</web-resource-name>

270 Intégration de données à des applications externes

Page 279: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<description>Object Structure Service Servlet (HTTP POST)accessible by authorized users</description>

<url-pattern>/rest/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method>

</web-resource-collection><auth-constraint>

<description>Roles that have access to Object StructureService Servlet (HTTP POST)</description>

<role-name>maximouser</role-name></auth-constraint><user-data-constraint>

<description>data transmission guarantee</description><transport-guarantee>NONE</transport-guarantee>

</user-data-constraint></security-constraint>

<login-config><auth-method>BASIC</auth-method><realm-name>REST Web Application Realm</realm-name>

</login-config>-->

La section <security-constraint> précédente fait référence à un rôle unique,maximouser, qui est défini dans la section <security-role> du fichier. Par défaut,la section <security-role> n'est pas mise en commentaire :<security-role><description>MAXIMO Application Users</description><role-name>maximouser</role-name></security-role>

De plus, remplacez la valeur 0 pour useAppServerSecurity par 1 :<description>Indicates whether to use Application Server

security or not</description><env-entry-name>useAppServerSecurity</env-entry-name><env-entry-type>java.lang.String</env-entry-type><env-entry-value>0</env-entry-value></env-entry>

Authentification native

Si l'authentification native est utilisée, une demande peut fournir les donnéesd'identification en spécifiant une propriété d'en-tête MAXAUTH contenant unutilisateur et un mot de passe encodés base64.

Si des demandes de connexion ou de déconnexion explicites sont nécessaires,utilisez les demandes suivantes :

GET /maxrest/rest/login

GET /maxrest/rest/logout

Communication intermodulaire

Vous pouvez communiquer avec l'interface de programme d'application REST àpartir des modules Web maximo et maxrest.

Dans une communication intermodulaire, vous souhaitez généralement que lesutilisateurs n'aient pas à resaisir leurs données d'identification. Si vous utilisezl'authentification de serveur d'application, ce problème ne survient pas car lenavigateur propage le jeton d'authentification vers les modules Web pour chaque

Intégration de données à des applications externes 271

Page 280: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

demande. Pour une authentification native, l'interface de programme d'applicationREST est disponible comme bibliothèque (commonweb) à laquelle n'importe quelmodule Web peut accéder.

Par exemple, l'URI suivant interroge un actif à l'aide du module Web maxrest :http://site.example.com:9999/maxrest/rest/mbo/asset/46.

Par contre, l'URI suivant interroge un actif à l'aide du module Web de l'interfaceutilisateur : http://site.example.com:9999/maximo/rest/mbo/asset/46.

Autorisation

Pour des structures d'objet, vous pouvez connecter une ressource à une applicationd'autorisation dans l'onglet Structure de l'objet de l'application Structures d'objet. Sivous spécifiez une application d'autorisation, tous les traitements d'intégration quiutilisent la structure d'objet sont affectés.

Pour des objets métier, vous pouvez connecter une ressource à une applicationd'autorisation dans la fenêtre Autorisation d'application pour les objets del'application Structures d'objet. L'application autorise toutes les demandes del'interface de programme d'application REST pour la ressource MBO spécifique.

Vous pouvez limiter l'accès aux ressources en spécifiant une liste des noms deressource dans les propriétés système mxe.rest.mbo.blockaccess etmxe.rest.os.blockaccess.Référence associée:«Propriétés système REST», à la page 277Les propriétés système sont disponibles pour configurer le mode defonctionnement de l'interface de programme d'application REST pour vos besoinsspécifiques.

Personnalisation de l'interface de programme d'applicationREST

L'interface de programme d'application REST peut être personnalisée afin deprendre en charge différentes représentations de ressources, comme les formatsXHTML ou Atom. Elle peut également être personnalisée par l'ajout d'attributspour la représentation d'une ressource d'objet métier ou en changeant la structurede la représentation.

Pour prendre en charge une nouvelle représentation de ressources, vous devezfournir des sérialiseurs personnalisés qui prennent en charge les nouveaux formats.

Si vous ajoutez des attributs, comme un attribut pour la ressource d'interventionMBO en représentation JSON, vous devez ajouter un sérialiseur JSON personnalisépour la ressource. Pour prendre en charge des paramètres de requêtesupplémentaire, vous devez étendre le gestionnaire du système d'exploitation ou leMBO.

Veillez à ce que les personnalisations n'affectent pas les processus métier ou lesutilisateurs existants. La création d'une instance distincte de l'interface deprogramme d'application REST pour les types de ressource vous permet d'éviterles retombées négatives.

Pour toute personnalisation les fichiers de classe doivent être inclus dans le fichierEAR d'application en tant que composant de la bibliothèque commonweb.

272 Intégration de données à des applications externes

Page 281: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exemple

Les étapes suivantes permettent de personnaliser l'interface de programmed'application REST :1. Créez une propriété système en copiant la propriété mxe.rest.handler.mbo, en

lui donnant le nom mxe.rest.handler.abcmbo, et en lui assignant la valeurcom.ibm.tivoli.maximo.rest.ABCMboResourceRequestHandler.Si la personnalisation est générique pour tous les MBO, les classespersonnalisées permettent d'étendre l'en-tête MBO de base. Le contexte del'identificateur URI est abcmbo, et, par conséquent, les adresses URL sont auformat suivant : /maxrest/rest/abcmbo/workorder?...Cette étape crée une instance de l'interface de programme d'application RESTpour la ressource MBO.

2. Pour gérer les paramètres de requête spécifiques aux MBO d'intervention,fournissez un gestionnaire personnalisé en créant la propriété systèmemxe.rest.handler.abcmbo.workorder et en lui assignant la valeurcom.ibm.tivoli.maximo.rest.WOMboResourceRequestHandler.La classe peut étendre le gestionnaire MBO par défaut à l'aide deABCMboResourceRequestHandler pour MboResourceRequestHandler, parexemple.

3. Pour personnaliser le sérialiseur JSON pour le MBO d'intervention, enregistrezle sérialiseur en créant la propriété systèmemxe.rest.serializer.abcmbo.workorder.json et en lui assignant la valeurcom.ibm.tivoli.maximo.rest.WOMboJSONSerializer.

4. Pour prendre en charge un nouveau format, comme Atom, ajoutez la valeuratom à la propriété système mxe.rest.supported.formats. Le nom atom identifiede manière unique le sérialiseur pour le format. Vous pouvez spécifiern'importe quel nom pourvu qu'aucun sérialiseur existant ne possède ce nom.

5. Ajoutez une classe de sérialiseur en créant la propriété systèmemxe.rest.serializer.abcmbo.atom et en lui assignant la valeurcom.ibm.tivoli.maximo.rest.MboATOMSerializer.

6. Pour identifier le nouveau format à l'aide de l'en-tête HTTP Accept, fournissezle mappage de type MIME en créant la propriété systèmemxe.rest.format.atom.mimetypes et en lui assignant la valeurapplication/atom+xml.

7. Définissez le format par défaut en assignant la valeur atom à la propriétésystème mxe.rest.abcmbo.defaultformat.

En suivant ces étapes, la personnalisation n'affecte pas les autres MBO ni lesgestionnaires de ressources du système d'exploitation, car il se trouve dans lecontexte d'un gestionnaire abcmbo.

Paramètres de requête RESTA l'aide des paramètres de requête, vous pouvez adapter et filtrer les réponses.

Vous pouvez spécifier un ou plusieurs des paramètres de requête suivants pourcontrôler les données sélectionnées. Les valeurs booléennes doivent être définiessur 1 pour true ou 0 pour false.

Intégration de données à des applications externes 273

Page 282: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 37. Paramètres de requête REST

Nom Type ou valeur DescriptionValeur pardéfaut

_compact Valeur booléenne Si true, les données JSON sont représentées dansune représentation compacte.

False

_dropnulls Valeur booléenne Si true, les attributs sont sérialisés uniquement sila ressource d'objet métier ou de structure d'objeta une valeur. Si false, tous les attributs sontsérialisés, même s'ils sont définis sur la valeurNULL.

True

_exactmatch Valeur booléenne Si true, les valeurs de paramètre sont évaluéespour une correspondance exacte. Si false, uneévaluation LIKE a lieu.

False

_excludecols Liste séparée par desvirgules des attributsMBO

Exclut les attributs répertoriés de la réponse deressource. Valide uniquement pour le type deressource d'objet métier.

_fd Spécifie un domaine de table d'application àappliquer en tant que filtre lorsque la requête estexécutée. Peut être utilisé avec les paramètres_fdorg et _fdsite.

_fdorg Spécifie un ID d'organisation à appliquer en tantque filtre lorsque la requête est exécutée. Doit êtreutilisé avec le paramètre _fd.

_fdsite Spécifie un ID de site à appliquer en tant quefiltre lorsque la requête est exécutée. Doit êtreutilisé avec le paramètre _fd.

_format json ou xml Spécifie la représentation de la réponse deressource.

xml

_generic Valeur booléenne Si true, les données de la zone de réponse deressource sont renvoyées dans un formatgénérique. S'applique aux données JSONuniquement.

False

_glc Valeur booléenne Si true, les données du composant Grand Livresont incluses pour toutes les zones d'applicationPlan comptable de l'objet métier.

Pour la plupart des zones Plan Comptable , lesdonnées de composant individuel sont incluses.Ce paramètre omet par défaut les données decomposant et peut par conséquent optimiser lesperformances.

False

_includecols Liste séparée par desvirgules des attributsMBO

Spécifie les attributs inclus dans le cadre de laréponse de ressource. Valide uniquement pour letype de ressource d'objet métier.

_keys Valeur booléenne Si true, seuls les attributs clés de l'objet métiersont sérialisés. Tous les autres attributs sontsupprimés de la réponse de ressource.

False

274 Intégration de données à des applications externes

Page 283: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 37. Paramètres de requête REST (suite)

Nom Type ou valeur DescriptionValeur pardéfaut

_lang Spécifie le code de langue du demandeur.

Si ce paramètre n'est pas spécifié, le paramètreaccept-language de l'en-tête HTTP est utilisé pourdéterminer la langue de préférence dudemandeur. Si l'en-tête HTTP ne spécifie pas leparamètre, la valeur de l'utilisateur d'intégrationpar défaut est utilisée.

_lid and _lpwd Spécifie un ID utilisateur et un mot de passe deconnexion. Utilisé uniquement pour desprocédures de développement et de test. Valideuniquement lorsque l'authentification native estconfigurée.

_locale Valeur booléenne Si true, la version texte spécifique àl'environnement local de la valeur d'attributd'objet métier est renvoyée en supplément de lavaleur fortement typée.

False

_maxItems Numérique Spécifie le nombre maximal d'objets métiersérialisés dans la collecte de ressources. Utilisez ceparamètre avec le paramètre _rsStart pourpaginer la réponse pour des collectes deressources volumineuses. Le nom de paramètreest sensible à la casse.

_md Valeur booléenne Si true, des informations de métadonnées, tellesque des valeurs requises, en lecture seule etmasquées sont renvoyées.

False

_opmodeor Valeur booléenne Si true, l'opérateur OR est appliqué entreplusieurs paramètres d'attribut. Si false,l'opérateur AND est appliqué.

False

_orderby Spécifie la manière dont les zones d'une ressourcesont ordonnées. La valeur peut être asc (croissant)ou desc (décroissant). Pour une ressource destructure d'objet, ce paramètre peut être utiliséuniquement pour les zones des objets métier setrouvant au premier ou au second niveau de lastructure d'objet.

_orderbyasc Liste séparée par desvirgules des attributsMBO

Spécifie les attributs utilisés pour la clause orderby dans un ordre croissant.

_orderbydesc Liste séparée par desvirgules des attributsMBO

Spécifie les attributs utilisés pour la clause orderby dans un ordre décroissant.

_page Spécifie le numéro de page que la requête doitrenvoyer. Ce paramètre peut être utiliséuniquement si une propriété système pagesize estcréée pour la ressource interrogée.

_qop Spécifie une méthode de requête pour l'opérationGET. Valide pour les ressources MBOuniquement.

Intégration de données à des applications externes 275

Page 284: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 37. Paramètres de requête REST (suite)

Nom Type ou valeur DescriptionValeur pardéfaut

_rcol.alias Spécifie une zone de nom de relation qui estrenvoyée dans le cadre de la réponse de requête.alias est est le nom d'alias de l'attribut associé.

En spécifiant ce paramètre, vous pouvezinterroger des zones associées à la ressource MBOinterrogée. Par exemple, dans le paramètre_rcol.polinecost=poline.linecost, polinecostest le nom d'alias et poline.linecost est l'attributassocié.

_retainmbos Valeur booléenne Utilisation en interne uniquement.

_rlid Valeur booléenne Spécifie l'ID d'une collecte de ressources. Ceparamètre est utilisé uniquement pour ledéfilement en cours de session.

_rlrq Valeur booléenne Si true, le cache est libéré pour la collecte deressources spécifiée par le paramètre _rlid.

False

_rootonly Valeur booléenne Si true, seul l'objet principal de la structure d'objetest sérialisé. Valide uniquement pour le type deressource de structure d'objet.

False

_rowstamp Pour des demandes de mise à jour, l'objet métierrowstamp peut être fourni pour s'assurer quel'objet mis à jour n'a pas été modifié depuis qu'ila été interrogé pour la première fois.

_rsStart Numérique Spécifie l'index de départ de l'attribut MBO dansla collecte de ressources qui est sérialisée par laréponse de ressource. Le nom de paramètre estsensible à la casse.

0

_tc Valeur booléenne Si true, le nombre total d'enregistrements estcalculé et est affecté à l'attribut rsTotal. Ce calculs'ajoute au temps de traitement, en fonction de lataille de la collecte de ressources.

False

_tz Spécifie le fuseau horaire de la demande. Utilisezce paramètre pour exécuter correctement desrequêtes associées à une date lorsque le fuseauhoraire de la demande est différent de celui del'application.

_ulcr Valeur booléenne Si true, une méthode POST renvoie un lien vers lanouvelle ressource dans la propriété Location del'en-tête HTTP.

False

_urs Valeur booléenne Si true, une réponse de requête inclut la valeurrowstamp pour la ressource.

_usc Valeur booléenne Si true, le défilement en cours de session estutilisé et la réponse HTTP inclut l'ID de la collectede ressources à l'aide de la propriété _rlid.

False

_uw Spécifie une clause SQL WHERE à utiliser commecritère de sélection. La clause doit être compatibleavec une clause fonctionnant dans des recherchesavancées d'applications. Utilisé avec la propriétésystème mxe.rest.whereclause.usepolicy.

276 Intégration de données à des applications externes

Page 285: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 37. Paramètres de requête REST (suite)

Nom Type ou valeur DescriptionValeur pardéfaut

_verbose Valeur booléenne Si true, la réponse de ressource pour lareprésentation JSON qui est renvoyée estformatée.

False

_vt Valeur booléenne Si true, le XML est validé pour les caractères XMLvalides. Si vous définissez ce paramètre sur false,aucune validation n'est exécutée et lesperformances peuvent par conséquent êtreoptimisées.

Si ce paramètre n'est pas spécifié, la propriétésystème mxe.int.validatexml détermine si leXML est validé.

True

Concepts associés:«Défilement en session», à la page 259La conservation d'une collection de ressources en mémoire peut améliorer lesperformances lors du défilement dans des pages de données.«Paramètres _format et _compact», à la page 256L'interface de programme d'application REST prend en charge les représentationsXML et JSON (formats). Vous pouvez utiliser le paramètre _format ou unenégociation de contenu pour spécifier une représentation de ressource. Vouspouvez utiliser le paramètre _compact pour spécifier un format JSON compact.«Paramètre _dropnulls», à la page 256Définissez le paramètre _dropnulls sur false pour inclure les zones dont la valeurest NULL dans la réponse de requête.«Paramètres _includecols et _excludecols», à la page 255Utilisez les paramètres _includecols et _excludecols pour contrôler le contenu desattributs renvoyés en réponse à une demande.«Paramètres _rsStart et _maxItems», à la page 253Les paramètres _rsStart et _maxItems sont utilisés simultanément pour contrôler lenombre d'enregistrements renvoyés pour une demande et pour permettre lapagination d'un volume important d'enregistrements.«Paramètre _opmodeor», à la page 252Utilisez le paramètre _opmodeor pour évaluer les zones multiples à l'aide d'unecondition OU entre les valeurs au lieu de la condition ET par défaut.«Paramètre _orderbyasc», à la page 254Le paramètre _orderbyasc contrôle l'ordre de tri des données renvoyées.Référence associée:«Propriétés d'en-tête HTTP», à la page 268Plusieurs propriétés d'en-tête HTTP sont pertinentes pour l'interface de programmed'application REST.«Propriétés système REST»Les propriétés système sont disponibles pour configurer le mode defonctionnement de l'interface de programme d'application REST pour vos besoinsspécifiques.

Propriétés système RESTLes propriétés système sont disponibles pour configurer le mode defonctionnement de l'interface de programme d'application REST pour vos besoinsspécifiques.

Intégration de données à des applications externes 277

Page 286: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriétés système prédéfinies

Utilisez les propriétés système suivantes pour configurer le mode defonctionnement de l'interface de programme d'application REST. Les propriétéscommencent toutes par mxe.rest, comme mxe.rest.format.json.mimetypes.

Tableau 38. Propriétés système REST prédéfinies

Nom mxe.rest.propriété Description Valeur par défaut

format.json.mimetypes Liste séparée par des virgules destypes MIME pris en charge pourJSON qui est incluse dans lapropriété d'en-tête HTTP Accept.La valeur est utilisée uniquementpour la négociation de contenu etest remplacée par les paramètresde requête qui spécifient unformat.

application/json

format.xml.mimetypes Liste séparée par des virgules destypes MIME pris en charge pourXML qui est incluse dans lapropriété d'en-tête HTTP Accept.La valeur est utilisée uniquementpour la négociation de contenu etest remplacée par les paramètresde requête spécifiant un format.

application/xml,text/xml

handler.mbo Fichier de classe de gestionnaire deressources pour des objets métier.

com.ibm.tivoli.maximo.rest.MboResourceRequestHandler

handler.os Fichier de classe de gestionnaire deressources pour des structuresd'objet.

com.ibm.tivoli.maximo.rest.OSResourceRequestHandler

handler.ss Fichier de classe de gestionnaire deservices standard prenant encharge l'accès à des donnéessystème.

com.ibm.tivoli.maximo.rest.MaxServiceResourceRequestHandler

mbo.blockaccess Liste séparée par des virgules desobjets métier auxquels l'interfacede programme d'application RESTne peut pas accéder. Cettepropriété remplace toute restrictiond'autorisation configurée.

mbo.defaultformat Représentation par défaut pourtous les objets métier. Cettepropriété est remplacée par lavaleur de l'en-tête Accept qui estutilisée dans la négociation decontenu et par les paramètres derequête qui spécifient unereprésentation.

xml

mbo.imglib.defaultformat Représentation par défaut RESTpour l'objet métier IMGLIB.

image

278 Intégration de données à des applications externes

Page 287: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 38. Propriétés système REST prédéfinies (suite)

Nom mxe.rest.propriété Description Valeur par défaut

os.blockaccess Liste séparée par des virgules desstructures d'objet auxquellesl'interface de programmed'application REST ne peut pasaccéder. Cette propriété remplacetoute restriction d'autorisationconfigurée.

os.defaultformat Représentation par défaut pourtoutes les structures d'objet. Cettepropriété est remplacée par lavaleur de la propriété d'en-têteAccept qui est utilisée dans lanégociation de contenu et par lesparamètres de requête quispécifient une représentation.

xml

serializer.mbo.imglib.image Classe de sérialiseur pour l'objetmétier IMGLIB au format image.

com.ibm.tivoli.maximo.rest.ImageLibSerializer

serializer.mbo.json Classe de sérialiseur pour lesobjets métier au format JSON.

com.ibm.tivoli.maximo.rest.MboJSONSerializer

serializer.mbo.xml Classe de sérialiseur pour lesobjets métier au format XML.

com.ibm.tivoli.maximo.rest.MboXMLSerializer

serializer.os.json Classe de sérialiseur pour lesstructures d'objet au format JSON.

com.ibm.tivoli.maximo.rest.OSJSONSerializer

serializer.os.xml Classe de sérialiseur pour lesstructures d'objet au format XML.

com.ibm.tivoli.maximo.rest.OSXMLSerializer

serializer.ss.json Classe de sérialiseur pour lesdonnées de système de servicesstandard au format JSON.

com.ibm.tivoli.maximo.rest.ServiceMethodResponseJSONSerializer

serializer.ss.xml Classe de sérialiseur pour lesdonnées de système de servicesstandard au format XML.

com.ibm.tivoli.maximo.rest.ServiceMethodResponseXMLSerializer

ss.defaultformat Représentation par défaut pourtoutes les données de système deservices standard. Cette propriétéest remplacée par la valeur de lapropriété d'en-tête Accept qui estutilisée dans la négociation decontenu et par les paramètres derequête qui spécifient unereprésentation.

xml

supportedformats Liste des représentations prises encharge.

xml,json,image

webappurl URL de l'application Webd'authentification par jeton. Cettepropriété est destinée à un usageinterne uniquement.

Intégration de données à des applications externes 279

Page 288: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 38. Propriétés système REST prédéfinies (suite)

Nom mxe.rest.propriété Description Valeur par défaut

whereclause.usepolicy Spécifie le mode d'utilisation duparamètre de requête _uw. Si lavaleur est parse, la clause SQLWHERE est inspectée pour éviterles scripts intersites et les attaquesd'injection SQL. Si la valeur estnoparse, la clause n'est pasinspectée. S'il s'agit d'une autrevaleur, la clause WHERE estignorée.

parse

Propriétés système facultatives pour la mise en cache

Vous pouvez créer les propriétés suivantes pour configurer la mise en cache dansl'interface de programme d'application REST. Les propriétés doivent toutescommencer par mxe.rest, comme mxe.rest.mbo.wo.cache

Tableau 39. Propriétés système REST facultatives pour la mise en cache

Nom mxe.rest.propriété Type Description Exemples

gestionnaire.ressource.cache Valeurbooléenne

Active la mise en cachepessimiste pour le gestionnaireet la ressource spécifiés.

Valeur false par défaut.

mxe.rest.mbo.wo.cache définisur 1

mxe.rest.os.mxwo.cache définisur 1

gestionnaire.ressource.deepetag Valeurbooléenne

Si la mise en cache optimiste estactivée, indique que tous lesobjets de la structure d'objetsont évalués à la place de l'objetracine.

Valeur false par défaut.

gestionnaire.ressource.optimistic Valeurbooléenne

Active la mise en cacheoptimiste pour le gestionnaire etla ressource spécifiés. S'appliqueaux collectes d'une ou deplusieurs ressources.

Pour une structure d'objet, seull'objet métier principal estévalué pour un changementd'état. Les objets métier enfantne sont pas évalués. Lesattributs non permanents d'unobjet métier sont exclus desévaluations pour leschangements d'état.

Si vous activez la mise en cacheoptimiste, vous pouvezégalement spécifier la propriétésystèmegestionnaire.ressource.deepetag.

Valeur false par défaut.

mxe.rest.mbo.wo.optimisticdéfini sur 1

mxe.rest.os.mxwo.optimisticdéfini sur 1

280 Intégration de données à des applications externes

Page 289: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 39. Propriétés système REST facultatives pour la mise en cache (suite)

Nom mxe.rest.propriété Type Description Exemples

gestionnaire.ressource.maxage Entier, ensecondes

Indique la durée totale, ensecondes, de conservation d'unecollecte de ressources dans lecache.

mxe.rest.mbo.wo.maxage définisur 60

mxe.rest.os.mxwo.maxage définisur 60

Concepts associés:«Mise en cache de demandes GET», à la page 260En activant la mise en cache des demandes GET, vous pouvez améliorer le tempsde réponse des demandes de données de ressource qui étaient auparavantsoumises par le même utilisateur.«Représentations prises en charge», à la page 246L'interface de programme d'application REST prend en charge les représentationsXML et JSON. Les représentations sont prises en charge par l'implémentation declasses de sérialiseurs qui sont enregistrées dans les propriétés système.Référence associée:«Paramètres de requête REST», à la page 273A l'aide des paramètres de requête, vous pouvez adapter et filtrer les réponses.«Propriétés d'en-tête HTTP», à la page 268Plusieurs propriétés d'en-tête HTTP sont pertinentes pour l'interface de programmed'application REST.

Appels de service externeLes interfaces de programme d'application REST externes peuvent être appelées àl'aide d'un point de terminaison HTTP configuré.

Le gestionnaire HTTP qui prend en charge tous les points de terminaison HTTPpermet l'utilisation des services basés sur REST utilisant une charge XML ainsi queles méthodes POST et GET. Le point de terminaison peut être configuré pourenvoyer des messages par un canal de publication ou un canal d'appel.

intégration OSLCMaximo Integration Framework prend en charge le partage des données de cyclede vie entre les applications basées sur l'intégration OSLC (Open Services forLifecycle Collaboration). L'intégration OSLC permet à une application clientd'effectuer des opérations de création, demande, mise à jour et suppression sur lesressources de données qu'une application fournisseur met à disposition pourl'intégration via un fournisseur de services OSLC.

Une application fournisseur OSLC rend des conteneurs de ressources de donnéesassociées disponibles pour l'intégration via des fournisseurs de services. Lesapplications client utilisent ensuite ces fournisseurs de services pour interroger lesressources et créer, mettre à jour ou supprimer des données de ressources. Lafigure suivante représente les interactions classiques d'une intégration OSLC.L'application client envoie une requête au fournisseur de services pour desdonnées de ressource. En réponse, le fournisseur de services fournit un lien versles données de ressource. L'application client utilise le lien pour créer, mettre à jourou supprimer des données de ressource.

Intégration de données à des applications externes 281

Page 290: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Fournisseurde services

Applicationfournisseur OSLC

Interaction de requête

Liens de ressource

Applicationclient OSLC

Interaction de création

Lien de ressource renvoyé

L'application client utilise le lien de ressourcepour mettre à jour ou supprimer une ressource

Lien de ressource renvoyé

Donnéesde ressource

Information associée:

Communauté Open Services for Lifecycle Collaboration

OSLC sur le réseau de normes ouvertes OASIS

Communauté de la plateforme OSLC (IBM)

OSLC - Implémentation dans Maximo Asset ManagementLes spécifications OSLC pour la représentation et l'échange de données liées entredes applications sont gérées et développées par le consortium OASIS. MaximoAsset Management prend en charge la version 2.0 de la spécification coeur OSLCque vous pouvez activer et étendre avec Maximo Integration Framework.

Les spécifications OSLC définissent la façon dont les applications de cycle de viereprésentent, se lient à et accèdent aux ressources en fonction de normes liées auxdonnées et Internet établies incluant l'architecture REST (Representational StateTransfer), les spécifications RDF (Resource Description Framework) et desméthodes HTTP (Hyper-Text Transfer Protocol). Les spécifications sont conçuespour être minimes par nature afin de traiter les cas d'utilisation d'intégrationcourants, et des intégrateurs peuvent étendre ces spécifications ou en ajouter denouvelles pour répondre à des scénarios d'intégration spécifiques.

Maximo Asset Management est configuré en tant que fournisseur OSLC avec lescomposants suivants :v Dans l'application Ressources OSLC, vous configurez les ressources de données

à des fins d'intégration. Chaque ressource OSLC est basée sur une structured'objet qui spécifie l'objet métier principal, ainsi que tous les objets métier enfantassociés pouvant être intégrés.

v Les ressources OSLC sont générées en tant que document de mise en formedécrivant les objets de ressource au format RDF/XML. Un document de mise enforme indique les caractéristiques requises d'une ressource et peut égalementdécrire de nombreux aspects de l'objet ressource, y compris ses dépendances,attributs et propriétés. Un document de mise en forme de ressource peut incluredes liens vers les documents de mise en forme d'objets enfant de la ressource.

v Les ressources sont regroupées par domaine fonctionnel. Les regroupementsfonctionnels peuvent être basés sur les spécifications de domaine existantes quisont développées et gérées par le groupe OSLC OASIS. Des intégrateurs

282 Intégration de données à des applications externes

Page 291: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

permettent d'étendre ces spécifications de domaine existantes ou de créer desspécifications de domaine supplémentaires pour prendre en charge des besoinsmétier.

v Les ressources d'un domaine sont mises à disposition des consommateurs OSLCvia des fournisseurs de services.

v Un fournisseur de services unique est pris en charge pour chaque domaine. Lesfournisseurs de services prennent en charge la fabrique de création OSLC et lesopérations de fonction de requête qui fournissent aux consommateurs OSLCl'URI permettant de créer ou de rechercher des ressources prises en charge.

v L'infrastructure de sécurité prend en charge l'authentification et l'autorisationpour des services OSLC. L'authentification native de Maximo Asset Managementet l'authentification J2EE sont prises en charge. Le contrôle d'autorisation estfourni par la structure d'objet d'une ressource et une autorisation de niveauapplication basée utilisateur est appliquée.

Un consommateur OSLC utilise les méthodes HTTP et les informations d'en-têtesuivantes pour interagir avec le fournisseur OSLC :v Envoie une demande GET pour effectuer une connexion si une connexion

explicite est nécessaire, et inclut une propriété d'autorisation dans l'en-tête HTTPsi une authentification native est utilisée. Si une déconnexion est nécessaire, unedemande GET est également utilisée.

v Envoie des demandes GET incluant des paramètres de requête OSLC à unanalyse de fournisseur de services pour interroger des ressources OSLC.

v Envoie une demande POST pour créer une instance d'une ressource OSLC. Lademande inclut un document JSON qui se conforme au document de mise enforme publié pour la ressource OSLC. Lorsque l'instance de ressource est créée,le fournisseur OSLC envoie une réponse HTTP qui inclut l'identificateur URI dela nouvelle ressource.

v Envoie une demande PUT ou PATCH pour mettre à jour une ressource OSLC.Une demande PUT met à jour la totalité de la ressource. Une demande PATCHmet à jour une partie de la ressource.

v Utilise des balises entité (ETag) dans des en-têtes HTTP pour garantir qu'uneentité de ressource est à jour et peut combiner des balises ETag avec des en-têtesIf-Match dans des demandes PUT et PATCH afin d'activer des mises à jourconditionnelles.

v Peut demander la pagination stable dans des demandes GET pour desressources de collection afin que la réponse redirige l'application client vers unURI où plusieurs pages sont chargées. Dans le cadre des ressources de collection,les performances sont améliorées, car le consommateur OSLC peut charger despages stables sans accéder à la base de données pour chaque page.

OSLC - ConfigurationLa configuration de Maximo Asset Management en tant que fournisseur OSLCimplique la spécification de ressources au sein des domaines, la mise à dispositionde fournisseurs de services pour ces domaines, la configuration de la sécurité ainsique la configuration de la consignation pour la collecte d'informations à des finsd'identification et de résolution des problèmes.

Spécification de ressources OSLCLes ressources OSLC sont basées sur des structures d'objet d'intégration qui sontconfigurées pour être utilisées par OSLC. Chaque structure d'objet contient l'objetmétier principal, ainsi que tous les objets métier enfant utilisés par une application.

Intégration de données à des applications externes 283

Page 292: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Les attributs des objets de la structure d'objet sont mappés aux types et prédicatsRDF de la ressource et spécifient les espaces de noms des types de ressource.

Chaque type de ressource OSLC possède des propriétés qui sont des prédicats RDFpouvant appartenir à une spécification de vocabulaire qui correspond à l'espace denom des propriétés. Les attributs peuvent être mappés aux propriétés définies dansles spécifications de vocabulaire telles que l'initiative Dublin Core MetadataInitiative.

Chaque ressource possède un nom, une structure d'objet associée consommée parOSLC, et l'URI d'espace de nom par défaut pour la ressource. Pour chaque attributà intégrer, vous pouvez soit utiliser les valeurs RDF par défaut, soit saisir vospropres valeurs :v Les valeurs de type et d'espace de nom servent de type RDF pour la ressource.v Les valeurs de nom et d'espace de nom servent de prédicat RDF pour la

ressource.

Un document de mise en forme est un document RDF/XML qui décrit uneressource, y compris l'ensemble de ses propriétés, attributs et dépendances. DansOSLC, un document de mise en forme offre un moyen électronique de voir à quoiressemble une ressource ainsi que l'ensemble de ses dépendances, attributs etpropriétés. Par exemple, un document de mise en forme pour une interventioninclut des propriétés qui décrivent les ressources de support telles que les actifs, lestâches, la main-d'oeuvre et le journal de travaux. Les documents de mise en formepeuvent couvrir toute une variété de zones, comme les actifs, sociétés, bons decommande ou interventions. Un document de mise en forme indique également leséléments requis. Un document de mise en forme de ressource peut inclure desliens vers les documents de mise en forme d'objets enfant.

Exemple : Document de mise en forme de ressource d'intervention

Un document de mise en forme de ressource d'intervention répertorie toutes lespropriétés, tous les attributs et toutes les dépendances d'une intervention. Le codesuivant montre un extrait de document de mise en forme d'intervention appeléoslcwodetail. Trois propriétés sont incluses dans cette portion du document, maiscelui-ci peut en comporter bien plus. Les trois propriétés de cette partie dudocument de mise en forme représentent trois types de noeud figurant dans desdocuments RDF. La première propriété, genforporevision, est un noeud local. Ladeuxième propriété, multiassetlocci, est un noeud vide ce qui signifie qu'aucunURI ou littéral n'est répertorié pour cette propriété dans le document RDF. Latroisième propriété, actif, est un noeud URI.<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:oslc="http://open-services.net/ns/core#"xmlns:dcterms="http://purl.org/dc/terms/>"

<oslc:ResourceShape rdf:about="http://host/maximo/oslc/shapes/oslcwodetail"><oslc:describes rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_

infrastructure#WorkOrder"/><oslc:property><oslc:Property>

<oslc:name>genforporevision</oslc:name><oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one"/><oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_

infrastructure#genforporevision"/><oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/><dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">

PO Revision</dcterms:title></oslc:Property>

</oslc:property><oslc:property>

<oslc:Property><oslc:name>multiassetlocci</oslc:name><oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many"/><oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_

284 Intégration de données à des applications externes

Page 293: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

infrastructure#multiassetlocci"/><oslc:valueType rdf:resource="http://open-services.net/ns/core#LocalResource"/><oslc:representation rdf:resource="http://open-services.net/ns/core#Inline"/><oslc:valueShape rdf:resource="http://host/maximo/oslc/shapes/oslcwodetail/multiassetlocci"/><oslc:range rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_

infrastructure#MultuAssetLocationCI"/></oslc:Property>

</oslc:property><oslc:property>

<oslc:Property><oslc:name>asset</oslc:name><oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one"/><oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_

infrastructure#asset"/><oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource"/><oslc:representation rdf:resource="http://open-services.net/ns/core#Reference"/><oslc:valueShape rdf:resource="http://host/maximo/oslc/shapes/oslcasset"/><oslc:range rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#asset"/><dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">

Asset</dcterms:title></oslc:Property>

</oslc:property>

Fournisseurs de services de domaineLes ressources OSLC sont activées au sein d'un domaine et sont disponibles pourles consommateurs OSLC via le fournisseur de services OSLC du domaine. Unfournisseur de services unique pour chaque domaine est pris en charge.

Dans Maximo Asset Management, vous pouvez découvrir les fournisseurs deservices disponibles en entrant l'URI http:/hôte:port/maximo/oslc/sp dans unnavigateur. La réponse inclut l'URI du document du fournisseur de services pourchaque domaine configuré pour l'intégration OSLC.

L'URI du document du fournisseur de services pour le domaine de gestion destravaux, par exemple, est http://hôte:port/maximo/oslc/sp/WorkManagment. Ledocument de fournisseur de services est au format RDF/XML et décrit lesressources disponibles et les mappages d'espaces de nom, requêtes sauvegardées,ainsi que les opérations prises en charge pour les ressources. Un consommateurOSLC peut utiliser le document de fournisseur de services pour déterminer lesressources disponibles et les services pris en charge, notamment le service derequête ou de création. L'implémentation prend en charge les opérations decréation, de demande, de mise à jour et de suppression au niveau des donnéesmais les ressources dans les scénarios d'interface utilisateur déléguée ne sont pasprises en charge.

Dans l'exemple de réponse suivant, il est fait référence au fournisseur de servicesOSLC à partir de la propriété rdfs:member. Le document de fournisseur de servicesrelatif au domaine montre l'URI pour la gestion des travaux :<rdfs:member rdf:resource="http://host/maximo/oslc/sp/WorkManagement">

<rdf:RDF><rdf:Description rdf:about="http://host/maximo/oslc/sp"><rdfs:member rdf:resource="http://host/maximo/oslc/sp/WorkManagement"></rdf:Description></rdf:RDF>

Espaces de noms

OSLC définit des espaces de nom commun. La propriété prefixDefinition exposetous les mappages de préfixe vers espace de nom utilisés par le fournisseur pourdécrire les ressources qu'il gère. Le tableau suivant fournit un échantillon desespaces de noms disponibles :

Préfixe Espace de nom

rdf http://www.w3.org/1999/02/22-rdf-syntax-ns#

Intégration de données à des applications externes 285

Page 294: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Préfixe Espace de nom

oslc http://open-services.net/ns/core#

dcterms http://purl.org/dc/terms/

asset http://open-services.net/ns/asset#

foaf http://xmlns.com/foaf/0.1/

rdfs http://www.w3.org/2000/01/rdf-schema#

rr http://jazz.net/ns/ism/registry#

spi http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#

L'extrait suivant de la section de service du document de fournisseur de servicesprésente les espaces de nom OSLC et RDF :<oslc:ServiceProvider rdf:about="http://host:7001/maximo/oslc/sp/WorkManagement"><oslc:prefixDefinition><oslc:PrefixDefinition><oslc:prefixBase rdf:resource="http://open-services.net/ns/core#"/><oslc:prefix>oslc</oslc:prefix>

</oslc:PrefixDefinition></oslc:prefixDefinition>

<oslc:prefixDefinition><oslc:PrefixDefinition><oslc:prefixBase rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/><oslc:prefix>rdf</oslc:prefix>

</oslc:PrefixDefinition></oslc:prefixDefinition>

Le tableau suivant montre un exemple de mappage pour une intervention quiutilise des espaces de nom communs :

Préfixe OSLC Préfixe existant

oslc:shortTitle wonum

dcterms:title description

dcterms:description description_longdescription

dcterms:creator reportedby

dcterms:created reportdate

dcterms:identifier workorderid

Le tableau suivant présente les mappages pour l'objet de personne auquel faitréférence dcterms:creator dans l'intervention.

Préfixe OSLC Préfixe existant

foaf:name displayname

foaf:givenName firstname

foaf:familyName lastname

Opérations de fabrique de création et de requête

Un fournisseur de services OSLC prend en charge la fabrique de création et lesopérations de fonction de requête pour la ressource disponibles dans le documentde fournisseur de service. Une fabrique de création fournit l'URI de créationoslc:creation que vous utilisez pour créer des ressources avec une demande HTTPPOST. L'URI de requête oslc:queryBase permet de sélectionner une collection de

286 Intégration de données à des applications externes

Page 295: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ressources gérée par le fournisseur de services. Lorsque la ressource est obtenue,via une requête ou une création, la ressource peut être mise à jour ou supprimée.

Si la ressource prend en charge la création il peut y avoir une seule opération defabrique de création. L'extrait suivant d'un document de fournisseur de servicesmontre l'opération de fabrique de création, l'URI de la mise en forme de ressourceet l'URI de l'opération de ressource de création qui crée la mise en forme.<oslc:creationFactory><oslc:CreationFactory><oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work

/smarter_physical_infrastructure#WorkOrder"/><oslc:resourceShape rdf:resource="http://host:port/maximo/oslc/shapes/oslcwodetail"/><oslc:creation rdf:resource="http://host:port/maximo/oslc/os/oslcwodetail"/><oslc:label>Create WorkOrder</oslc:label><dcterms:title>OSLC creation factory for WorkOrder</dcterms:title>

</oslc:CreationFactory></oslc:creationFactory>

......

L'URI de requête est oslc:queryBase, et l'exemple suivant montre une recherched'intervention à l'aide de la demande suivante :<oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail"/>

<oslc:queryCapability><oslc:QueryCapability><oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_

infrastructure#WorkOrder"/><oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail"/><oslc:labelQuery> WorkOrder</oslc:label><dcterms:title>OSLC query capability for WorkOrder</dcterms:title>

</oslc:QueryCapability></oslc:queryCapability>

Requêtes sauvegardéesLorsqu'une ressource OSLC est définie en fonction d'une structure d'objet quiréférence une application, toutes les requêtes publiques sauvegardées depuisl'application sont rendues disponibles via le fournisseur de services. Les requêtessont exposées en tant que fonctions de requête OSLC dans le document dufournisseur de services de cette ressource OSLC.

Il est éventuellement possible de connecter des structures d'objet à une application.Lorsqu'une structure d'objet est connectée à une application, elle fournit uneautorisation de sécurité ainsi que toutes les requêtes publiques sauvegardées, à laressource qui est associée à la structure d'objet. Vous pouvez créer des requêtespersonnalisées dans l'application et les rendre publiques. Celles-ci sont ensuitedisponibles lorsque vous effectuez une requête sur la ressource. Pour exécuter unerequête sauvegardée sur une ressource, vous pouvez exécuter une requêtesauvegardée, effectuer une demande HTTP GET sur l'URI de base de requêtefournie dans la fonction de requête pour la requête sauvegardée. La liste desressources OSLC correspondant à la requête sauvegardée est renvoyée.

Chaque propriété de requête expose un URI appelé oslc:queryBase qui permet à unclient de rechercher les ressources gérées par le fournisseur de services. Chaquefonction de requête prend en charge un seul type de ressource appeléoslc:resourceType. La spécification OSLC permet à une fonction de requête deprendre en charge plusieurs types de ressource. La fonction de requête affiche laliste de toutes les requêtes sauvegardées publiques pour l'application enregistréeavec la structure d'objet qui implémente la ressource OSLC. S'il n'y a pas derequêtes sauvegardées non publiques pour l'application enregistrée ou si aucuneapplication n'a été enregistrée, une seule fonction de requête fournit l'URI decollection de requête générique. Il y a toujours au moins une fonction de requêtepour chaque type de ressource pris en charge par le fournisseur de services.

Intégration de données à des applications externes 287

Page 296: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exemple : Requêtes enregistrées dans l'application Intervention

Vous pouvez créer une requête dans l'application Intervention pour rechercher lesinterventions dont vous êtes propriétaire. Rendez la requête publique pour qu'elleapparaisse dans le document de fournisseur de services sous la formesavedQuery=OWNER+IS+ME. La structure d'objet de niveau supérieur OSLC doitégalement être intervention.<oslc:service>

<oslc:Service><oslc:queryCapability><oslc:QueryCapability><oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_

infrastructure#WorkOrder"/><oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail?

savedQuery=OWNER+IS+ME"/><oslc:label>Query OWNER IS ME</oslc:label><dcterms:title>OSLC query capability for My Work Orders</dcterms:title>

</oslc:QueryCapability></oslc:queryCapability><oslc:queryCapability><oslc:QueryCapability><oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_

infrastructure#WorkOrder"/><oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail"/><oslc:label>Query WorkOrder</oslc:label><dcterms:title>OSLC query capability for WorkOrder</dcterms:title>

</oslc:QueryCapability></oslc:queryCapability>......

Sécurité OSLCLa prise en charge de l'authentification et de l'autorisation pour les services OSLCest fournie par l'infrastructure de sécurité Maximo Asset Management.L'authentification J2EE, telle que LDAP, est prise en charge via le serveurd'applications. Le serveur d'applications fournit également la prise en charge deHTTPS.

Authentification native de Maximo Asset Management

La demande client peut fournir les valeurs user:password codées en base64 etfigurant dans la propriété d'en-tête MAXAUTH HTTP.

Authentification J2EE

Pour configurer l'authentification J2EE, modifiez le fichier web.xml, définissez lescontraintes de sécurité et définissez la propriété useAppServerSecurity sur true.

Modifiez le fichier web.xml pour le module Web maximouiweb en supprimant lamise en commentaire des lignes suivantes :<!--<servlet><display-name>OSLC Servlet for Web App</display-name><servlet-name>OSLCServlet</servlet-name><servlet-class>

com.ibm.tivoli.maximo.oslc.provider.MaximoOslcProviderServlet</servlet-class><init-param><param-name>char_encoding</param-name><param-value>UTF-8</param-value></init-param></servlet>-->

288 Intégration de données à des applications externes

Page 297: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<!--servlet-mapping><servlet-name>OSLCServlet</servlet-name><url-pattern>/oslc/*</url-pattern></servlet-mapping

Pour configurer les contraintes de sécurité, entrez le code suivant pour<web-resource-collection>:<web-resource-collection><web-resource-name>OSLC Servlet</web-resource-name><description>

OSLC Object Structure Servlet accessible by authorized users</description><url-pattern>/oslc/*</url-pattern><http-method>GET</http-method><http-method>POST</http-method><http-method>PUT</http-method><http-method>HEAD</http-method></web-resource-collection>

La propriété useAppServerSecurity doit être définie sur true :<env-entry><description>

Indicates whether to use Application Server security or not</description><env-entry-nameuseAppServerSecurity</env-entry-name><env-entry-typejava.lang.String</env-entry-type><env-entry-valuefalse</env-entry-value></env-entry>

Connexion et déconnexion explicites

Si l'application client doit exécuter des commandes de connexion explicites, utilisezla demande suivante :GET /maximo/oslc/login

Si vous utilisez l'authentification native vous devez ajouter la propriété d'en-têteMAXAUTH HTTP à la demande de connexion. Si l'application client doit exécuterdes commandes de déconnexion explicites, utilisez la demande suivante :GET /maximo/oslc/logout

Autorisation

Le contrôle d'autorisation est fourni au niveau structure d'objet de la ressource.Vous associez la structure d'objet à une application dans l'application Structured'objet. Le traitement de la sécurité des données de ressource est alors basé sur laconfiguration de la sécurité de l'application et le groupe d'utilisateurs auquelappartient l'utilisateur à l'origine de la demande HTTP. Lorsque des ressourcesOSLC sont traitées, tout attribut d'objet configuré comme masqué via la sécuritén'est pas inclus dans la réponse à une demande OSLC.

Connexion OSLCLa corrélation de journalisation permet d'enregistrer des informations lorsque desressources OSLC sont créées ou mises à jour. Les informations consignées incluentle temps de réponse total et la taille de la ressource en octets. Elles peuvent êtreutilisées pour l'analyse des performances. Vous pouvez, par exemple, utiliser lesinformations de journalisation pour analyser les temps de réponse.

Pour activer la corrélation de journalisation afin que les informations soientenregistrées pendant les demandes GET, POST et PUT, accédez à Configuration

Intégration de données à des applications externes 289

Page 298: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

système > Configuration de la plateforme > Propriétés système et vérifiez que lapropriété mxe.logging.CorrelationEnabled est définie sur 1.

Le tableau suivant présente certaines informations susceptibles d'être journaliséeslorsque vous activez la propriété mxe.logging.CorrelationEnabled. Il se peut quecertains des attributs du tableau ne soient pas disponibles pour chaque demande.

Attribut Description

ClientIP Adresse IP du client qui effectue la demande du serveur viaOSLC.

InvokeAndSerTime Temps requis pour l'appel et la sérialisation.

SendResponseTime Temps requis pour la réponse du serveur à une demandeclient.

RequestURI Identifiant URI du client.

RequestParams Paramètres transmis dans l'URI du client.

ElapsedTime Temps total requis entre une demande émise par un client etla réponse d'un serveur.

LoginID Nom utilisateur associé à une demande d'authentificationclient.

ResourceSize Taille de la ressource en octets.

EndUserClientIP Adresse IP de l'utilisateur final qui effectue la demande duserveur.

EndUserMetaData Données associées à l'utilisateur client final réel. Les demandessont fréquemment distribuées via un serveur intermédiaire.Cet attribut, lorsqu'il est présent, contient toujours les donnéesde l'utilisateur final.

ClientPort Numéro de port que le client utilise pour adresser unedemande du serveur.

Transactions HTTPLes interactions entre le consommateur OSLC et les ressources OSLC fournies parMaximo Asset Management utilisent des demandes et des réponses HTTPstandard. Les méthodes de demande HTTP prises en charge incluent les méthodesGET, POST, PUT et PATCH. Les réponses HTTP fournissent des informations dansdes en-têtes HTTP et des codes d'erreur HTTP sont renvoyés lorsque desdemandes n'aboutissent pas.

Requêtes de ressource OSLCOSLC définit une syntaxe de requête simple, basée sur la norme SPARQL pourinterroger les ressources. Le paramètre de requête OSLC défini dans une demandeHTTP GET détermine le type d'informations que le fournisseur de services envoieen réponse.

Paramètre des propriétés de requête :

Le paramètre de requête oslc.properties renvoie la liste des propriétés d'uneressource OSLC et fournit une représentation partielle de la ressource.

Le paramètre oslc.properties s'applique uniquement lorsque vous récupérez uneseule ressource basée sur un ID de ressource. D'autres paramètres de requête sontapplicables lorsque vous voulez effectuer une requête sur une collection deressources qui contient zéro ou plusieurs instances d'une ressource.

290 Intégration de données à des applications externes

Page 299: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exemple : Obtention d'attributs

La demande suivante indique que les valeurs des attributs shortTitle et isTask sontrenvoyées dans les résultats de requête de la ressource oslcwodetail portant l'ID337 :http://www.example.com:9999/maximo/oslc/os/oslcwodetail/337?oslc.properties=oslc:shortTitle,spi_wm:istask

Cette demande renvoie les informations suivantes :{

oslc:shortTitle: "1024"spi_wm:istask: truerdf:about: "<some uri>"

}

Paramètre de clause WHERE de requête :

Le paramètre de requête oslc.where spécifie une clause WHERE pour le filtrage del'ensemble de résultats d'une requête. Par exemple, vous pouvez vouloir afficher lacollection des ressources d'intervention OSLC créées pendant un intervalle donnéet approuvées par le responsable.

La close WHERE OSLC prend en charge les opérateurs de comparaison suivants :

Symbole Description

= Egalité

!= Inégalité

< Inférieur à

> Supérieur à

<= Inférieur à ou égal à

>= Supérieur ou égal à

Les paramètres de clause WHERE OSLC possèdent les caractéristiques suivantes :v Les dates sont exprimées au format ISO 8601.v La spécification OSLC prend en charge and comme opérateur booléen entre des

expressions booléennes. L'opérateur booléen or n'est pas pris en charge.v Les valeurs de type de données chaîne sont entourées de guillemets mais les

valeurs de type de données décimal n'ont pas de guillemets.v Les valeurs de type de données décimal valeurs ne sont pas placées entre

guillemets. Dans l'exemple suivant, la valeur littérale pour l'état est indiquéeentre guillemets car la propriété de statut comporte un type de données chaîne.La valeur de quantité ne comporte pas de guillemets car il s'agit d'un type dedonnées décimal. Les entiers et les valeurs booléennes ne requièrent pas nonplus de guillemets. Par exemple, spi_wm:status="Closed" and m:quantity>10.5and m:active=true où m:active a un type de données booléen.

v La clause WHERE prend en charge or dans une propriété unique en utilisantl'opérateur in. Par exemple, la requête suivante renvoie toutes les interventionsdont le statut est APPR (approuvé) ou WAPPR (en attente d'approbation) :spi_wm:status in ["APPR","WAPPR"]

Intégration de données à des applications externes 291

Page 300: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exemple : Recherche d'interventions créées sur une période donnée etapprouvées

La clause WHERE suivante renvoie la liste des ressources d'intervention qui ont étécréées pendant une période donnée :spi_wm:status="APPR" and dcterms:created>"2003-07-07T09:50:00-04:00"and dcterms:created<="2004-07-07T09:50:00-04:00"

Exemple : Recherche de toutes les interventions créées par un utilisateur

La clause WHERE suivante renvoie toutes les interventions créée par un utilisateurou une personne spécifique :dcterms:creator= <http://host:port/oslc/os/oslcperson/<URI id for person Kelly Reese>

La valeur d'URI est délimitée par des signes supérieur et inférieur et n'est pasplacée entre guillemets à la différence de valeurs de littéral de type chaîne.L'identificateur URI pointe sur le nom de ressource de la personne appelée KellyReese. Bien que l'utilisation d'un identificateur URI dans la syntaxe de requêtefonctionne pour des intégrations de système homologue, les utilisateurs interactifsou basés sur l'interface utilisateur de l'API OSLC n'ont connaissance d'aucun desidentificateurs URI appropriés. Par exemple, un utilisateur interactif peut connaîtreun numéro d'actif mais pas l'identificateur URI correspondant à ce dernier. Larequête de clause WHERE suivante est exprimée sans URI :dcterms:creator{foaf:givenName=”Kelly” and foaf:familyName=”Reese”}

givenName et familyName sont des propriétés de la ressource Person à laquellefait référence la propriété creator. Cette clause WHERE montre que vous pouvezeffectuer la recherche en fonction de propriétés de ressource liées.

Exemple : Recherche de toutes les interventions pour lesquelles la propriétéparent de la ressource d'intervention a une valeur NULL

La clause WHERE suivante renvoie toutes les interventions de niveau racine :spi_wm:parent!=”*”

Dans cet exemple, * est un caractère générique qui fait référence à une ressource, etla requête parent!="*" est l'équivalent sémantique d'une requête parent="NULL".

Une dérivée de cette requête vérifie les interventions pour lesquelles la valeurparent n'a pas une valeur NULL. La syntaxe de cette requête estspi_wm:parent=”*”. Vous pouvez également effectuer une recherche de type LIKEavec la syntaxe de requête de clause WHERE OSLC. Pour rechercher toutes lesinterventions qui ont une valeur shortTitle telle que Inspect, utilisez la requêtesuivante : oslc:shortTitle =”%Inspect%”.

Pour rechercher des interventions qui ont une valeur shortTitle commençant ou seterminant par un mot que vous indiquez, déplacez le symbole %. Par exemple,entrez oslc:shortTitle =”Inspect%” pour rechercher des interventionscommençant par le mot Inspect et oslc:shortTitle =”%Inspect” pour rechercherdes interventions se terminant par le mot Inspect.

292 Intégration de données à des applications externes

Page 301: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Paramètre de recherche de requête :

Le paramètre de requête oslc.searchTerms renvoie des ressources contenant lestermes indiqués. Par exemple, si vous pouvez afficher toutes les interventionscomportant les mots base de données et performance dans leurs descriptions.

Pour pouvoir rechercher des termes, la zone de recherche doit être configurée enconséquence dans l'application Ressources OSLC.

Exemple : Recherche d'interventions faisant référence aux performances de basede données

La demande suivante interroge des ressources d'intervention en sélectionnant letitre abrégé, l'état et la description contenant les termes base de données etperformance :http://host:7001/maximo/oslc/os/oslcwodetail?oslc.select=oslc:shortTitle,spi_wm:status,dcterms:description&oslc.searchTerms=database,performance

La requête renvoie les informations suivantes :-"rdfs:member": [-{"oslc:shortTitle": "1001","rdf:about": "http://host/maximo/oslc/os/oslcwodetail/76","spi_wm:status": "INPRG","dcterms:description": "performance is key<!--RICH TEXT -->"},-{"oslc:shortTitle": "2004","rdf:about": "http://host/maximo/oslc/os/oslcwodetail/58","spi_wm:status": "INPRG","dcterms:description": "all the database and stuff<!--RICH TEXT -->"},-{"oslc:shortTitle": "6003","rdf:about": "http://host/maximo/oslc/os/oslcwodetail/8","spi_wm:status": "APPR"},-{"oslc:shortTitle": "1004","rdf:about": "http://host/maximo/oslc/os/oslcwodetail/155","spi_wm:status": "INPRG","dcterms:description": "Performance is key"},-{"oslc:shortTitle": "1006","rdf:about": "http://host/maximo/oslc/os/oslcwodetail/73","spi_wm:status": "APPR"}],"rdf:about": "http://host/maximo/oslc/os/oslcwodetail"-"prefixes":{"rdfs": "http://www.w3.org/2000/01/rdf-schema#","oslc": "http://open-services.net/ns/core#","rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#","spi_wm": "http://jazz.net/ns/ism/work/smarter_physical_infrastructure#","dcterms": "http://purl.org/dc/terms/"}}

Intégration de données à des applications externes 293

Page 302: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Paramètre de tri de requête :

Le paramètre de requête oslc.orderBy définit la façon dont les résultats d'unerequête sont ordonnés. Ainsi, une liste d'interventions peut être classée par date oupar ID.

Exemple : Indiquer l'ordre de tri

La requête oslc.orderBy suivante renvoie les interventions en fonction de la datede création, par ordre croissant, ainsi que la durée estimée par ordre décroissant :+dcterms:created,-m:estimatedDuration

Dans cette requête, + indique un ordre de tri croissant et - un ordre de tridécroissant. Le paramètre oslc.orderBy suivant n'est pas valide :dcterms:created,-m:estimatedDuration, car il n'y a pas d'ordre de tri par défautdans la syntaxe de requête OSLC. Il doit y avoir un signe + ou - explicite avec lenom de propriété. Le paramètre oslc.orderBy n'est pas pris en charge pour lespropriétés imbriquées. Par exemple, dcterms:creator{+foaf:name} n'est pas pris encharge.

Paramètre de sélection de requête :

Le paramètre de requête oslc.select demande une représentation partielle desressources d'une ressource de collection. Le paramètre oslc.select s'appliquetoujours à une ressource de collection. Indiquez la liste des propriétés à incluredans la demande.

Exemple : Demande de ressource partielle

Le paramètre oslc.select fournit une liste séparée par des virgules de noms depropriétés qualifiés. Le paramètre oslc.prefix n'est pas pris en charge. La requêtesuivante demande une ressource partielle :oslc.select=oslc:shortTitle, dcterms:creator

La requête renvoie les informations suivantes :{"rdf:about": "some uri","rdfs:member": [{"oslc:shortTitle": "1022","rdf:about": "some workorder uri","dcterms:creator":{

"rdf:about": "some person uri"}

Exemple : Sélection de propriétés issues de ressources référencées

Le paramètre oslc.select permet de sélectionner des propriétés de ressourcesréférencées. La requête suivante demande le nom du créateur :oslc.select= oslc:shortTitle, dcterms:creator{foaf:name}

La requête renvoie les informations suivantes :{"rdf:about": "some uri","rdfs:member": [{

294 Intégration de données à des applications externes

Page 303: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

"oslc:shortTitle": "1022","rdf:about": "some workorder uri","dcterms:creator":{

"rdf:about": "some person uri","foaf:name": "Todd Winston"

}

Dans cet exemple, la ressource foaf:Person est le nom de la personne figurant dansla valeur de propriété creator. Pour obtenir toutes les propriétés à partir de laressource, vous pouvez utiliser oslc.select=*. La même syntaxe peut êtreappliquée au paramètre oslc.properties lorsque vous recherchez une ressourceOSLC.

Création d'une instance de ressourceUne application client utilise la méthode HTTP POST pour créer un instance d'uneressource OSLC. D'autres applications peuvent ensuite partager la ressource.

L'application client utilise la méthode HTTP POST pour envoyer un documentJSON qui est conforme à la forme publiée de la ressource. Le format JSON OSLCest associé au type MIME application/json. Quand le traitement de la demandeaboutit, l'en-tête de la réponse HTTP de l'application fournisseur inclutl'identificateur URI de la ressource nouvellement créée.

Exemple : Création d'une instance d'une ressource

La méthode suivante crée la ressource oslcwodetail :POST /maximo/oslc/os/oslcwodetail....{

"dcterms:creator": {"rdf:resource": "http://host:port/maximo/oslc/os/oslcperson/_V0lOU1RPTg--"

},"dcterms:title": "Check-out Leaking","spi_wm:orgid": "EAGLENA","spi_wm:siteid": "BEDFORD","spi_wm:woclass": "WORKORDER","oslc:shortTitle": "T5050","spi:asset": {

"rdf:resource": "http://host:port/maximo/oslc/os/oslcasset/_MTMxNDUvQkVERk9SRA--"},"spi:location": {

"rdf:resource": "http://host:port/maximo/oslc/os/oslcoperloc/_U0hJUFBJTkcvQkVERk9SRA--"},"spi:status": "WAPPR"

}.....

Si la demande est traitée avec succès, l'application client reçoit la réponse suivante:201 CreatedLocation: http://host:port/maximo/oslc/os/oslcwodetail/_ABCD--ETag: 1234567

Le corps du message de la réponse HTTP est vide. Pour obtenir des informationssur la ressource nouvellement créé, l'application client doit envoyer une demandeHTTP GET à l'URI spécifié dans la propriété d'emplacement d'en-tête HTTP.L'application client peut utiliser la propriété ETag de l'en-tête HTTP pour envoyerune demande de mise à jour conditionnelle à l'application fournisseur.

Les demandes OSLC peuvent échouer pour différentes raisons : validation métier,authentification ou autorisation. Si une demande échoue, l'application concernéereçoit un code d'erreur HTTP en réponse, par exemple l'erreur 400 Bad Request, etle corps du message contient les détails de l'erreur.

Intégration de données à des applications externes 295

Page 304: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Modification de ressourcesLa méthode HTTP PUT remplace une ressource OSLC et la méthode HTTP PATCHmet partiellement à jour une ressource OSLC.

Remplacement d'une ressource OSLC :

La méthode HTTP PUT remplace toutes les propriétés d'une ressource OSLC, ycompris les propriétés de type littéral et de ressource locale. La méthode PUTsupprime également toute propriété de ressource locale ne figurant pas dans lademande.

Lorsque vous utilisez la méthode PUT pour remplacer une ressource OSLC, lesrègles suivantes s'appliquent :v Toutes les propriétés de type littéral indiquées dans le document de demande

HTTP sont mises à jour. Toute propriété de type littéral non spécifiée dans lademande n'est pas explicitement affectée par la demande. Cependant, lespropriétés de type littérale peuvent être implicitement affectée par la logiquemétier associée à la ressource.

v Toutes les propriétés de ressource locales sont remplacées par les valeurscorrespondantes dans la demande. Quand une propriété de ressource est inclusedans une demande PUT, la valeur remplace la valeur sur le serveur. Si unepropriété de ressource n'est pas incluse dans une demande HTTP, la propriétécorrespondante est supprimée du serveur.

v Vous ne pouvez pas explicitement référencer des ressources, mais vous pouvezmettre à jour les propriétés qui font référence à la ressource ; les propriétéssuivent le modèle de mise à jour des propriétés de type littéral.

Dans les exemples suivants, une ressource d'intervention possède une seulepropriété de type littéral, title, et une seule propriété de ressource, wplabor. Lapropriété wplabor pointe sur la ressource locale WPLABOR et est associée à deuxenregistrements wplabor. Si une demande PUT contient la propriété title etaucune propriété wplabor, le titre est mis à jour et les données wplabor sontsupprimées.

Exemple : Mise à jour d'une propriété de type littéral

La méthode suivante met à jour la propriété de type littéral title et supprime lapropriété wplabor et les données associées.PUT /maximo/oslc/os/oslcwodetail/abc

{"dcterms:title": "Check-out Leaking – Modified for Test"

}

Si la demande est traitée avec succès, l'application client reçoit la réponse HTTPsuivante :204 No ContentETag: 123456

Le titre est modifié en Check-out Leaking – Modified for Test. Les donnéeswplabor ne sont pas incluses et, par conséquent, les enregistrements wplabor sontsupprimés.

Exemple : Mise à jour d'une propriété de ressource

La méthode suivante met à jour la propriété de ressource, wplabor :

296 Intégration de données à des applications externes

Page 305: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

PUT /maximo/oslc/os/oslcwodetail/abc

{“spi:wplabor”: [

{“spi_wm:wplaborid": "0000000067",

"spi_wm:rate": 18.5}

]}

Si la demande est traitée avec succès, l'application client reçoit la réponse HTTPsuivante :204 No ContentETag: 123456

La demande lance une recherche d'un enregistrement wplabor avec l'ID0000000067. Si cet enregistrement wplabor existe, il est mis à jour. Si aucunenregistrement correspondant n'est trouvé, un nouvel enregistrement wplabor estcréé avec l'ID 0000000067. Toutes les autres données wplabor relatives à cetteressource d'intervention sont supprimées. Du fait que la propriété title n'est pasincluse, le titre ne fait pas partie de la demande et la valeur n'est pas affectée.

Mise à jour partielle d'une ressource OSLC :

La méthode HTTP PATCH met à jour une partie d'une ressource OSLC. A ladifférence de la méthode PUT, la méthode PATCH ne supprime pas les propriétésde ressource locale qui ne sont pas incluses dans la requête. L'en-têtex-method-override est nécessaire pour mettre en oeuvre la méthode PATCH.

Lorsque vous utilisez la méthode PATCH pour remplacer une ressource OSLC, lesrègles suivantes s'appliquent :v Toutes les propriétés de type littéral indiquées dans le document de demande

sont mises à jour. Toute propriété de type littéral non spécifiée dans la demanden'est pas explicitement affectée par la demande. Cependant, les propriétés detype littérale peuvent être implicitement affectée par la logique métier associée àla ressource.

v Les propriétés de ressource locale sont mises à jour ou remplacées s'il existe desvaleurs de propriété correspondantes dans la demande PATCH. Si une propriétéde ressource n'est pas incluse dans la demande, la ressource localecorrespondante n'est pas explicitement affectée par la demande. Si la propriétéde ressource est incluse dans la demande, la valeur entrante remplace ou met àjour la valeur sur le serveur.

v Vous ne pouvez pas explicitement référencer des ressources, mais vous pouvezmettre à jour les propriétés qui font référence à la ressource ; les propriétéssuivent le modèle de mise à jour des propriétés de type littéral.

Des demandes HTTP PATCH sont utilisées dans les scénarios suivants :v La demande PATCH remplace une propriété de tableau (ressource locale) par le

contenu de la requête. Ce scénario correspond à l'implémentation par défaut.v Vous pouvez rechercher et mettre en correspondance des éléments de ressource

de tableau de la demande avec les éléments de ressource correspondants sur leserveur. Selon qu'une correspondance a été trouvée ou non, les éléments deressource de tableau sont mis à jour ou insérés. Un élément de tableau n'estjamais supprimé de la propriété de ressource locale. Pour utiliser une demande

Intégration de données à des applications externes 297

Page 306: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

PATCH pour mettre en correspondance des éléments de tableau, l'applicationclient définit l'en-tête de demande HTTP PATCHTYPE sur la valeur MERGE(dépendant maj/min).

Exemple : Mise à jour d'une propriété de type littéral

La méthode suivante met à jour la propriété de titre d'une intervention :POST /maximo/oslc/os/oslcwodetail/abcdx-method-override: PATCH

{"dcterms:title": "Check-out Leaking – Modified for Test"

}

A la différence de la méthode PUT, cette méthode PATCH ne met pas à jourd'autres propriétés de l'intervention.

Exemple : Mise à jour et fusion d'une propriété de ressource

La méthode suivante met à jour la ressource avec l'en-tête PATCHTYPE défini surMERGE :POST /maximo/oslc/os/oslcwodetail/abcdx-method-override: PATCHPATCHTYPE: MERGE

{"dcterms:title": "Check-out Leaking – Modified for Test",“spi:wplabor”: [

{“spi_wm:wplaborid": "0000000067",

"spi_wm:rate": 18.5}

]}

La demande lance une recherche d'un enregistrement wplabor avec l'ID0000000067. Si cet enregistrement wplabor existe, il est mis à jour. Si aucunecorrespondance n'est trouvée, un nouvel enregistrement wplabor est créé avec l'ID0000000067. L'en-tête PATCHTYPE étant défini sur MERGE, les autresenregistrements wplabor relatifs à cette ressource d'intervention restent inchangés.

Exemple : Exécution d'une mise à jour conditionnelle

La méthode suivante met à jour la ressource si la valeur ETag est 1234567 :POST /maximo/oslc/os/oslcwodetail/abcdx-method-override: PATCHif-match: 1234567

Si la valeur ETag est 1234567, la ressource d'intervention est mise à jour et uneréponse HTTP 204 est envoyée à l'application client.

Si la valeur ETag n'est pas 1234567, le serveur répond par un message HTTP 412Precondition failed (échec de précondition). Ce message indique que la ressourcea été mise à jour par un autre processus et que l'application client demandeusepossède une copie périmée de la ressource. L'application client doit exécuter unedemande GET sur la ressource abcd pour obtenir une nouvelle copie de laressource.

298 Intégration de données à des applications externes

Page 307: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

En-têtes HTTPOSLC fournit différentes valeurs dans la section d'en-tête des demandes etréponses HTTP pour l'échange d'informations supplémentaires lors destransactions. Ces valeurs d'en-tête prennent en charge des fonctions telles que lapagination stable, les mises à jour conditionnelles des ressources, ou la garantieque des transactions en double n'auront pas lieu suite à un échec de connexionHTTP.

Mises à jour conditionnelles basées sur des valeurs Etag et desen-têtes If-Match

Une balise entité (ETag) est une valeur incluse dans une réponse à en-tête HTTPqui représente l'état en cours d'une ressource. Quand une application client OSLCfaite une demande GET, l'en-tête de réponse inclut une valeur ETag. L'applicationclient inclut cette valeur dans le cadre d'un en-tête If-Match dans les demandes demise à jour PUT et PATCH suivantes afin de garantir que les changements sontconditionnels et seront appliqués uniquement si l'enregistrement na pas été modifiédepuis la création de la valeur ETag. Le processus de mise à jour conditionnellesdétecte les mises à jour incorrects et les situations de concurrence, par exemplelorsque deux utilisateurs tentent de mettre à jour une même ressource.

L'application client enregistre la valeur d'en-tête ETag et l'envoie dans l'en-têteHTTP If-Match pour une demande de mise à jour ultérieure. Le serveur évaluel'en-tête If-Match et détermine si l'application client dispose d'une version ancienneou de la version la plus récente de la ressource. S'il détermine que l'applicationclient dispose de la version la plus récente de la ressource, la mise à jour estimplémentée, sauf si une validation métier ou des contraintes de base de donnéesont détectées. Si le serveur détermine que la demande contient une versionancienne de la ressource, il renvoie une réponse d'échec de précondition HTTP 412.L'application client extrait à nouveau la ressource et et à jour la demande enfonction de l'étiquette ETag mise à jour.

L'application client peut soumettre une demande de mise à jour sans en-têteIf-Match ou avec un en-tête If-Match dont la valeur est définie sur un astérisque(*). La soumission de cette demande revient sémantiquement à ne pas avoird'en-tête If-Match dans la demande de mise à jour. Dans les deux cas, la mise àjour est inconditionnelle. Si la ressource à laquelle fait référence l'URI existe etqu'aucune validation métier ou contrainte de base de données n'est détectée, lamise à jour est implémentée.

Pagination stable pour les ressources de collection

La pagination stable OSLC définit un pattern de pagination là où la ressourcepaginée ne change pas lors de la pagination sur l'application client, par exemplesur un périphérique mobile. La pagination stable est prise en charge uniquementpour les ressources de collection et n'est pas le format de pagination par défaut desserveurs HTTP. Pour demander la pagination stable, l'application client OSLCinclut le paramètre de requête stablepaging dans la demande HTTP ou inclut unen-tête stablepaging dans la demande. Le serveur charge la ressource de collectiondemandée en mémoire et la réponse HTTP redirige l'application client OSLC surl'URI correspondant à l'emplacement où la ressource de collection chargée eststockée. Les demandes ultérieures de pages sont toujours chargées à partir de laressource en mémoire et jamais à partir de la base de données. La pagination stableaméliore les performances car l'application client consulte les pages de résultats.

Intégration de données à des applications externes 299

Page 308: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

La pagination stable nécessite que la demande ultérieure pour la page suivante soitfournie par le processus de serveur ou membre de cluster qui a fourni la demandeinitiale pour la pagination stable. Le même processus de serveur est requis car laressource est chargée dans la mémoire de ce processus serveur et pas dans lesautres membres de cluster. Si une demande ultérieure fait l'objet d'un équilibragede charge pour les autres membres, l'application client reçoit une erreur 404 NotFound. Pour éviter cette erreur, vérifiez que les demandes en session del'application client sont toutes servies par le même processus serveur.

Exemple de pagination stable

Le client demande une ressource d'actif :GET/oslc/os/oslcasset?stablepaging=true

La demande génère la réponse suivante :303 RedirectingLocation: http://host:port/../olscasset?stableid=1234

Le client exécute une demande GET sur l'URI de redirection :GET../oslcasset?stableid=1234

La réponse est la première page de la collection. L'URI de la page suivante estimbriqué dans l'objet oslc:ResponseInfo dans le cadre du message. Les pagesexpirent au fur et à mesure de leur chargement. Si le client est à la page 3 cettedernière ne peut pas être rechargée, ni la page 1 ou 2. Toute tentative de nouveauchargement de ces pages génère une erreur HTTP 410. Les ressources chargées sontconservées en mémoire jusqu'à ce qu'elles expirent une fois le délai d'inactivitédéfini par la propriété système mxe.oslc.idleexpiry atteint. Le délai d'expiration encas d'inactivité indique la période pendant laquelle le client n'a pas accédé à laressource. Le client peut demander des propriétés de client à l'aide de la clauseoslc.select et trier la collection résultante à l'aide du paramètre de requêteoslc.orderBy.

Définition de l'en-tête PATCHTYPE pour la fusion de mises à jour deressources partielles

Afin de réduire la taille des messages, par exemple pour les applications mobiles,les applications client utilisent des demandes PATCH afin de limiter les mises àjour aux seules données modifiées. Pour mettre à jour les objets enfant d'unestructure d'objet, par exemple pour mettre à jour le journal de travaux associé àune intervention, l'application client envoie une demande PATCH où la propriétéd'en-tête PATCHTYPE est définie sur merge (fusion).

Renvoi de propriétés de ressource dans des en-têtes de réponse HTTP

L'implémentation du moteur d'automatisation de processus Tivoli de OSLC inclutune nouvelle propriété d'en-tête HTTP, appelée properties, qui prend en charge lerenvoi de valeurs d'attribut de ressource dans les réponses HTTP. Une applicationclient peut définir l'en-tête properties et inclure une chaîne de propriétés séparéespar des virgules dans une demande POST, PUT ou PATCH. La réponse HTTPinclut les valeurs d'attribut demandées dans la réponse HTTP. L'en-tête propertiespeut être utilisé, par exemple, pour recevoir le numéro d'une intervention dans uneréponse HTTP à la demande POST ayant créé l'intervention.

300 Intégration de données à des applications externes

Page 309: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Eviter les transactions en double à la suite d'un échec de connexion

L'implémentation du moteur d'automatisation de processus Tivoli de OSLC inclutune nouvelle propriété d'en-tête HTTP, appelée transactionid, qu'une applicationclient peut utiliser pour affecter un ID unique à chaque transaction. L'applicationfournisseur stocke les ID transaction dans la table de transaction OSLC. En casd'échec de connexion réseau, si l'application client renvoie une demande POST ouPATCH, le serveur valide l'ID transaction en fonction des valeurs de la table detransaction. Si l'ID transaction existe déjà, le serveur renvoie une erreur de conflitde transactions dans la réponse HTTP.

Codes de réponse HTTPOSLC utilise des codes de réponse HTTP standard. Par exemple, la réponse HTTP404 est normalement renvoyée lorsqu'une page Web est introuvable et dans OSLCle code réponse 404 est renvoyé lorsque la ressource est introuvable.

Certains codes d'erreur existants sont mappés sur des codes HTTP par défaut. Unimplémenteur peut mapper des codes de réponse supplémentaires si nécessaire.

Les codes de réponse HTTP suivants sont mis en oeuvre par OSLC :

Code HTTP Explication pour OSLC

200 Succès

201 Succès. La réponse contient un lien.

204 La ressource a été mise à jour. Il n'y a aucune entité de réponse.

400 Erreur de gestion de la demande. Cette erreur peut être due au contenuou à l'URI de la demande. Par exemple, une erreur de validation delogique métier a pu se produire côté serveur.

401 Echec d'authentification.

403 Interdit. Le mot de passe utilisateur a échoué.

404 Une ressource est introuvable ou un type de ressource non valide a étéfourni.

405 Une méthode HTTP ne peut pas être utilisée pour la ressource.

406 La représentation demandée n'est pas prise en charge.

410 Une page de ressource stable a expiré.

412 Une ressource côté client est périmée et doit être régénérée sur leserveur. La mise à jour conditionnelle a échoué car la ressources à étémise à jour par un autre utilisateur ou processus.

500 Toutes les autres erreurs de serveur.

Les messages prennent en charge les langues prises en charge par le moteurd'automatisation de processus Tivoli.

Intégration en tant que client OSLCVotre application, un client OSLC, peut être configurée pour prendre en chargetrois interactions : la sélection d'une boîte de dialogue, la création d'une boîte dedialogue et l'interrogation. Les liens vers les ressources sont obtenus parl'application client à partir de l'application fournisseur.

La figure suivante illustre les interactions entre les applications client etfournisseur. En tant que client OSLC, l'application peut interroger ou créer des

Intégration de données à des applications externes 301

Page 310: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ressources de l'application fournisseur et conserver les liens vers ces ressources. Lesliens permettent à l'application client d'adresse des demandes à l'applicationfournisseur afin d'interroger, mettre à jour ou supprimer les ressources.

Liens de ressource

Application client OSLC(par exemple, SmartCloudControl Desk)

Interaction de dialogue de sélection

Données de ressource

Application fournisseurOSLC(par exemple, Rational TeamConcert)

Interaction de dialogue de création

Boîte de dialogue d'aperçu

Interaction de requête

Lien de ressource renvoyé

L'application client met à jour ou supprime uneressource à l'aide du lien de ressource

Création d'enregistrements fournisseur OSLCVous devez créer un enregistrement fournisseur dans l'application FournisseursOSLC pour chaque produit que vous enregistrez dans Registry Services ResourceRegistry. Vous pouvez utiliser l'enregistrement fournisseur pour créer desinteractions permettant aux utilisateurs de partager et de mettre à jour des donnéesentre les produits.

Registry Services :

Registry Services est un service d'intégration Jazz for Service Management quifournit les mécanismes via lesquels les services, ressources et clients Open Servicesfor Lifecycle Collaboration (OSLC) peuvent utiliser l'interface OSLC pour travaillerdans un environnement de gestion de service intégré.

Registry Services utilise le registre fournisseur pour suivre les fonctionnalitésdisponibles dans l'environnement et utilise le registre des ressources pour suivreles ressources pouvant être gérées pour les environnements. Il effectue le suivi desressources qui peuvent être gérées pour les environnement à l'aide du registre desressources. moteur d'automatisation de processus Tivoli utilise le registrefournisseur et le registre des ressources pour intégrer plusieurs produits.

Registre fournisseur

Le registre fournisseur est un registre Registry Services contenant des servicesfournis par plusieurs produits dans différents domaines. Le registre fournisseursuit tous les fournisseurs de services dans un environnement, fournit desinformations sur le mode de contact et affiche le type d'action effectué par cesderniers.

En tant que client OSLC, lorsque vous créez une fenêtre de sélection, une fenêtrede création ou une interaction de requête, vous pouvez configurer l'interactionpour reconnaître des fournisseurs de services dans le registre fournisseur.

302 Intégration de données à des applications externes

Page 311: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Le fournisseur OSLC n'offre actuellement aucune prise en charge pourl'enregistrement des fournisseurs de service de l'application dans le registrefournisseur.

Registre des ressources

Le registre des ressources est un répertoire Registry Services contenant desressources gérées ou suivies par plusieurs produits dans différents domaines.

En tant que client OSLC vous pouvez utiliser le registre des ressources pourinterroger les ressources. Lorsque vous créez une interaction de requête vouspouvez configurer l'URI public de l'enregistrement fournisseur pour qu'il pointesur le registre des ressources et vous pouvez également configurer le point determinaison PROVIDERREGISTRY par défaut.

Le fournisseur OSLC n'offre actuellement aucune prise en charge pourl'enregistrement des ressources de l'application dans le registre des ressources.

Fournisseurs de services :

Un fournisseur de services est un conteneur ou un ensemble de données connexes,telles qu'un projet, une base de données utilisateur ou un module. Les fournisseursde services prennent en charge le groupement de ressources similaires, telles queles anomalies ou les tâches, qui peuvent être configurées pour l'intégration.

Un fournisseur de services dans une application fournisseur OSLC contient lesdonnées de ressource qui peuvent être liées aux données de l'application client vial'intégration des applications. Pour intégrer une application client et uneapplication fournisseur, le client doit reconnaître ou identifier les fournisseurs deservices disponibles dans l'application fournisseur.

L'application Fournisseurs OSLC prend en charge les méthodes de reconnaissancedes fournisseurs de services suivantes :v Liste de cataloguev Fournisseur de services uniquev Registre fournisseur

Pour utiliser la liste de catalogues ou le fournisseur de services unique pour lareconnaissance, vous indiquez un identificateur URI dans la zone URI de liste defournisseurs de services. L'identificateur URI peut pointer vers un catalogue defournisseurs de services, une liste de fournisseurs de services ou un fournisseur deservices individuel.

Pour utiliser le registre fournisseur pour la reconnaissance dans l'applicationFournisseurs OSLC, vous sélectionnez la case à cocher Utiliser le registrefournisseur. Dans l'application Points de terminaison, un point de terminaisonHTTP prédéfini nommé PROVIDERREGISTRY est utilisé pour identifier lesinformations de connexion au registre fournisseur.

Le point de terminaison PROVIDERREGISTRY spécifie un registre fournisseurdans lequel les applications fournisseur OSLC peuvent enregistrer les données dufournisseur de services. Le point de terminaison doit être configuré avant depouvoir être utilisé. Le point de terminaison HTTP du registre fournisseur estdifférent des points de terminaison OAuth ou HTTP utilisés au cours del'exécution des interactions entre les applications intégrées.

Intégration de données à des applications externes 303

Page 312: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Types de ressource et documents de mise en forme :

Un type de ressource identifie le type de données, tel qu'une demande dechangement, c'est-à-dire lié entre des applications intégrées. Un type de ressourcepeut avoir un document de mise en forme associé. Un document de mise en formeest similaire à un schéma XML en ce qu'il définit structure de données de laressource.

Dans l'application Fournisseurs OSLC, vous utilisez l'action Ajouter/Modifier destypes de ressource pour créer des types de ressource. Vous créez un type deressource pour chaque type de données qu'au moins un fournisseur prend encharge et que vous souhaitez lier. L'application fournisseur doit prendre en chargele type de ressource via un fournisseur de services pour que le type de ressourcesoit mis à disposition d'une interaction OSLC.

Un type de ressource peut être utilisé avec plusieurs interactions pour unfournisseur. Les types de ressource peuvent être utilisés avec plusieurs fournisseursOSLC qui prennent en charge le même type de ressource.

Les données de ressource provenant de l'application fournisseur peuvent être misesà disposition à l'application client sous la forme d'utilisations. Une utilisation estune sous-classe des données de ressource. Par exemple, une ressource de typedemande de changement pourrait avoir des utilisations d'anomalie et de tâche.

Un document de mise en forme est un fichier RDF (Resource DescriptionFramework) qui fournit une description des types de données de ressourcepouvant être utilisés dans une interaction. Lorsque vous créez un type de ressourcevous pouvez importer un document de mise en forme pour le type de ressource.Le document de mise en forme contient une liste d'attributs du type de ressource.

Points de terminaison dans l'intégration OSLC :

Un point de terminaison est le point d'entrée d'un service, d'un processus, d'uneapplication ou d'une rubrique. Deux types de points de terminaison peuvent êtreutilisés dans l'intégration OSLC. Un point de terminaison d'intégration est utilisépour l'intégration OSLC entre une application client et une application fournisseur.Il indique de quelle manière une application client communique avec l'applicationfournisseur OSLC. Le point de terminaison d'intégration peut être un point determinaison OAuth ou un point de terminaison HTTP. Un point de terminaison deregistre fournisseur est utilisé uniquement si la méthode spécifiée pour lareconnaissance des fournisseurs de services est Registre fournisseur.

Points de terminaison d'intégration

Lorsque vous créez un enregistrement de fournisseur OSLC, vous devez indiquerle point de terminaison pour l'application fournisseur. Le point de terminaison estutilisé pour toutes les interactions entre l'application client et l'applicationfournisseur. L'intégration OSLC à certains fournisseurs, par exemple Rational TeamConcert, doit utiliser un point de terminaison avec le type de gestionnaire OAuth.Les autres fournisseurs peuvent nécessiter un point de terminaison HTTP ouprendre en charge un point de terminaison HTTP ou un point de terminaisonOAuth.

Le point de terminaison OAuth est une norme ouverte pour l'autorisation entre dessites ou des applications. Il permet le partage de ressources stockées sur un site

304 Intégration de données à des applications externes

Page 313: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

avec un autre site sans avoir à fournir de données d'identificationd'authentification complètes. Des informations supplémentaires sur OAuth sontdisponibles sur le Web.

Créez la définition du point de terminaison dans l'application Points determinaison. Le point de terminaison indique les valeurs d'attribut de l'applicationfournisseur permettant l'intégration et la liaison des données.

Important : Utilisez uniquement des caractères et des chiffres de la langue anglaisedans le nom d'un point de terminaison OAuth.

Les valeurs des propriétés du point de terminaison OAuth sont basées sur laconfiguration de l'application fournisseur.

Tableau 40. Propriétés des points de terminaison OAuth

Propriété Description

ACCESSTOKENURL Vous obtenez l'adresse URL du jeton d'accèsà partir de l'application fournisseur OSLC.Cette valeur est obligatoire.

AUTHORIZATIONURL Vous obtenez l'adresse URL du jeton d'accèsà partir de l'application fournisseur OSLC.Cette valeur est obligatoire.

CONSUMERKEY Clé OAuth à utiliser par l'application client,à partir de l'application fournisseur OSLC.Cette valeur est obligatoire.

CONSUMERSECRET Valeur confidentielle ou mot de passeOAuth à utiliser par l'application client, àpartir de l'application fournisseur OSLC.Cette valeur est stockée dans un formatchiffré. Elle est obligatoire.

COOKIES Cookies à transmettre via le point determinaison.

HEADERS Propriétés d'en-tête à transmettre via lepoint de terminaison. Par exemple, le codede langue de l'intégration côté client doitêtre inclus aux propriétés d'en-tête.

HTTPMETHOD Méthode HTTP utilisée lors de la demande.La valeur par défaut est GET. Vous devezindiquer une valeur. Assurez-vous queAutoriser les substitutions est sélectionnépour la propriété HTTPMETHOD.

REQUESTTOKENURL Adresse URL du fournisseur de sécuritéOAuth. Vous obtenez cette valeur à partir del'application fournisseur OSLC. Cette valeurest obligatoire.

URL Adresse URL du type d'utilisation dufournisseur de service. Vous devez indiquerune valeur. Assurez-vous que Autoriser lessubstitutions est sélectionné pour lapropriété URL.

Intégration de données à des applications externes 305

Page 314: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Point de terminaison de registre fournisseur

Vous pouvez indiquer que le produit prend en charge la reconnaissance desfournisseurs de services dans le fournisseur OSLC via le Registre fournisseur. Dansce cas, vous utilisez un point de terminaison HTTP prédéfini pour lareconnaissance, en plus du point de terminaison OAuth ou HTTP utilisé pourl'intégration. Le nom du point de terminaison, PROVIDERREGISTRY, est enregistrédans la propriété système mxe.oslc.prqueryep.

La plateforme IBM OSDP (open service delivery platform) fournit une version duRegistre fournisseur, disponible sous le programme de développement transparent(Transparent Development). Pour plus d'informations sur le registre et pourtélécharger la version actuelle, voir https://www.ibm.com/developerworks/servicemanagement/iosdp/index.html. Une fois implémenté, ce registre peut êtreconfiguré en tant que point de terminaison PROVIDERREGISTRY.

Le point de terminaison PROVIDERREGISTRY est prédéfini dans l'applicationPoints de terminaison. Toutefois, certaines propriétés ne sont pas configurées. Vousdevez entièrement configurer le point de terminaison de façon à ce que lareconnaissance des fournisseurs de services soit prise en charge via le Registrefournisseur.

Tableau 41. Propriétés du point de terminaison HTTP PROVIDERREGISTRY

Propriété Description

CONNECTTIMEOUT Temps d'attente de connexion (en secondes)avant l'émission d'une erreur dedépassement du délai.

COOKIES Cookies à transmettre via le point determinaison.

HEADERS Propriétés d'en-tête à transmettre via lepoint de terminaison. Par exemple, le codede langue de l'intégration côté client doitêtre inclus aux propriétés d'en-tête.

HTTPEXIT Classe d'exit Java fournie en vue de prendreen charge le traitement spécifique auRegistre fournisseur.

HTTPMETHOD Méthode HTTP utilisée lors de la demande.La valeur par défaut est GET. Vous devezindiquer une valeur. Assurez-vous queAutoriser les substitutions est sélectionnépour la propriété HTTPMETHOD.

PASSWORD Si le registre est sécurisé, le mot de passecorrespondant au nom d'utilisateur estrequis.

READTIMEOUT Temps d'attente de réponse (en secondes) àune demande effectuée par l'applicationclient avant l'émission d'une erreur dedépassement du délai.

URL URL du Registre fournisseur. Requis. Lavaleur par défaut est https://oslc-registry/oslc/pr. La valeur doit être mise à jour pourrefléter l'implémentation locale du registre.Assurez-vous que Autoriser lessubstitutions est sélectionné pour lapropriété URL.

306 Intégration de données à des applications externes

Page 315: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 41. Propriétés du point de terminaison HTTP PROVIDERREGISTRY (suite)

Propriété Description

USERNAME Si le registre est sécurisé, le nom d'utilisateuret le mot de passe correspondant sontrequis.

Lorsque vous configurez la définition du point de terminaisonPROVIDERREGISTRY, vous devez spécifier les valeurs de ces deux propriétés, auminimum :v HTTPMETHOD : Définissez cette propriété sur la valeur GET.v URL : La valeur par défaut est définie. Mettez à jour la valeur pour refléter

l'implémentation locale du registre.

Vous devez également configurer les valeurs USERNAME et PASSWORD, enfonction de la configuration des paramètres de sécurité du Registre fournisseur.

Connexion unique

Si vous projetez d'utiliser la connexion unique vous devez définir la propriétéCOOKIES pour votre point de terminaison HTTP sur LtpaToken2.

Conception d'une interaction OSLCL'intégration OSLC établit des liaisons entre les données de l'une de vosapplications utilisateur et les données d'une application fournisseur OSLC externe.Vous utilisez l'application Fournisseurs OSLC pour intégrer des applications enconcevant des interactions OSLC.

L'application Fournisseurs OSLC prend en charge la création d'interactions OSLCgénérées à partir de l'interface utilisateur. Vous pouvez concevoir les trois typesd'interaction suivants, qui permettent à vos utilisateurs de lier leurs donnéesd'application aux données de ressource du fournisseur :v Une interaction de création permet à l'utilisateur de créer des données de

ressource dans l'application fournisseur OSLC et de lier ces données deressource à un enregistrement d'application.

v Une interaction de sélection permet à l'utilisateur de sélectionner des données deressource existantes dans l'application fournisseur OSLC et de lier ces donnéesde ressource à un enregistrement d'application.

v Une interaction de requête permet à l'utilisateur de sélectionner une requêteprédéfinie dans l'application fournisseur OSLC et extrait des données deressource.

Les enregistrements suivants doivent être en place avant de pouvoir concevoir uneinteraction :v Un enregistrement dont le point de terminaison d'intégration est OAuth ou

HTTP pour l'application fournisseur doit exister dans l'application Points determinaison.

v Un enregistrement de l'application fournisseur OSLC doit être définie dansl'application Fournisseurs OSLC.

v Un ou plusieurs types de ressource fournisseur doivent être disponibles. Vousajoutez des types de ressource dans la fenêtre Ajouter/Modifier des types deressource de l'application Fournisseurs OSLC.

Intégration de données à des applications externes 307

Page 316: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

L'assistant Créer une interaction OSLC de l'application Fournisseurs OSLC vousguide à travers trois étapes permettant de concevoir une interaction de sélectionOSLC. L'assistant ajoute une étape supplémentaire pour une interaction de créationOSLC et deux étapes supplémentaires pour une interaction de requête OSLC.

Exemple : Conception d'une interaction de création ou de sélection OSLC :

Vous souhaitez concevoir une interaction OSLC de sorte que les utilisateurs del'application Demandes de service puissent créer une anomalie dans Rational TeamConcert, l'application fournisseur. Le défaut créé est lié à une demande de servicedans l'application Demandes service.

Travail préparatoire

Dans l'application Fournisseurs OSLC, créez un enregistrement de fournisseur pourRational Team Concert. Indiquez le point de terminaison OAuth et l'URI publicpour Rational Team Concert et comment le fournisseur de services est identifié.

A l'aide de l'action Ajouter/Modifier des types de ressource, ajoutez le ou lestypes de ressource pris en charge dans Rational Team Concert et indiquez que lesutilisateurs soient liés à partir de l'application Demandes de service.

Définition d'une interaction et sélection de l'identificateur URI d'utilisation :étape 1

Sélectionnez l'action Créer une interaction OSLC.

Indiquez Créer une anomalie comme nom de l'interaction OSLC pourl'enregistrement Rational Team Concert. Sélectionnez CREATIONDIALOG commetype d'interaction.

Sélectionnez un type de ressource, tel que demande de changement, dans la listede valeurs. La liste contient le ou les types de ressource que vous avezprécédemment créés.

La page de connexion Rational Team Concert s'affiche car vous devez vousconnecter à Rational Team Concert pour continuer.

Une fois que vous êtes connecté, la liste de valeurs URI d'utilisation est renseignéeà partir de Rational Team Concert avec les types d'utilisation de ressource pour letype de ressource sélectionné. Sélectionnez le type d'utilisation de l'anomalie. Vouspouvez éventuellement indiquer un identificateur URI d'utilisation.

Sélection du fournisseur de services et de la propriété d'association : étape 2

Dans l'étape 2, indiquez si tous les fournisseurs de services Rational Team Concertsont disponibles pour l'interaction ou si un seul est disponible. Vous pouvezégalement identifier une propriété d'association, de sorte qu'une liaison puisse êtreétablie de l'application fournisseur, Rational Team Concert, à l'application client,Demandes de service.

Utilisez la sélection par défaut, selon laquelle tous les fournisseurs de service sontdisponibles. Lorsqu'un utilisateur de l'application Demandes de service lancel'interaction dans cette dernière et que plusieurs fournisseurs de services prennenten charge la combinaison ressource/utilisation sélectionnée, une fenêtre desélection s'ouvre. Elle peut, par exemple, afficher la liste des projets Rational Team

308 Intégration de données à des applications externes

Page 317: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Concert prenant en charge les défauts. L'utilisateur peut sélectionner le fournisseurde services ou le conteneur dans lequel créer l'anomalie.

L'autre option consiste à indiquer un URI de fournisseur de service particulier.Dans ce cas, l'application Demandes de service se connecte directement aufournisseur de services que vous indiquez.

Pour activer une liaison depuis Rational Team Concert vers l'application Demandesde service, vous devez spécifier la propriété d'association. La propriétéd'association est liée à la ressource Rational Team Concert. Si un document de miseen forme est associé au type de ressource, les valeurs que vous pouvez choisirpour la propriété d'association proviennent du document de mise en forme. Siaucun document de mise en forme n'est associé au type de ressource vous pouvezindiquer une propriété d'association. La propriété d'association s'affiche dansl'interface utilisateur de Rational Team Concert et la propriété reçoit un lien vers lademande de service. Un utilisateur de Rational Team Concert peut cliquer sur lelien pour ouvrir l'application Demandes de service et visualiser la demande deservice associée dans Rational Team Concert.

Sélection de l'application client pour l'interaction OSLC : étape 3

A l'étape 3, indiquez quelle application client va interagir avec l'applicationfournisseur, Rational Team Concert. L'application client est l'application dedemande de service.

Par défaut, les modifications de l'interface utilisateur dans l'application client sontgénérées automatiquement par l'assistant. Si vous conservez les paramètres pardéfaut vous devez indiquer l'onglet de l'application dans lequel sont ajoutés latable et le bouton d'interaction.

Indiquez que l'onglet, la table et le bouton doivent être ajoutés à l'ongletEnregistrements associés de l'application Demandes de service. Par défaut, le nomdu bouton est celui que vous avez indiqué pour l'interaction : Create Defect. Vouspouvez changer le nom du bouton.

Pour que le bouton soit visible aux utilisateurs, vous devez indiquer les groupes desécurité autorisés à exécuter l'interaction. Seuls les utilisateurs appartenant auxgroupes que vous autorisez peuvent voir le bouton et créer une anomalie dansRational Team Concert.

Vous pouvez également désélectionner la case à cocher Créer un ongletd'interaction et utiliser le concepteur d'application pour créer tous les changementsd'interface dans l'application Demandes de service.

Spécification des mappages de zone d'interaction : étape 4

L'étape 4 ne s'applique qu'aux interactions de création. Vous pouvez,facultativement, mapper des données de l'application client vers des zones cible del'application fournisseur. Lorsque l'utilisateur clique sur le bouton pour créer uneressource, les zones sont mappées à la fenêtre du fournisseur qui est affichée dansl'application client. Par exemple, vous voulez que les utilisateurs de l'applicationDemandes de service puissent visualiser le numéro et la description pré-renseignésd'une demande de service dans les zones de la fenêtre Rational Team ConcertCréer une ressource. Vous pouvez fournir d'autres mappages de zones ou revoir lemappage de zones, même après avoir terminé l'interaction.

Intégration de données à des applications externes 309

Page 318: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Le document de mise en forme de la ressource identifie les attributs qui prennenten charge les liens. A partir de votre application, sélectionnez uniquement leszones qui contiennent des liens à mapper aux zones cibles qui prennent en chargeles liens. Vérifiez que la zone cible est visible dans l'interface utilisateur de lafenêtre de l'application fournisseur, de sorte que les données mappées soientvisibles.

Vous souhaitez mapper la description de la demande de service à la description del'anomalie dans la fenêtre Rational Team Concert. Indiquez :description commeexpression de mappage source et description comme propriété de ressource cible.

Création d'interactions multiples

Vous pouvez créer plusieurs interactions pour une application client. Par exemple,vous pouvez également créer une interaction de sélection pour l'applicationDemandes de service. Dans la fenêtre de sélection, un utilisateur peut cliquer surun bouton pour sélectionner une ressource existante, comme une anomalie, dansRational Team Concert. Si vous créez plusieurs interactions dans la mêmecombinaison type de ressource/utilisation, pour le même onglet d'application, lesboutons de commande sont ajoutés au même onglet et à la même table.

Si vous concevez également une interaction de sélection pour l'applicationDemandes de service, les utilisateurs ont le choix entre les options suivantes :v Créer une anomalie et lier la demande de service à la nouvelle anomalie.v Sélectionner une anomalie existante et lier la demande de service à cette

dernière.

Vous pouvez également concevoir une interaction de création supplémentaire pourun type de ressource ou un type d'utilisation pris en charge, tel qu'une tâche. Unecombinaison type de ressource/utilisation différente génère un onglet et une tabledistincts pour le bouton d'interaction supplémentaire.

Révision de nouvelles interactions dans l'application client

Une fois l'interaction terminée, vous devez vous reconnecter. Les nouveauxidentifiants de connexion accordent l'accès de sécurité mis à jour que vous avezspécifié à l'étape 3. Après vous être reconnecté, vous accédez à l'applicationDemandes de service pour voir les modifications apportées à l'interface utilisateur.Vous pouvez à tout moment utiliser l'application Concepteur d'application pouroptimiser ou ajouter des changements à l'interface utilisateur, qui ont été générésautomatiquement dans l'application Demandes de service.

Vous pouvez tester le ou les boutons pour vérifier que la fenêtre Rational TeamConcert s'affiche comme prévu dans l'application Demandes de service. Si lafenêtre ne s'affiche pas, ou que les données se trouvent dans les mauvaises zones,un mappage de données erroné peut en être la cause. Vous pouvez consulter etrevoir le mappage de données de l'interaction dans la table de mappage del'enregistrement fournisseur OSLC.

Si les utilisateurs de l'application Demandes de service ne peuvent pas voir lesboutons nouvellement ajoutés qui relient Rational Team Concert, vérifiez que lesutilisateurs concernés se sont reconnectés et qu'ils appartiennent au groupe desécurité que vous avez utilisé. Assurez-vous également que les utilisateurspossèdent des droits de connexion valides à Rational Team Concert.

310 Intégration de données à des applications externes

Page 319: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Modification d'interactions de sélection ou de création OSLC

Après avoir terminé la conception de l'interaction OSLC, les changements que vouspouvez lui apporter sont limités. Vous pouvez mettre à jour la propriété del'association et revoir le mappage de zones.

La définition d'une nouvelle propriété d'association crée un nom de propriété quifournit un lien de l'application fournisseur à l'application client.

Dans le tableau Mappages d'interaction, vous pouvez revoir les mappagesexistants, supprimer des mappages ou en ajouter. Le document de mise en formede la ressource identifie les attributs qui prennent en charge les liens. A partir del'application client, sélectionnez uniquement les zones qui contiennent des liens àmapper aux zones cibles qui prennent en charge les liens. Vérifiez que la zonecible est visible dans l'interface utilisateur de la fenêtre de l'application fournisseur,de sorte que les données mappées soient visibles.

Vous pouvez également indiquer une classe Java à utiliser dans le cadre de lalogique de mappage. Vous pouvez utiliser une classe Java lorsque les définitionsde mappage de zones fournies ne sont pas suffisantes. Indiquez la classe Java dansla zone Classe de mappage d'interaction. Une classe de mappage peut êtrefournie, que le mappage de zones existe ou non.

Suppression d'interactions de sélection ou de création OSLC

La suppression de l'interaction est uniquement possible s'il n'existe pas de liendans l'application client qui font référence à l'interaction. Tous les liens relatifs àl'application doivent être supprimés pour qu'une interaction puisse être suppriméed'un enregistrement de fournisseur OSLC.

Lorsque vous supprimez une interaction, les changements correspondants del'interface utilisateur apportés lors de la conception de l'interaction sont mis à jour.Le bouton d'interaction est supprimé de l'application. La table et l'onglet de latable sont également supprimés, mais uniquement si l'onglet et la fenêtre de latable créés par l'assistant et dans lesquels se trouvait le bouton ne comportent pasde boutons pour d'autres interactions. La relation et l'option de signature crééespour l'interaction sont également supprimées.

Si vous avez configuré manuellement les modifications de l'interface utilisateurpour l'interaction, vous devez utiliser le concepteur d'applications pour supprimerces modifications.

Liens orphelins

Les liens générés entre l'enregistrement d'objet pour l'application client et laressource d'application de fournisseur sont stockés dans la table de la base dedonnées OSLCLINK.

Si vous supprimez un enregistrement d'objet qui comporte des liens, la tableOSLCLINK comporte alors un ou plusieurs liens orphelins associés àl'enregistrement d'objet supprimé.

La tâche périodique OSLCDeleteLinks supprime les liens orphelins. Par défaut, latâche périodique OSLCDeleteLinks est configurée pour s'exécuter une fois par jour.Vous pouvez afficher et éditer la tâche périodique dans l'application deconfiguration des tâches périodiques.

Intégration de données à des applications externes 311

Page 320: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Exemple : Conception d'une interaction de requête OSLC :

Vous souhaitez concevoir une interaction OSLC pour que les utilisateurs del'application Actifs puissent exécuter une requête et extraire des données deressource à partir d'un fournisseur tel qu'IBM Tivoli Application DependencyDiscovery Manager.

Travail préparatoire

Dans l'application Fournisseurs OSLC, le Registre des ressources est le fournisseurpar défaut pour les interactions de requête. Le point de terminaisonPROVIDERREGISTRY est indiqué dans les paramètres par défaut mais vous devezconfigurer les propriétés de point de terminaison et indiquer l'URI publique pourResource Registry. Vous devez également indiquer comment le fournisseur deservices est identifié.

A l'aide de l'action Ajouter/Modifier des types de ressource action, ajoutez le oules types de ressource pris en charge dans Resource Registry et associez undocument de mise en forme avec le type de ressource s'il est disponible. Vouspouvez également indiquer la possibilité pour les utilisateurs d'établir une liaison àResource Registry à partir de l'application Actifs.

Définition d'une interaction et sélection de l'identificateur URI d'utilisation :étape 1

Sélectionnez l'action Créer une interaction OSLC.

Indiquez COMPUTER comme nom de l'interaction OSLC et sélectionnezQUERYCAPABILITY comme type d'interaction.

Sélectionnez un type de ressource, tel que COMPUTERSY, dans la liste de valeurs.La liste contient le ou les types de ressource que vous avez précédemment créés.

Vous pouvez éventuellement indiquer un identificateur URI d'utilisation. La valeurURI d'utilisation est renseignée à partir du registre des ressources avec le type oules types d'utilisation de ressource pour le type de ressource sélectionné. Si vousn'indiquez aucun URI d'utilisation, le type d'utilisation par défaut du type deressource est utilisé.

Sélection d'un fournisseur de services et d'une propriété de lien : Etape 2

A l'étape 2, indiquez si tous les fournisseurs de service, ou un seul, sontdisponibles pour l'interaction. Vous pouvez également identifier une propriété delien et un libellé de lien pour qu'une liaison puisse être établie entre l'applicationfournisseur, Resource Registry, et l'application client, Actifs.

Utilisez la sélection par défaut, selon laquelle seul le fournisseur de servicesResource Registry est disponible. Lorsqu'un utilisateur de l'application Actifs lanceune interaction en exécutant une requête et que plusieurs fournisseurs de servicesprennent en charge la combinaison ressource/utilisation sélectionnée, une fenêtrede sélection s'ouvre. Elle peut, par exemple, afficher la liste des fournisseurs deservices contenant des données sur la ressource spécifiée. L'utilisateur peutsélectionner le fournisseur de services sur lequel baser la requête.

L'autre option consiste à indiquer un URI de fournisseur de service particulier. Larequête est exécutée en fonction du fournisseur de services que vous avez indiqué.

312 Intégration de données à des applications externes

Page 321: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

La propriété de lien est utilisée pour extraire les données de ressource à partir duregistre de ressources pour le fournisseur. Le lien et le libellé de lien sont visiblespar l'utilisateur dans l'application client lorsque les résultats de la requête sontfournis.

Pour qu'un lien puisse être activé depuis le registre des ressources versl'application Actifs, l'application fournisseur doit prendre en charge l'utilisationd'une propriété de lien. La propriété de lien est liée à la ressource dans le registredes ressources. Si un document de mise en forme est associé au type de ressource,les valeurs que vous pouvez choisir pour la propriété de lien proviennent dudocument de mise en forme. Si aucun document de mise en forme n'est associé autype de ressource vous pouvez indiquer une propriété de lien et un libellé de lien.

Sélection de l'application client pour l'interaction OSLC : étape 3

A l'étape 3, indiquez l'application produit qui interagit avec l'applicationfournisseur, Resource Registry. L'application client peut être n'importe quelleapplication du produit, mais l'exemple utilise l'application Actifs.

Par défaut, le bouton de commande est généré automatiquement dans l'applicationindiquée. Si vous conservez le paramètre par défaut vous devez indiquer l'ongletde l'application auquel le bouton d'interaction est ajouté pour la prise en charge del'interaction de requête.

Indiquez l'ajout du bouton à l'onglet Principal de l'application Actifs. Le libellé dubouton de commande est, par défaut, le nom que vous avez indiqué pourl'interaction : Computer. Vous pouvez changer le nom du bouton.

Pour que le bouton soit visible aux utilisateurs, vous devez indiquer les groupes desécurité autorisés à exécuter l'interaction. Seuls les utilisateurs appartenant auxgroupes que vous autorisez pourront voir le bouton et exécuter la requête pourextraire les données de ressource.

Indiquez des requêtes et des paramètres de requête : étape 4

A l'étape 4, vous créez les requêtes pour l'interaction. Les requêtes servent àinterroger les données de ressource dans Resource Registry. La clause Selectidentifie les attributs sélectionnés à partir de la ressource. Vous pouvez indiquer unastérisque (*) pour extraire toutes les valeurs ou indiquer une liste séparée par desvirgules de ressources d'attribut à partir du document de mise en forme pourfiltrer la liste des valeurs à extraire.

Vous pouvez définir la condition WHERE de la requête à l'aide d'une desméthodes suivantes :v Implémentation d'une classe Java pour définir la condition WHERE.v Renseignement de la condition WHERE.v Configuration de la condition WHERE à l'aide des valeurs de paramètre. Les

valeurs de paramètre sont sélectionnées à partir de l'objet principal del'application et comparées avec les attributs des données de ressource dansl'application fournisseur.

Les requêtes sont exécutées dans l'ordre indiqué dans la table des requêtes. Si lapremière condition n'est pas remplie toutes les requêtes ultérieures sont traitéesdans un certain ordre jusqu'à ce qu'une condition de requête soit remplie.Lorsqu'une condition est remplie, les données de ressources sont extraites et

Intégration de données à des applications externes 313

Page 322: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

renvoyées à l'utilisateur dans l'application client. Vous pouvez également identifierle paramètre de requête orderby qui classe les données renvoyées dans la réponsede la requête.

Il n'y a pas de validation des requêtes créées pendant la conception de l'interaction.Par conséquent, vous pouvez créer des requêtes qui génèrent des messages aumoment de l'exécution. Par exemple, vous pouvez créer la condition de requêtesuivante :Query Query Type Property Operand Mapped Expression Is Literal?10 Parameter http://open-services.net/ns/crtv#%7Dmanufacturer IN IBM, Dell Checked

Mais au moment de l'exécution, une erreur est générée car la requête recherche unattribut "IBM, Dell" et non deux attributs "IBM","Dell". L'exemple suivant montrele format d'attribut correct :Query Query Type Property Operand Mapped Expression Is Literal?10 Parameter http://open-services.net/ns/crtv#%7Dmanufacturer IN "IBM","Dell" Checked

Indiquez le groupe d'interaction : Etape 5

A l'étape 5, vous pouvez, facultativement, ajouter l'interaction de requête à ungroupe d'interaction et indiquer une condition pour le groupe s'il n'en existeaucun.

Un groupe d'interaction permet de regrouper plusieurs requêtes associées sous uncontrôle d'interface utilisateur unique. L'indication d'un groupe d'interactionpermet à l'utilisateur d'exécuter plusieurs interactions vers différents fournisseursen fonction de la condition associée à l'interaction dans le groupe.

Toutes les interactions du groupe sont basées sur le même objet principal et typede ressource. Si vous ajoutez une interaction de requête à un groupe d'interaction,cette interaction est exécutée uniquement dans le cadre du groupe. L'interaction derequête n'est pas exécutée de manière indépendante. L'ordre des interactions dansle groupe détermine la séquence d'exécution de la requête pour le grouped'interaction.

Indiquez le groupe d'interaction CICOMPUTERSY et la condition XYZ. Si vous avezcréé un groupe d'interaction vous pouvez indiquer des détails supplémentairespour ce dernier à l'aide de l'action Ajout/Modification de groupes d'interaction.Dans l'application Actifs, lorsque l'utilisateur clique sur le bouton pour exécuterune requête et qu'une condition est remplie, les résultats de la requête sont affichésdans la fenêtre Aperçu.

Révision de nouvelles interactions dans l'application client

Une fois que vous avez créé l'interaction de requête, vous devez vous reconnecter.Les nouveaux identifiants de connexion accordent l'accès de sécurité mis à jour quevous avez spécifié à l'étape 3. Après vous être reconnecté, accédez à l'applicationActifs pour voir les modifications apportées à l'interface utilisateur.

Vous pouvez tester le bouton pour vérifier qu'il s'affiche correctement dansl'application Actifs. Pour exécuter la requête afin de vérifier que la requête estvalide et que les données de ressource sont renvoyées. Si aucun résultat n'estrenvoyé, les paramètres de requête sont peut-être incorrects. Vérifiez les paramètresde requête dans l'application Fournisseurs OSLC et mettez-les à jour selon lesbesoins.

314 Intégration de données à des applications externes

Page 323: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si les utilisateurs ne peuvent pas voir le nouveau bouton ajouté alors qu'ils se sontreocnnectés, vérifiez que ces utilisateurs appartiennent aux groupes de sécurité quevous avez autorisés.

Modification des interactions OSLC

Après avoir terminé la conception de l'interaction de requête OSLC, leschangements que vous pouvez lui apporter sont limités. Vous pouvez mettre à jourla propriété de lien ainsi que les paramètres de requête et vérifier le mappage dezones.

L'indication d'une nouvelle propriété de lien établit un nouveau nom de propriétéqui fournit un lien de l'application fournisseur vers l'application client.

Dans la table des mappages de requête vous pouvez vérifier tout mappageexistant, supprimer ou ajouter un mappage. Le document de mise en forme de laressource identifie les attributs qui prennent en charge les liens. A partir del'application client, sélectionnez uniquement les zones qui contiennent des liens àmapper aux zones cibles qui prennent en charge les liens. Vérifiez que la zonecible est visible dans l'interface utilisateur de la fenêtre de l'application fournisseur,de sorte que les données mappées soient visibles.

Vous pouvez également indiquer une classe Java à utiliser dans le cadre de lalogique de mappage. Vous pouvez utiliser une classe Java lorsque les définitionsde mappage de zones fournies ne sont pas suffisantes. Indiquez la classe Java dansla zone de classe de mappage de requête. Une classe de mappage peut êtrefournie, que le mappage de zones existe ou non.

La clause SELECT de l'interaction de requête peut être mise à jour une foisl'interaction créée.

Suppression des interactions OSLC

L'interaction de requête peut être supprimée uniquement si elle n'est pas liée à ungroupe d'interaction. Vous devez retirer l'interaction d'un groupe avant de lasupprimer.

Lorsque vous supprimez une interaction, les changements correspondants del'interface utilisateur apportés lors de la conception de l'interaction sont mis à jour.Le bouton d'interaction est supprimé de l'application. La relation et l'option designature créées pour l'interaction sont également supprimées.

Création de groupes d'interactionVous pouvez utiliser des groupes d'interaction pour assembler plusieursinteractions de requête sous un contrôle d'interface graphique unique, tel qu'unbouton. Ces interactions de requête peuvent être destinées à un seul fournisseur ouà plusieurs.

Avant de commencer

Avant de créer un groupe d'interaction, vous devez créer une ou plusieursinteractions de requête.

Intégration de données à des applications externes 315

Page 324: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pourquoi et quand exécuter cette tâche

Chaque interaction de requête du groupe est exécutée et renvoie des données àl'utilisateur en fonction de ses conditions. Si une interaction de requête contientune condition basée sur les données d'application courantes, le grouped'interaction utilise les données pour exécuter uniquement les requêtesappropriées. Les résultats provenant de plusieurs requêtes sont combinés etaffichés dans la vue obtenue.

Pour créer une interaction OSLC, vous devez être en langue de base. Vous pouvezégalement créer un groupe d'interaction dans l'assistant d'interaction de requête.

Procédure1. Dans l'application Fournisseurs OSLC, sélectionnez l'action Ajout/Modification

de groupes d'interaction.2. Ajoutez une nouvelle ligne et indiquez un nom pour le groupe d'interaction

dans l'objet principal à associer au groupe.3. Facultatif : Si vous souhaitez associer le groupe d'interaction à plusieurs

fournisseurs, sélectionnez la case à cocher Prise en charge de vue combinée deplusieurs fournisseurs.

4. Dans l'onglet Interactions, spécifiez au moins une interaction à exécuter dans legroupe. Les interactions disponibles à la sélection sont basées sur l'objetprincipal spécifié pour les groupes d'interaction.

5. Dans l'onglet Applications, spécifiez l'application à laquelle ajouter le grouped'interaction.

6. Facultatif : Si l'objet principal du groupe d'interaction n'est pas un objetprincipal pour l'application spécifiée, vous devez indiquer une relation. Siaucune relation n'existe entre l'application et l'objet principal spécifiés pour legroupe d'interaction, vous devez créer ou modifier une relation dans l'ongletRelations de l'application Configuration de base de données.

7. Indiquez un libellé pour un bouton, un élément de menu Détails, ou les deux,selon l'endroit de l'application client depuis lequel vous souhaitez quel'interaction soit disponible.

8. Dans l'onglet Groupes de sécurité, sélectionnez le groupe de sécurité quis'applique à l'application et au groupe d'interaction.

9. Pour ajouter un groupe d'interaction à un élément de menu Détails,sélectionnez l'onglet Menu de l'application, indiquez l'emplacement del'application client où le groupe doit être ajouté, cliquez sur OK, puissauvegardez le groupe. Les zones existantes de l'application client sont affichéesdans la boîte de dialogue Sélectionner le menu Détails.

Exemple : Exécution d'une interaction OSLCEn tant qu'utilisateur d'application, vous pouvez exécuter des interactions OSLCentre des applications intégrées par un concepteur d'intégration. Vous démarrezl'interaction OSLC en cliquant sur un bouton dans l'application client. En fonctiondu type d'interaction, vous pouvez créer un enregistrement de ressource dansl'application fournisseur externe ou créer une liaison à une ressource existante dansl'application fournisseur.

Dans cet exemple, votre application est le client et Rational Team Concert est lefournisseur. Toutefois, ce processus peut également fonctionner avec tout fournisseurOSLC.

316 Intégration de données à des applications externes

Page 325: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Vous utilisez l'application Demandes de service pour effectuer des demandes decorrectifs pour le logiciel que votre équipe développe. Votre concepteurd'intégration a utilisé l'application Fournisseurs OSLC pour intégrer l'applicationDemandes de service à l'application Rational Team Concert. Deux interactionsOSLC ont été créées. Dans l'application Demandes de service, un onglet nomméAnomalies est désormais disponible dans l'onglet Enregistrements associés.L'onglet contient une fenêtre Anomalies, ainsi que deux boutons de fonction danscette fenêtre : Créer une anomalie et Sélectionner une anomalie.

Vous pouvez désormais saisir une demande de service et créer simultanément uneanomalie associée dans Rational Team Concert, sans quitter l'application Demandesde service. Sinon, vous pouvez associer la demande à une ressource existante dansRational Team Concert, à l'aide du bouton Sélectionner une anomalie.

Création d'une anomalie

Dans l'application Demandes de service, vous créez une demande de service,entrez une description et d'autres informations, puis sauvegardez la demande.Vous ouvrez l'onglet Enregistrements associés, puis cliquez sur le bouton Créerune anomalie dans l'onglet Anomalies.

Du fait que vous créez un enregistrement de ressource dans une applicationexterne, Rational Team Concert, vous devez vous connecter à Rational TeamConcert. La fenêtre de connexion à Rational Team Concert s'affiche. Lorsque vousavez saisi l'ID utilisateur et le mot de passe, la fenêtre Créer une ressources'affiche. La fenêtre Créer une ressource est une fenêtre Rational Team Concert,désormais accessible dans l'application Demandes de service suite à l'intégrationOSLC.

Indiquez le type de ressource à créer (une anomalie). Vous devez égalementfournir des informations dans la zone Récapitulatif, puis indiquer le projet ou leconteneur dans lequel classer l'anomalie.

Votre concepteur d'intégration a mappé la zone Description de la demande deservice à la propriété Description de Rational Team Concert à la création del'interaction. Ainsi, la description de votre demande de service se trouve dans lazone Description de la fenêtre Créer une ressource. Vous pouvez modifier ladescription si nécessaire.

Aperçu des données d'enregistrement de ressource de l'applicationfournisseur

La création de l'enregistrement dans Rational Team Concert permet également decréer une ligne dans la table Anomalies de l'application Demandes de service. Lazone Description contient des informations sur la ressource liée dans RationalTeam Concert. La ligne de table contient également l'adresse URL del'enregistrement de ressource lié.

La zone Description comporte une icône d'information qui se présente sous laforme d'un petit cercle bleu contenant la lettre «i». Vous pouvez survoler l'icôned'information à l'aide du curseur pour afficher une fenêtre contenant des donnéesprovenant de l'enregistrement d'anomalie dans Rational Team Concert. (Si vousn'êtes pas connecté à l'application fournisseur, l'infobulle qui apparaît en survolantl'icône d'information contient un message et un lien permettant de vousconnecter.Si l'application fournisseur ne prend pas en charge les aperçus OSLC, unedeuxième icône s'affiche et vous pouvez cliquer dessus pour afficher un aperçu.)

Intégration de données à des applications externes 317

Page 326: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Vous pouvez utiliser la fenêtre d'aperçu pour vérifier le statut et d'autresinformations sur l'enregistrement d'anomalie de Rational Team Concert à partir del'application Demandes de service.

Sélection d'une anomalie

Dans l'application Demandes de service, entrez une seconde demande de service.La demande consiste à corriger l'instance d'un problème qui a déjà été signalé etpour lequel une anomalie existe dans Rational Team Concert. Pour la secondedemande, vous souhaitez créer une liaison à l'anomalie existante, plutôt que decréer un enregistrement d'anomalie. Dans la table Anomalies de l'ongletEnregistrements associés, cliquez sur Sélectionner une anomalie.

Vous pourriez avoir besoin de sélectionner le conteneur (le projet Rational TeamConcert par exemple) de l'anomalie si l'application fournisseur prend en chargeplusieurs conteneurs.

Dans la fenêtre Sélectionner une ressource, indiquez Anomalie comme type deressource à sélectionner. Entrez les informations de recherche, telles que le numéroou la description de l'anomalie, pour afficher la ou les anomalies qui correspondentà vos critères de recherche. Lorsque vous sélectionnez une anomalie et cliquez surOK, la liaison à la ressource d'anomalie Rational Team Concert est établie. Uneligne correspondant à l'anomalie est ajoutée à la table Anomalies dans l'applicationDemandes de service. Vous pouvez utiliser l'icône d'information pour afficher desinformations sur l'anomalie, tout comme vous pouvez le faire pour la ligne quevous avez ajoutée en créant une anomalie.

Changements de l'identificateur URI publicSi une application fournisseur OSLC est déplacée vers un autre serveur ou que sonidentificateur URI public change pour une autre raison, vous pouvez modifierl'identificateur URI public sur l'enregistrement fournisseur OSLC. Lorsque vousmettez à jour l'identificateur URI public, les identificateurs URI basés surl'identificateur URI public sont également modifiés, ce qui empêche les liens de sebriser.

Dans l'application Fournisseurs OSLC, vous utilisez l'action Modifier l'URI publicpour indiquer le nouvel identificateur URI public d'un fournisseur OSLC. Aprèsavoir modifié l'identificateur URI public, les identificateurs URI basés surl'identificateur URI public, tels que les identificateurs URI du fournisseur deservices et les identificateurs URI de ressource sont également modifiés. En mettantà jour les liens de sorte qu'ils pointent vers le nouvel identificateur URI public, lesliens restent actifs et valides.

Migration d'intégrations OSLCVous pouvez migrer une définition de fournisseur OSLC et les interactions qui luisont associées d'une instance de votre produit vers une autre. Vous pouvez, parexemple, configurer une intégration OSLC dans un environnement dedéveloppement ou de test. Lorsque vous vous êtes assuré que l'intégrationfonctionne correctement, vous pouvez la migrer vers un environnement deproduction.

La migration d'intégrations OSLC tire parti des fonctions existantes du gestionnairede migration et s'effectue principalement dans l'application Gestionnaire demigration. L'application Fournisseurs OSLC dispose d'une action permettant degénérer le package à migrer.

318 Intégration de données à des applications externes

Page 327: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Avant d'exécuter l'action Migrate OSLC Provider, vous exécutez un travail depréparation dans l'application Gestionnaire de migration. Une définition depackage OSLCPROVIDER est fournie dans l'application Gestionnaire de migration.Pour la définition de package OSLCPROVIDER, indiquez une base de donnéescible ou une destination de fichier pour le package que vous générez dansl'application Fournisseurs OSLC.

Utilisez l'action Migrate OSLC Provider dans l'application Fournisseurs OSLC pourgénérer le package que vous gérez ensuite dans l'application Gestionnaire demigration. Le package contient l'enregistrement du fournisseur OSLC, lesinteractions associées et les changements d'interface utilisateur associés dans la oules applications client intégrées.

Une fois l'action Migrate OSLC Provider exécutée, un message système s'affiche. Ladernière ligne du message de journal indique le nom du package. Le package estrépertorié dans l'onglet Package de la définition de package OSLCPROVIDER del'application Gestionnaire de migration de l'environnement source.

Dans l'environnement cible, utilisez l'application Gestionnaire de migration pourimporter et déployer le package.

Si vous utilisez un fichier de mappage Java personnalisé dans votre intégrationOSLC, il n'est pas inclus au package. Vous devez le déplacer manuellement, ainsique le fichier classe correspondant, vers l'environnement cible ou les ajoutermanuellement au package.

L'action Migrate OSLC Provider génère un package uniquement pourl'enregistrement du fournisseur OSLC actuel. Si vous disposez de plusieursenregistrements de fournisseur OSLC, vous devez migrer chacun d'euxindividuellement.

Le gestionnaire de migration ne prend pas en charge la migration des groupesd'interaction. Pour migrer les objets dans un groupe d'interaction, vous pouvezcréer une structure d'objet utilisant les objets suivants :OSLCINTGROUPOSLCGRPAPPSOSLCGRPAPPMENUOSLCGRPMEMBERS

Vous devez inclure la nouvelle structure dans le module de migrationOSLCPROVIDER.

Changement manuel de l'interface utilisateurLa conception d'interactions OSLC entre des applications nécessite plusieurschangements de l'interface utilisateur dans l'application client. Plusieurs scénariospeuvent vous amener à utiliser l'application Concepteur d'applications pourapporter des changements à l'interface utilisateur dans le cadre de l'intégration.

Implémentation manuelle des changements de l'interface utilisateur et de lasécurité des interactions :

Si vous décidez de ne pas laisser l'assistant générer automatiquement leschangements de l'interface utilisateur dans l'application client, vous devez modifiervous-même l'interface utilisateur. L'interface utilisateur doit permettre auxutilisateurs d'accéder à l'interaction via un bouton de fonction. Si vous ne

Intégration de données à des applications externes 319

Page 328: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

sélectionnez pas de groupes de sécurité dans l'assistant, vous devez indiquer lesgroupes de sécurité ayant accès à l'interaction.

Même lorsque vous ne générez pas automatiquement les changements del'interface utilisateur, la création d'une interaction OSLC crée une relation de lien etune option de signature à bouton de fonction. Le nom de la relation de lien estbasé sur l'utilisation ou le type de ressource spécifié. Le nom de l'option designature est basé sur le nom de l'interaction. Le nom de la relation et le nom del'option de signature sont répertoriés dans les détails de l'interaction dans l'ongletFournisseur OSLC. Vous avez besoin de ces deux valeurs lorsque vousimplémentez manuellement des changements de l'interface utilisateur.

Utilisez l'application Concepteur d'applications pour modifier l'interface utilisateurde l'application fournisseur. Vous devez créer un bouton de fonction pour quel'interaction OSLC puisse être exécutée pour créer un lien. Vous devez égalementfournir un onglet avec une table contenant les liens vers les ressources del'application fournisseur. Généralement, vous fournissez le bouton et la table desliens sur le même onglet.

Utilisez l'application Groupes de sécurité pour indiquer les groupes ayant accès aubouton de fonction. Seuls les utilisateurs des groupes autorisés peuvent visualiserle bouton et l'utiliser pour afficher la fenêtre de l'application fournisseur etexécuter l'interaction.

Améliorations de l'interface utilisateur :

Vous souhaitez peut-être apporter des améliorations ou effectuer des ajouts àl'interface utilisateur de l'application client, même lorsque les changements del'interface utilisateur sont générés automatiquement.

Après avoir conçu une interaction OSLC qui génère automatiquement leschangements de l'interface utilisateur, votre consultation de l'interface utilisateur del'application pourrait révéler que les révisions sont garanties. Vous pourriez parexemple souhaiter modifier les intitulés du nouvel onglet, d'une table ou d'unbouton de fonction. Vous souhaitez peut-être aussi ajuster le positionnement deséléments de l'interface utilisateur. Utilisez l'application Concepteur d'applicationpour modifier ou ajouter des éléments d'interface utilisateur.

Au cours de la conception de l'interaction, vous pouvez indiquer que tous lesfournisseurs de service doivent être disponibles pour l'interaction dansl'application client. Dans ce cas, une fenêtre Sélectionner un conteneur s'affiche aulancement de l'interaction. Cette fenêtre permet d'indiquer le fournisseur deservices ou le conteneur à utiliser pour l'interaction. Vous souhaitez peut-êtrefournir le texte de la grille d'aide dans la fenêtre Sélectionner un conteneur. Vouspourriez par exemple ajouter ce texte pour indiquer que vos choix représentent desprojets, des bases de données, ou un autre conteneur de ressources. Vous pouvezégalement attribuer un nouveau titre à la fenêtre, afin de préciser la sélection del'utilisateur.

Traduction des éléments non traduits de l'interface utilisateur :

L'application Concepteur d'applications permet de modifier et de traduire certainséléments de l'interface utilisateur, tels que les infobulles associées aux icônes,ajoutées par la conception d'interaction.

320 Intégration de données à des applications externes

Page 329: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Certains éléments de l'interface utilisateur ajoutés par la conception d'uneinteraction OSLC n'apparaissent pas dans la langue appropriée à l'interface, car desinteractions doivent être créées dans la langue de base. Les éléments sont ajoutésune fois que les éléments d'origine de l'interface utilisateur sont traduits, avant dedéployer l'application. Pour traduire ces éléments dans la langue de l'interfaceutilisateur de l'application, utilisez l'application Concepteur d'applications pourmodifier les éléments texte non traduits.

Propriétés OSLCVous pouvez vous aider de propriétés système pour gérer l'intégrationd'application Open Services for Lifecycle Collaboration (OSLC).

Tableau 42. Propriétés OSLC

Propriété Description Valeur par défaut

mxe.oslc.collectioncount Représente le nombre total de la collection OSLC. 0

mxe.oslc.defaultep Représente le point de terminaison OSLC pardéfaut.

OSLCDEFAULT

mxe.oslc.defaultformat Représente le format par défaut pour OSLC. oslcjson

mxe.oslc.dfltconsumerversion Représente la version OSLC par défaut utilisée parle client.

2.0

mxe.oslc.dfltversion Représente la version OSLC par défaut pour unfournisseur OSLC.

2.0

mxe.oslc.enableprovider Active le fournisseur OSLC. 1

mxe.oslc.idleexpiry Représente le temps d'inactivité accordé pour lesystème avant que la session expire.

300

mxe.oslc.prcreateep Représente le point de terminaison de création deregistre de fournisseur.

mxe.oslc.preferproviderdesc Indique si la description de Fournisseur OSLC estla préférée pour les URI réconciliées du registre deressources.

true

mxe.oslc.prettyjson Représente le format Pretty Print JSON. 1

mxe.oslc.prettyrdf Représente le RDF Pretty Print. 1

mxe.oslc.prqueryep Représente le point de terminaison de requête deregistre de fournisseur.

PROVIDERREGISTRY

mxe.oslc.webappurl Représente l'URI public de fournisseur. http://localhost/maximo/oslc/

Requêtes d'intégrationl'infrastructure d'intégration prend en charge les requêtes provenant de systèmesexternes. Le système externe envoie un message XML pour interrogerl'infrastructure d'intégration, qui renvoie un message XML comme réponse à larequête. Vous pouvez exécuter une requête pour une structure d'objet et desservices d'entreprise à l'aide de HTTP, Java™ Remote Method Invocation (RMI) oud'une demande Simple Object Access Protocol (SOAP) dans un service Web.

La prise en charge des requêtes XML est basée sur la fonctionnalité système QueryBy Example (QBE) disponible dans l'onglet Liste de la plupart des applications.Les requêtes XML fournissent la même prise en charge des requêtes que celle desapplications, sauf pour les recherches d'attribut disponibles dans certainesapplications système. Les délais d'expiration des requêtes d'intégration sontcontrôlés pas la propriété système mxe.db.Query.Timeout.Concepts associés:

Intégration de données à des applications externes 321

Page 330: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

«Interface de programme d'application REST», à la page 245L'interface de programme d'application Representational State Transfer (REST)permet aux applications externes d'interroger et de mettre à jour les données dansle moteur d'automatisation de processus Tivoli.

Services d'interrogationLes services de structure d'objet et les services d'entreprise prennent en charge lesopérations d'interrogation. Une source externe peut utiliser un service pourexécuter une requête et extraire les données d'un système. Dans les deux cas, leschéma de structure d'objet définit le contenu XML de la demande de requête et dela réponse à la requête.

Pour une structure d'objet ayant plus de deux niveaux d'objets métier,l'infrastructure de requête prend en charge l'utilisation d'attributs d'objet métierdans les deux niveaux supérieurs du message XML de demande. Le message XMLde réponse à la requête contient tous les objets de la structure d'objets.

Toutes les structures d'objet fournies par le système ayant une valeur Consommépar pour INTEGRATION prennent en charge par défaut l'opération d'interrogation.Vous pouvez configurer une structure d'objet pour prendre en charge l'opérationde requête uniquement et aucune autre opération prenant en charge les objets demise à jour. L'application Structures d'objet vous permet de créer des structuresd'objet supplémentaires qui fournissent la prise en charge de l'opération derequête.

Création d'une requête de service d'entrepriseUne source externe peut utiliser un service d'entreprise pour exécuter une requêteet extraire les données d'un système.

Pourquoi et quand exécuter cette tâche

Un exemple de requête de service d'entreprise, MXINVBALQInterface, est fourni.Vous pouvez l'utiliser à titre de référence lorsque vous créez des requêtes deservices d'entreprise.

Procédure1. Si aucune requête n'existe, créez une structure d'objet contenant les objets

auxquels la requête doit accéder.2. Définissez un service d'entreprise qui implémente la structure d'objet que vous

souhaitez utiliser pour la requête.3. Spécifiez la requête en tant qu'opération sur le service d'entreprise.4. Associez le service d'entreprise à un système externe et activez ce dernier et

son service d'entreprise.

Requêtes de service WebLes services de requête créés dans les applications Services d'entreprise etStructures d'objet peuvent être déployés en tant que services Web. Pour la prise encharge des requêtes, vous devez configurer les services Web d'entreprise pourcontourner les files d'attente JMS.

322 Intégration de données à des applications externes

Page 331: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Une réponse réussie à une requête exécutée par dans un service Web renvoiel'ensemble de résultats de la requête. Si l'ensemble de résultats est vide (ne contientaucun enregistrement), le message XML renvoyé dans le corps SOAP contient lesbalises MXPERSONSet vides suivantes :<max:QueryMXPERSONResponse xmlns:max="http://www.ibm.com/maximo"

creationDateTime="2011-04-28T21:49:45"baseLanguage="EN" transLanguage="EN" messageID="12345"maximoVersion="7.5" rsStart="1" rsCount="10" rsTotal="10"></max:MXPERSONSet>

</max:QueryMXPERSONResponse>

Si un message d'erreur est généré, le code de réponse HTTP 500 est renvoyé, ainsiqu'un incident SOAP qui fournit des informations sur le message d'erreur.

Utilisez l'adresse URL suivante pour le service Web de requête :http://nom_hôte:port/meaweb/services/nom du service Web

v Le chemin hôte:port/meaweb est la valeur de la propriété URL de l'applicationWeb d'intégration.

v Le nom du service Web est le nom du service Web.

Vous déployez les services de requête d'entreprise et de structure d'objet en tantque services Web à l'aide de l'application Bibliothèque des services Web.

Structure XML de requêteLe nom de l'élément principal d'une requête correspond à la concaténation del'opération (Query) et du nom de la structure d'objet associée. Par exemple,QueryMXPERSON, où MXPERSON est la structure d'objet.

Elément principal

Le nom de l'élément principal d'une requête correspond à la concaténation del'opération et du nom de la structure d'objet, par exemple QueryMXPERSON, oùMXPERSON est la structure d'objet. Le tableau suivant recense les attributs quis'appliquent spécifiquement à l'élément principal d'une requête, d'une réponse àune requête ou des deux à la fois. Tous les attributs indiqués dans ce tableau sontfacultatifs.

Attribut Description Type Applicable à

uniqueResult Indique si la requête s'attend à laprésence d'un ou de plusieursenregistrements dans une réponse.

Valeur 0 (défaut) : la requête peutrenvoyer plusieurs enregistrements.

Valeur 1 : la requête peut renvoyerun seul enregistrement. Si plusieursenregistrements sont renvoyés, uneerreur est générée.

Booléen Requête

Intégration de données à des applications externes 323

Page 332: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Attribut Description Type Applicable à

maxItems Si la requête peut renvoyerplusieurs enregistrements, cetattribut restreint le nombred'enregistrements à renvoyersimultanément.

Si cet attribut n'est pas défini, laréponse contient l'ensemble entierde résultats.

PositiveInteger Requête

rsStart Dans la demande de requête :

utilisez cet attribut avec maxItemspour spécifier le premierenregistrement à renvoyer dans uneréponse.

Si maxItems est égal à 10 et quevous n'avez pas défini rsStart, laréponse renvoie les résultats 0 à 9.Pour recevoir les réponses 10 à 19,renvoyez la requête avec rsStartégal à 10.

Si vous ne définissez pas rsStart, laréponse commence par le premierenregistrement de l'ensemble derésultats. Si le nombred'enregistrements dans l'ensemblede résultats de la requête estinférieur à la valeur de rsStart, laréponse ne renvoie aucunenregistrement.

Entier Requête

rsStart Dans la réponse de la requête :

Cette valeur correspond à la valeurde rsStart dans la requêtecorrespondante.

Si la requête correspondantecontient une valeur maxItems, lavaleur rsStart indiquée dans lesdemandes d'enregistrementscomplémentaires est rsStart +rsCount + 1.

Si vous ne définissez pas cetattribut, la réponse commence par lepremier enregistrement del'ensemble de résultats et inclut lenombre d'enregistrements indiquépar l'attribut rsCount.

Entier Réponse

rsCount Le nombre d'enregistrementsrenvoyés dans le message.

rsCount ne répercute aucune lignesusceptible d'être ignorée dans lecadre de la couche de traitement dela réponse.

Entier Réponse

324 Intégration de données à des applications externes

Page 333: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Attribut Description Type Applicable à

rsTotal Nombre total d'enregistrementsfigurant dans l'ensemble derésultats.

Si la même requête n'indique pas devaleur maxItems, la valeur rsTotalest identique à la valeur rsCount.

Entier Réponses(sortie)

Par exemple, la réponse à cette requête renvoie les enregistrements 11 à 20 del'ensemble de résultats de la requête défini par rapport à la définition de la valeurrstart sur 11 et de la valeur maxItems sur 10.<max:QueryMXINVBAL xmlns:max="http://www.ibm.com/maximo"

creationDateTime="2011-049-28T21:49:45"baseLanguage="EN" transLanguage="EN" messageID="12345"maximoVersion="7.5" uniqueResult="0" maxItems="10" rsStart="11"><max:MXINVBALQuery orderby="string" operandMode="OR">

L'ensemble de résultats de requête suivant contient 35 lignes au total, commeindiqué par rsTotal, mais seules les lignes 11 à 20 sont renvoyées.<max:QueryMXINVBALResponse xmlns:max="http://www.ibm.com/maximo"

creationDateTime="2011-04-28T21:49:45"baseLanguage="EN" transLanguage="EN" messageID="12345"maximoVersion="7.5" rsStart="11" rsCount="10" rsTotal="35"><max:MXINVBALSet>

.

.

.</max:MXINVBALSet>

Opérateur de requête

Le type de données QueryOperatorType prend en charge l'utilisation de différentsopérateurs. Votre message XML de demande de requête peut utiliser ces opérateurspour filtrer les données renvoyées à la source d'interrogation externe.

Elément QueryMXPERSON

L'élément QueryMXPERSON a les types suivants :v L'élément QueryMXPERSON est de type QueryMXPERSONType.v QueryMXPERSONType possède l'élément MXPERSONQuery, qui est de type

MXPERSONQueryType.v MXPERSONQueryType a des éléments pour tous les attributs configurés pour

l'objet PERSON et tous ses objets enfant (EMAIL, PHONE, and SMS).

L'élément d'opération QueryMXPERSON utilise les attributs suivants :v uniqueResults – Valeur booléenne qui, lorsqu'elle est définie sur 1 (True),

indique à la requête de renvoyer un seul enregistrement. Si plusieursenregistrements sont détectés, une erreur est renvoyée. Lorsque l'attribut n'estpas fourni, la valeur par défaut est 0 (false).

v maxItems – Lorsque cette valeur est définie sur 10 sur la requête, elle limite lenombre d'enregistrements renvoyés dans la requête à 10, même si l'ensemble derésultats de la requête peut être supérieur à 10. Si l'attribut n'est pas défini,toutes les lignes de l'ensemble de résultats de la requête sont renvoyées.

Intégration de données à des applications externes 325

Page 334: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v rsStart – Lorsque cette valeur est définie sur 11 sur la requête, tous lesenregistrements de l'ensemble de résultats à partir de l'enregistrement 11 sontrenvoyés. La requête ignore les enregistrements 1 à 10. Lorsque l'attribut n'estpas défini, les enregistrements sont renvoyés à partir de l'enregistrement 1 del'ensemble de résultats.

L'élément de contenu MXPERSONQuery utilise les attributs supplémentairessuivants :v orderby – L'utilisation de cette valeur est équivalente celle de Order By dans une

instruction SQL. L'attribut peut contenir une liste de noms de zones séparés pardes virgules qui inclut également les options ASC et DESC. Si l'attribut n'est pasdéfini, la requête renvoie des enregistrements dans leur ordre d'extraction par labase de données.

v operandMode – Cette valeur a deux valeurs valides, AND et OR. Le systèmel'utilise lorsqu'une ou plusieurs zones sont utilisées pour l'évaluation dans uneexécution de requête. Lorsque vous utilisez la valeur AND, toutes lesévaluations de zones doivent être vraies. Lorsque vous utilisez la valeur OR, uneseule évaluation de zone doit être vraie. Lorsque l'attribut n'est pas défini, lavaleur par défaut est AND.

Elément QueryMXPERSONResponse

L'élément QueryMXPERSONResponse a les types suivants :v L'élément QueryMXPERSONResponse est de type

QueryMXPERSONResponseType.v QueryMXPERSONResponseType possède l'élément MXPERSONSet, qui est de

type MXPERSONSetType.v MXPERSONSetType possède des éléments pour tous les attributs configurés de

l'objet PERSON et des éléments pour les objets enfants définis dans la structured'objet (PHONE, EMAIL, XYZ et SMS).

L'élément QueryMXPERSONResponse a les attributs suivants :v rsStart – Cette valeur contient l'ensemble de valeurs défini sur la demande de

requête. Si la valeur n'est pas définie sur la requête, la valeur de réponse pardéfaut est 1.

v rsCount - Cette valeur contient le nombre d'enregistrements renvoyés dans laréponse à la requête.

v total – Cette valeur contient le nombre d'enregistrements dans l'ensemble derésultats de requête final. La valeur totale peut être supérieure au nombred'enregistrements renvoyé lorsque l'attribut maxItems est utilisé dans lademande de requête.

Critères de sélection de requête

L'élément de structure d'objet d'une demande de requête contient les critères desélection de la requête. Une requête peut sélectionner des enregistrements à partird'une valeur unique, d'une plage de valeurs ou d'une clause 'where' fournie.L'infrastructure d'intégration prend en charge l'utilisation d'opérateurs de requêtetels que = ou >.

Les critères de sélection s'appliquent uniquement aux attributs d'objets dans lesdeux niveaux sommet de la structure d'objets ; c'est-à-dire, l'objet principal et sesobjets enfant directs. Toutefois, la réponse comprend des données extraites de tousles objets de la structure d'objet.

326 Intégration de données à des applications externes

Page 335: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Sélection de zonesUne requête basée sur une zone compare la valeur d'une zone de base de donnéesà la valeur de la zone XML de la demande de requête.

L'exemple de requête suivant recherche des employés :<QueryMXPERSON><MXPERSONQuery><PERSON></PERSON></MXPERSONQuery></QueryMXPERSON>

L'exemple de requête suivant recherche les employés pour lesquels PERSONID estégal à ATI et STATUS est ACTIVE.<QueryMXPERSON><MXPERSONQuery><PERSON><PERSONID operator ="=">ATI</PERSONID><STATUS operator ="=">ACTIVE</STATUS></PERSON></MXPERSONQuery></QueryMXPERSON>

L'attribut operandMode de l'élément MXPERSONQuery définit l'instruction exécutéeavec une condition AND ou OR entre les évaluations de zone. La condition pardéfaut utilisée par le système est AND. L'attribut operandMode peut également êtrefourni au niveau d'une zone. Dans ce cas, un élément de zone peut avoir plusieursoccurrences et être évalué pour différentes conditions, comme une zone de quantitéétant évaluée à une valeur inférieure à 2 ou supérieure à 10.

L'exemple de requête suivant recherche des employés pour lesquels PERSONID estsimilaire à %ATI%. L'opérande représente le comportement par défaut et nerequiert pas de valeur d'opérateur.<QueryMXPERSON><MXPERSONQuery><PERSON><PERSONID>ATI</PERSONID></PERSON></MXPERSONQuery></QueryMXPERSON>

L'exemple de requête suivant recherche les quantités en stock dans lesquelles lenuméro de casier n'est pas nul.<QueryMXINVBAL>

<MXINVBALQuery><INVBALANCES><BINNUM operator =”!="></BINNUM></INVBALANCES ></MXINVBALQuery></QueryMXINVBAL>

L'exemple de requête suivant recherche les quantités en stock dans lesquelles lenuméro de casier est nul.<MXINVBAL><INVBALANCES><BINNUM>NULL</BINNUM></INVBALANCES ></MXINVBAL>

Intégration de données à des applications externes 327

Page 336: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

L'exemple de requête suivant utilise l'équivalent d'une clause SQL IN pourrechercher les employés dont le statut est ACTIVE ou INACTIVE.<QueryMXPERSON><MXPERSONQuery><PERSON><STATUS>ACTIVE,INACTIVE</STATUS></PERSON></MXPERSONQuery></QueryMXPERSON>

L'exemple de requête suivant recherche les employés pour lesquels PERSONIDcommence par la lettre A.<QueryMXPERSON><MXPERSONQuery><PERSON><PERSONID operator ="SW">A</PERSONID></PERSON></MXPERSONQuery></QueryMXPERSON>

L'exemple de requête suivant recherche les employés pour lesquels PERSONID setermine par la lettre Z.<QueryMXPERSON><MXPERSONQuery><PERSON><PERSONID operator ="EW">Z</PERSONID></PERSON></MXPERSONQuery></QueryMXPERSON>

Evaluation de zoneL'attribut operator compare la valeur d'une zone de base de données à une ouplusieurs valeurs et son format est operator = valeur.

L'attribut de valeur peut avoir les valeurs suivantes.

Valeur Description

= égal

!= différent de

&lt; inférieur à

&lt;= inférieur ou égal à

&gt; supérieur à

&gt;= supérieur ou égal à

EW Se termine par

SW Commence par

Utilisez les attributs inférieur à et supérieur à avec des valeurs numériques et deszones de date uniquement.

Par exemple, pour trouver tous les employés qui possèdent le statut ACTIF,formatez la requête ainsi :<QueryMXPERSON><MXPERSONQuery><PERSON>

328 Intégration de données à des applications externes

Page 337: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<STATUS operator ="=">ACTIVE</STATUS></PERSON></MXPERSONQuery></QueryMXPERSON>

Sélection par plageUne requête peut rechercher les enregistrements dont la valeur est comprise dansune plage de valeurs. Le format varie selon que le critère de sélection est extensibleou contient une limite inférieure et supérieure.

L'exemple de requête suivant recherche les bons de commande dans lesquelsDEPARTMENT est supérieur à 1000.<QueryMXPERSON><MXPERSONQuery><PERSON>< DEPARTMENT operator="&gt;=">1000</DEPARTMENT></PERSON></MXPERSONQuery></QueryMXPERSON>

L'exemple de requête suivant recherche les enregistrements de personne danslesquels PERSONID est supérieur à 1000 et inférieur à 20000. La requête utilisedeux instances d'un élément de zone unique, la première étant associée au critèrede sélection inférieur et la seconde au critère de sélection supérieur :<QueryMXPERSON><MXPERSONQuery><PERSON>< PERSONID operator="&gt;=">1000</PERSONID >< PERSONID operator="&lt;=">20000</PERSONID ></PERSON></MXPERSONQuery></QueryMXPERSON>

Sélection de clause WhereUne requête peut rechercher des enregistrements en fonction d'une clause SQL'Where' qui peut être fournie comme partie du message XML de requêted'intégration. La clause Where offre la prise en charge de requêtes plus complexeset l'interrogation de données liées à la classification.

L'utilisation de la clause 'Where' et l'utilisation d'éléments individuels sontmutuellement exclusives. Si une demande de requête fournit des données pourl'élément Where et pour d'autres éléments du message XML, seul l'élémentWHERE est utilisé dans l'exécution de la requête.

L'élément WHERE se trouve au même niveau que l'objet sommet d'une structured'objet (bon de commande), comme dans l'exemple suivant :<QueryMXPO xmlns="http://www.ibm.com/maximo">

<MXPOQuery><PO> </PO><WHERE> </WHERE>

</MXPOQUERY></QueryMXPO>

L'élément WHERE est disponible dans le schéma uniquement si l'opération estQuery et il ne peut être présent qu'une seule fois. Pour joindre plusieurs tables à larequête, utilisez ‘exists' dans la clause Where, de la même manière que la clause

Intégration de données à des applications externes 329

Page 338: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

WHERE de l'onglet Liste d'une application. L'exemple de requête suivant, à l'aidede la structure d'objet MXPO, extrait les bons de commande ayant une ligne de BCpour le numéro d'article 1002 :<QueryMXPO xmlns="http://www.ibm.com/maximo"><MXPOQuery><WHERE>(siteid = ’BEDFORD’) and (exists (select 1 from maximo.poline where(i temnum=’1002’) and (ponum=po.ponum and revisionnum=po.revisionnum andsiteid=po.siteid)))</WHERE></MXPOQUERY></QueryMXPO>

Le résultat de cette requête a récupéré deux bons de commande (tous les élémentsne sont pas inclus dans l'exemple) :<?xml version="1.0" encoding="UTF-8"?><QueryMXPOResponse xmlns="http://www.ibm.com/maximo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creationDateTime="2012-03-21T11:20:13-04:00"transLanguage="EN" baseLanguage="EN" messageID="1332343214013260273" maximoVersion="7 5 20110413-2230 V7500-721" rsStart="0" rsTotal="2" rsCount="2">

<MXPOSet><PO>

<DESCRIPTION>Window and installation for office building</DESCRIPTION><ORDERDATE>2000-04-20T14:00:00-04:00</ORDERDATE><ORGID>EAGLENA</ORGID><PONUM>1013</PONUM><POTYPE>STD</POTYPE><VENDOR>JK</VENDOR>

.

.

.<POLINE>

<DESCRIPTION>5 ft. X 6 ft. window pane</DESCRIPTION><ITEMNUM>1002</ITEMNUM><ITEMSETID>SET1</ITEMSETID><ORDERQTY>1.0</ORDERQTY><POLINENUM>1</POLINENUM>

.

.

.<POCOST>

<COSTLINENUM>1</COSTLINENUM>...

</POCOST></POLINE><POLINE>

<DESCRIPTION>Installation of window pane</DESCRIPTION><ITEMNUM /><ITEMSETID>SET1</ITEMSETID><ORDERQTY>6.0</ORDERQTY><POLINENUM>2</POLINENUM>

.

.

.<POCOST>

<COSTLINENUM>1</COSTLINENUM>...

</POCOST></POLINE>

</PO><PO>

<DESCRIPTION>Window and installation for Office Building</DESCRIPTION><ORDERDATE>2003-02-27T10:07:24-05:00</ORDERDATE>

330 Intégration de données à des applications externes

Page 339: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<ORGID>EAGLENA</ORGID><PONUM>1029</PONUM><POTYPE>STD</POTYPE><VENDOR>JK</VENDOR>

.

.

.<POLINE>

<DESCRIPTION>5 ft. X 6 ft. window pane</DESCRIPTION><ITEMNUM>1002</ITEMNUM><ITEMSETID>SET1</ITEMSETID><ORDERQTY>1.0</ORDERQTY><POLINENUM>1</POLINENUM>

.

.

.<POCOST>

<COSTLINENUM>1</COSTLINENUM>...

</POCOST></POLINE><POLINE>

<DESCRIPTION>Installation of window pane</DESCRIPTION><ITEMNUM /><ITEMSETID>SET1</ITEMSETID><ORDERQTY>6.0</ORDERQTY><POLINENUM>2</POLINENUM>

.

.

.<POCOST>

<COSTLINENUM>1</COSTLINENUM>...

</POCOST></POLINE>

</PO></MXPOSet>

</QueryMXPOResponse>

Tables d'interfaceLes tables d'interface sont une option d'intégration avec des systèmes qui utilisentdes tables de base de données pour échanger des données. Cette optiond'intégration s'applique uniquement aux services d'entreprise et aux canaux depublication et est toujours traitée de façon asynchrone en utilisant les files d'attenteJMS.

Dans un système externe, un ou plusieurs canaux de publication et servicesd'entreprise peuvent être utilisés pour l'intégration aux tables d'interface. Toutcanal ou service faisant appel à une table d'interface doit être associé à unestructure d'objet configurée de manière à prendre en charge les fichiers à plat ettous les conflits d'alias doivent être résolus.

Emplacement des tables d'interface

La définition du point de terminaison d'un système externe ou d'un canal depublication pointe vers la base de données dans laquelle ses tables d'interface sontstockées. La base de données peut être la base de données de l'application localeou une base de données distante. Le contenu prédéfini contient le point de

Intégration de données à des applications externes 331

Page 340: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

terminaison de la table d'interface MXIFACETABLE qui pointe vers la base de donnéesde l'application. Vous pouvez ajouter des points de terminaison supplémentairespour les bases de données distantes.

Noms des tables d'interface

L'infrastructure d'intégration enregistre les noms des tables d'interface dans unservice d'entreprise ou un canal de publication. Les noms par défaut des tablesd'interface ne sont pas fournis. Appliquez les instructions suivantes lors de ladénomination des tables d'interface :v Les canaux de publication et les services d'entreprise qui utilisent la même

structure d'objet peuvent utiliser le même nom de table d'interface ou différentsnoms de tables d'interface.

v Les canaux de publication et les services d'entreprise qui utilisent une structured'objet différente doivent utiliser d'autres noms de table d'interface.

Tables de file d'attente d'interface

Les tables de file d'attente d'interface identifient la séquence dans laquelle unsystème destinataire traite les enregistrements dans les tables d'interfacerespectives. Il existe deux tables de file d'attente, une pour les transactionsentrantes et une autre pour les transactions sortantes. Certaines transactionsdépendent de la réussite du traitement d'une transaction précédente. Par exemple,vous devez créer un utilisateur avant de pouvoir l'ajouter à un groupe de sécurité.Le système destinataire doit traiter les enregistrements dans la même séquencedans laquelle le système expéditeur a créé les enregistrements.

Tableau 43. Table de file d'attente d'interface

Table de file d'attente d'interface Direction

MXOUT_INTER_TRANS Sortant

MXIN_INTER_TRANS Entrant

Les applications externes qui extraient des données pour les messages sortantspeuvent utiliser la table de file d'attente d'interface sortante (mxout_inter_trans).Toutefois, les applications externes peuvent aussi choisir d'utiliser d'autresméthodes de consommation de messages sortants qui répondent à leurs exigencesd'intégration.

Toutes les transactions entrantes et sortantes doivent avoir un enregistrementinséré dans la table de file d'attente entrante ou sortante correspondante. Cetenregistrement contient une valeur TRANSID, un identificateur unique quiidentifie la table d'interface dans laquelle les données de transaction sont écrites.La table d'interface correspondante utilise la valeur TRANSID pour identifierl'enregistrement ou les enregistrements qui sont associés à la transaction. Vouspouvez identifier le contenu d'une transaction en recherchant tous lesenregistrements disposant d'une valeur TRANSID donnée dans la table d'interfacecorrespondante.

La séquence de TRANSID identifie la séquence dans laquelle les enregistrementssont traités par l'infrastructure d'intégration. Par exemple, lorsque les utilisateurs etles groupes de sécurité sont saisis dans le système, les valeurs TRANSID del'enregistrement de l'utilisateur doivent être inférieures aux valeurs TRANSID desenregistrements du groupe de sécurité qui référencent cet utilisateur.

332 Intégration de données à des applications externes

Page 341: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

La différence entre les tables de file d'attente MXIN_INTER_TRANS etMXOUT_INTER_TRANS est la direction des enregistrements de la table d'interfacedont elles font le suivi. Le système externe doit écrire dans la table de file d'attenteMXIN_INTER_TRANS et l'infrastructure d'intégration doit la lire. Cette dernièreécrit dans la table de file d'attente MXOUT_INTER_TRANS et le système externe lalit.

Le système externe peut utiliser la table MXOUT_INTER_TRANS ou extraire desenregistrements sortants à partir des tables d'interface. Les tables de file d'attented'interface sont générées la première fois que vous créez des tables d'interface pourun point de terminaison. Chaque point de terminaison dispose de ses proprestables de file d'attente d'interface et d'un compteur afin de conserver la valeurTRANSID sortante.

Création de tables d'interfaceLorsqu'un service d'entreprise et un canal de publication utilisent la même tabled'interface, la fenêtre Créer les tables d'interface affiche la liste des tablesd'interface en fonction du caractère unique du nom de la table d'interface et de sonpoint de terminaison correspondant.

Vous pouvez créer des tables d'interface pour les services d'entreprise et les canauxde publication lorsque les structures d'objet associées sont marquées commeprenant en charge les structures à plat. La case Prend en charge les structures àplat doit être cochée dans la structure d'objet. En outre, tous les conflits d'aliasrelatifs à la structure d'objet doivent être résolus avant de créer une tabled'interface.

Vous pouvez créer des tables d'interface pour la synchronisation des données dansles services d'entreprise et les canaux de publication. Les tables d'interface neprennent pas en charge les opérations de requête et d'appel. Vous pouvez créer destables d'interface pour un point de terminaison spécifique. Vous devez identifierl'emplacement dans lequel les tables sont créées.

L'emplacement de la base de données qui est référencée par le point determinaison peut être une base de données locale ou distante. Lorsque vous créezdes tables d'interface dans une base de données locale, les colonnes sontenregistrées dans le référentiel de données système. Les tables d'interface localesqui utilisent une table de base de données et une colonne de base de donnéesaffichent toutes les mises à jour (sauf les insertions et les suppressions) dans unattribut de colonne de base (comme le type de données) lors de la configuration dela base de données. Lorsque des colonnes sont ajoutées à ou supprimées de la tablede base, vous devez régénérer le service d'entreprise correspondant et les tablesd'interface du canal de publication afin d'appliquer les changements dans lacolonne. Aucun changement n'est appliqué dans les bases de données distantes.Vous devez régénérer les tables d'interface distantes afin d'appliquer leschangements dans la colonne.

Régénération des tables d'interfaceLorsque des colonnes sont ajoutées ou supprimées des tables de la base dedonnées du système, vous devez régénérer toutes les tables d'interface locales etdistantes qui sont associées à ces structures d'objet.

Pour régénérer les tables d'interface, utilisez l'action Créer des tables d'interfacedans l'application Systèmes externes. Si vous cochez la case Renommer l'existant,

Intégration de données à des applications externes 333

Page 342: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

l'application sauvegarde les données existantes de la table d'interfacecorrespondante dans la table INTERFACETABLENAME_BAK.

Vous pouvez restaurer les données dans la nouvelle table, le cas échéant. Selon laconfiguration de l'environnement multilocation, il se peut que vous ayez besoin dufournisseur système pour accéder aux données que vous voulez restaurer. Si vousne sauvegardez pas la table, elle sera supprimée et les données seront perdues lorsde la régénération de la table. Vous ne pouvez pas régénérer une table d'interfacelorsque la table de file d'attente MXIN_INTER_TRANS contient un enregistrementqui pointe vers cette table d'interface. S'il existe une ligne dans cette table de filed'attente, la transaction entrante correspondante est prête à être traitée ou latransaction entrante affiche une erreur.

Le processus de création d'une table d'interface ne vérifie pas les enregistrementsdans la table de file d'attente MXOUT_INTER_TRANS.

Suppression de tables d'interface et d'enregistrementsLorsque des enregistrements de transactions entrantes sont correctement traitésdans une table d'interface, l'enregistrement correspondant est supprimé de la tablede la file d'attente MXIN_INTER_TRANS. La suppression indique que latransaction a été correctement distribuée dans la file d'attente JMS entrante.

Les enregistrements sont supprimés de la table de la file d'attenteMXIN_INTER_TRANS et non pas des tables d'interface individuelles.L'administrateur système détermine à quel moment et de quelle manière lesenregistrements sont supprimés des tables d'interface.

Pour les transactions sortantes, le système externe doit gérer la suppression etl'archivage des données dans la table de la file d'attente et les tables d'interface.Vous ne pouvez pas supprimer des tables d'interface dans l'interface utilisateur ouen supprimant la structure d'objet correspondante. L'administrateur doit gérerl'archivage des données dans les tables d'interface et peut supprimer une table, sinécessaire.

Format des tables d'interfaceUne table d'interface dispose d'un même format que sa structure d'objetcorrespondante, y compris les colonnes permanentes et temporaires et hormis toutecolonne exclue de la structure d'objet.

La table d'interface contient des colonnes supplémentaires qui identifient laséquence dans laquelle le système d'envoi écrit et le système récepteur traite lesenregistrements dans les différentes tables d'interface.

Colonnes clé

Si la table d'interface représente une structure d'objet hiérarchique avec desrelations d'objet parent-enfant, la table n'inclut aucune partie des colonnes clés del'objet enfant qui sont incluses dans les colonnes clé de l'objet parent. Par exemple,PERSONID est une colonne clé dans les enregistrements PERSON, PHONE,EMAIL et SMS. La colonne PERSONID apparaît uniquement au niveau du parent(PERSON) dans la table d'interface MXPERSON_IFACE.

334 Intégration de données à des applications externes

Page 343: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Colonnes et alias en double

La représentation XML d'une structure d'objet hiérarchique contient des noms decolonnes en double, contrairement à une table d'interface et une représentation defichiers à plat. Si une structure d'objet dispose de noms de colonnes non clé endouble dans un objet parent et un objet enfant, une erreur de nom de colonne endouble se produit lorsque la table d'interface ou un enregistrement de fichiers àplat est généré.

Pour résoudre ce problème, changez l'alias d'un des noms de colonnes en double.Chaque colonne de la base de données système peut avoir un autre nom d'alias.Lorsqu'il existe un alias, le système l'utilise lors de la génération des tablesd'interface et des fichiers à plat. Changez l'alias afin de supprimer l'erreur de nomde la colonne en double.

La plupart des colonnes ne disposent pas d'alias, mais certains ont des alias quiprennent en charge les services d'entreprise ou les canaux de publicationprédéfinis.

Une colonne dotée d'une structure d'objet peut posséder un seul alias. Si lastructure d'objet est utilisée par plusieurs canaux de publication et servicesd'entreprise, tout changement apporté à un alias affecte l'ensemble des tablesd'interface associées à cette structure d'objet.

Les colonnes dans les structures d'objet prédéfinies disposent l'alias assignés par lesystème. Vérifiez l'existence de doubles lorsque vous créez une structure d'objethiérarchique ou lorsque vous ajoutez un objet à une structure d'objet prédéfinie. Lafenêtre Ajouter/Supprimer un alias montre les zones et les alias des objets dansune structure d'objets sélectionnée et identifie tout nom d'alias en double à l'aided'une coche dans la colonne en double. S'il existe un alias en double, écrasez savaleur dans la colonne ALIASNAME.

Colonnes restreintes

La zone HASLD est une colonne système interne qui est exclue de toutes lesstructures d'objet. N'incluez cette colonne dans aucune structure associée à unetable d'interface. La zone LANGCODE est aussi exclue des structures d'objetprédéfinies.

Colonnes de traitement d'intégration

Le tableau suivant affiche les colonnes qui sont utilisées dans l'organisation,l'extraction et le traitement de la table d'interface. Certaines colonnes se trouventdans les tables de files d'attente d'interface ou dans les tables interface ; certainesfigurent parfois dans les deux.

Tableau 44. Colonnes de traitement d'intégration

Nom de colonneTable de file d'attente

d'interfaceTable

d'interface Description

IFACENAME Oui Non La colonne IFACENAME contient le nom du serviced'entreprise ou du canal de publication utilisé dans unetransaction. La colonne est renseignée dans lestransactions sortantes. Pour les transactions entrantes, lesystème externe doit renseigner la colonne avec le nomdu service d'entreprise ou le canal de publication quicorrespond à la ligne insérée dans une table d'interface.

Intégration de données à des applications externes 335

Page 344: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 44. Colonnes de traitement d'intégration (suite)

Nom de colonneTable de file d'attente

d'interfaceTable

d'interface Description

TRANSID Oui Oui La colonne TRANSID dans une table de file d'attented'interface correspond à un numéro séquentiel quiidentifie de façon unique une transaction d'intégration.La colonne TRANSID et le nom de la table d'interfaceidentifient une transaction unique. La table de filed'attente d'interface peut contenir un enregistrementavec une valeur TRANSID. La table d'interfacecorrespondante peut contenir un ou plusieursenregistrements avec la colonne TRANSID, en fonctiondu nombre d'enregistrements écrits dans cette tabled'interface dans le cadre de ce service d'entreprise oudu canal de publication.

Si une transaction écrit dans plusieurs tables d'interface,la table de file d'attente d'interface contient unenregistrement distinct avec une valeur TRANSIDunique pour chaque table d'interface.

Chaque table de file d'attente d'interface conserve sonpropre compteur TRANSID. La valeur TRANSIDsortante est initialisée lorsque les enregistrements de latable de file d'attente d'interface sont générés. Vousdevez créer et conserver les compteurs TRANSID quirenseignent les tables de file d'attente entrantes et lesenregistrements de tables d'interface.

Si les systèmes externes ne gèrent pas correctement lescompteurs TRANSID entrants, le traitement séquentieln'est pas garanti. Vérifiez que les valeurs TRANSIDgénérées par le système externe ne duplique pas lavaleur TRANSID qui est générée. Des erreurs seproduisent s'il existe des valeurs TRANSID en doubleet lorsque vous traitez la même structure d'objet dansune direction entrante et sortante en utilisant une seuletable d'interface.

Chaque point de terminaison dispose de son propreensemble de tables de file d'attente d'interface et de sonpropre compteur TRANSID sortant.

TRANSSEQ Non Oui Lorsque plusieurs enregistrements dans une tabled'interface partagent la même valeur TRANSID, lacolonne TRANSSEQ fournit un numéro de séquencesecondaire indiquant la séquence dans laquelle cesenregistrements doivent être traités.

EXTSYSNAME Oui Non La colonne EXTSYSNAME dans les tables de filed'attente de l'interface peuvent contenir des donnéesentrantes ou sortantes. Pour les transactions entrantes,la colonne contient le nom d'un système externe valideet activé qui est défini dans l'infrastructured'intégration. Pour les transactions sortantes, la colonnecontient le nom du système externe qui correspond à ladestination de la transaction.

336 Intégration de données à des applications externes

Page 345: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 44. Colonnes de traitement d'intégration (suite)

Nom de colonneTable de file d'attente

d'interfaceTable

d'interface Description

ACTION Oui Non La colonne ACTION contient l'action à exécuter sur lesystème externe (sortante) ou sur l'infrastructured'intégration (entrante). Les actions suivantes peuventêtre utilisées :

v Add : Insère les données fournies dans le message.

v Delete : Supprime les données parent, ainsi que toutedonnée enfant associée, de la base de données.

v Change : Met à jour le contenu des données parent etenfant du message, mais ne supprime pas lesdonnées enfant existantes qui ne sont pasexplicitement spécifiées dans le message.

v Replace : Remplace les enregistrements existants parle contenu du message et supprime les donnéesenfant existantes qui ne sont pas référencées dans lemessage.

v AddChange : Si l'enregistrement principal n'existepas, procède à un traitement en tant qu'action Addet, sinon, traitement en tant qu'action Change.

v Null : Si l'enregistrement principal n'existe pas,procède à un traitement en tant qu'action Add et,sinon, traitement en tant qu'action Replace.

IMPORTMESSAGE Oui (entrantuniquement)

Non La colonne IMPORTMESSAGE contient un messaged'erreur généré lors du déplacement de la ligne de latable d'interface vers la file d'attente entrante.

TRANSLANGUAGE Oui Non La colonne TRANSLANGUAGE identifie la langue dela transaction. Pour une transaction sortante, cettevaleur indique la langue de l'utilisateur ayant initié latransaction. Pour une transaction entrante, cette valeurindique la langue de la transaction. Tout attribut quiprend en charge un environnement multilingue doitêtre dans la langue que la valeur TRANSLANGUAGEdéfinit.

MESSAGEID Oui (sortantuniquement)

Non La colonne MESSAGEID est un identificateur uniqueque le système attribue à chaque transaction sortante.

IFACETBNAME Oui (sortantuniquement)

Non La colonne IFACETBNAME est le nom de la tabled'interface qui correspond à la colonne IFACENAME.Elle s'applique uniquement aux transactions sortantes.

Colonnes à description détaillée dans Oracle Database

Les colonnes à description détaillées sont stockées dans une colonne d'objet CLOBdans Oracle Database. Les tables d'interface contiennent deux versions de chaquecolonne d'objet CLOB, une avec des données de type CLOB et une avec desdonnées de type ALN et une longueur de caractère de 4000. Dans l'exemplesuivant, le nom de la colonne CLOB correspond à l'alias de la colonne. Le nom dela colonne alphanumérique correspond à l'alias de la colonne dotée du suffixe 2.

Tableau 45. Colonnes à description détaillée dans Oracle Database

Type de données Nom de la colonne de description

CLOB PERSON_DESCRIPTION_LD

Intégration de données à des applications externes 337

Page 346: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 45. Colonnes à description détaillée dans Oracle Database (suite)

Type de données Nom de la colonne de description

ALN PERSON_DESCRIPTION_LD2

Le système renseigne les deux colonnes dans les transactions sortantes. Pour lestransactions entrantes, l'infrastructure d'intégration utilise la valeur figurant dans lacolonne ALN si elle n'affiche pas de valeur null ; sinon, la valeur de la colonneCLOB est utilisée.

Interrogation de la table d'interfaceUne tâche périodique prédéfinie interroge la table d'interface de la file d'attente etutilise les valeurs IFACENAME, EXTSYSNAME et TRANSID pour placer lesenregistrements correspondants dans la file d'attente JMS entrante correspondantepour son traitement. Le processus d'interrogation de la table d'interface vérifie queles noms du système externe et le service d'entreprise sont valides et activés.

Vous devez configurer la tâche périodique pour initier l'interrogation d'une tabled'interface. Vous pouvez aussi exécuter des tâches supplémentaires pour améliorerles performances lors de l'interrogation d'une table d'interface.

Tâche périodique d'interrogation de la table d'interfaceLa tâche périodique IFACETABLECONSUMER est une tâche périodique prédéfiniequi interroge la table de la file d'attente de l'interface entrante pour traiter denouveaux enregistrements.

Le processus d'interrogation de la table d'interface vérifie que le système externe etles noms des services d'entreprise sont valides et actifs. Si ce n'est pas le cas,l'enregistrement est marqué comme contenant une erreur et reste dans la tabled'interface.

Si vous désactivez l'interrogation de la table d'interface, les nouveauxenregistrements restent dans les tables d'interface. Les messages qui ont étéenvoyés dans la file d'attente JMS entrante sont traités.

Vous devez configurer un mécanisme pour extraire des transactions sortantes destables d'interface. Vous pouvez utiliser un programme d'interrogation, comme lefait le système pour les transactions entrantes, les déclencheurs ou tout autremécanisme.

La tâche périodique dispose des paramètres suivants que vous pouvez configurer.Tous les paramètres sont facultatifs.

Tableau 46. Paramètres de la tâche périodique pour l'interrogation de la table d'interface

Paramètre Description

EXITCLASS Classe d'exit Java qui active la manipulationdes données avant qu'elles ne soient écritesdans une file d'attente entrante.

ENDPOINT Point de terminaison associé à la tabled'interface. La valeur par défaut correspondà la valeur du point de terminaisonprédéfini qui pointe vers la base de donnéeslocale.

338 Intégration de données à des applications externes

Page 347: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 46. Paramètres de la tâche périodique pour l'interrogation de la tabled'interface (suite)

Paramètre Description

ENTERPRISESERVICE Service d'entreprise à interroger. La valeurpar défaut (valeur null) est "tous les servicesd'entreprise" (all enterprise services). Si vousindiquez une valeur pour ce paramètre,vous devez également indiquer une valeurpour le paramètre EXTSYSNAME. Lesvaleurs limitent l'unité d'exécutiond'interrogation à un service d'entreprisespécifique au lieu d'un comportement pardéfaut qui interroge tous les servicesd'entreprise.

TARGETENABLED Assurez-vous que la valeur est définie surcelle par défaut (0 (faux)). La fonctionnalitédonotrun est prioritaire sur la fonctionnalitéde cet indicateur. Utilisez le paramètredonotrun dans l'infrastructure de la tâchepériodique pour indiquer les serveurs surlesquels exécuter la tâche.

EXTSYSNAME Système externe à interroger.

QUEUETABLE Table de la file d'attente du serviced'entreprise. La valeur par défaut estMXIN_INTER_TRANS.

Interrogation avancée de la table d'interfaceVous pouvez effectuer une configuration avancée du processus d'interrogation dela table d'interface afin d'améliorer ses performances lors de la lecture de donnéesà partir des tables d'interface.

Si vous envoyez des messages entrants via la file d'attente JMS continue et quevous ne souhaitez pas conserver les messages dans la séquence premier entré -premier sorti, vous pouvez améliorer les performances d'interrogation de la tabled'interface.

Plusieurs tâches périodiques

Le processus d'interrogation de la table d'interface utilise une seule tâchepériodique pour lire tous les messages de toutes les tables d'interface pour tous lessystèmes externes qui écrivent dans les tables. Pour obtenir de meilleuresperformances, vous pouvez configurer plusieurs instances de la tâche périodiqueIFACETABLECONSUMER avec plusieurs valeurs de propriété. Une interrogation àunités d'exécution multiples est utile dans une configuration en cluster, carplusieurs unités d'exécution peuvent s'exécuter sur différents serveurs, équilibrantainsi la charge.

Pour désigner l'exécution d'une instance de la tâche périodique sur un serveurd'applications spécifique, dans l'application Configuration de la tâche périodique,définissez la propriété TARGETENABLED sur 1 et définissez-DIFACETBCONSUMER.instance1=1 sur le serveur d'applications. Si vous implémentezplusieurs tâches périodiques, vous devez aussi implémenter des sélecteursmutuellement exclusifs afin d'éviter de traiter plusieurs fois un même message.

Intégration de données à des applications externes 339

Page 348: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pour définir des sélecteurs, attribuez des valeurs aux paramètres EXTSYSNAME etENTERPRISESERVICE dans l'application Configuration de la tâche périodique. Parexemple, vous pouvez définir EXTSYSNAME=EXTSYSNAME1 etENTERPRISESERVER=MXPERSONInterface. Utilisez un délimiteur de canal decommunication pour ajouter plusieurs tables, telles que SetENTERPRISESERVICE=MXPERSONInterface|MXPHONEInterface.

Si vous configurez plusieurs instances d'une tâche périodique, les sélecteursdoivent être mutuellement exclusifs, afin que les messages ne soient pas traitésplusieurs fois. Les sélecteurs doivent extraire toutes les transactions de serviced'entreprise que vous utilisez, afin qu'aucun message ne reste non traité.

Plusieurs files d'attente

Vous pouvez améliorer les performances en configurant plusieurs tables de filed'attente d'interface. Par exemple, vous pouvez écrire chaque interface dans unetable de file d'attente distincte et définir des tâches périodiques distinctes pourtraiter les tables de files d'attente indépendamment les unes des autres. Vouspouvez aussi configurer des tables de files d'attente distinctes pour chaque systèmeexterne et, dans chaque table de file d'attente, définir des sélecteurs pour chaqueinterface. En fonction de la complexité de votre intégration, vous pouvez utiliserplusieurs tables de files d'attente à la place de plusieurs sélecteurs. Pour configurerplusieurs tables de file d'attente, créez des tables de file d'attente dans la mêmebase de données que les tables d'interface et incluez toutes les colonnes qui setrouvent dans la table de file d'attente MXIN_INTER_TRANS. Vous devezconcevoir le système externe pour qu'il écrive dans les tables de file d'attenteadéquates. Vérifiez que le système externe n'insère pas un message de tabled'interface dans plusieurs tables de file d'attente afin qu'il ne soit pas traitéplusieurs fois.

Traitement des tables d'interface sur un système externePour activer l'utilisation des tables d'interface par un système externe, vous devezcréer des tables d'interface, définir des procédures de sauvegarde pour larestauration des tables d'interface et configurer l'archivage de ces dernières.

Activation du traitement entrantPour configurer le traitement d'événements entrants des données de tabled'interface à partir d'un système externe, vous devez créer un compteur TRANSIDainsi que des enregistrements pour la table d'interface et la file d'attente.

Avant de commencer

Pour utiliser des tables d'interface, vous devez créer les tables et configurer latâche périodique IFACETABLECONSUMER.

Procédure1. Créez et initialisez le compteur TRANSID entrant.2. Créez des enregistrements pour chaque table d'interface sur laquelle écrit une

transaction entrante, en fournissant les informations suivantes pour chaqueenregistrement :a. les données de transaction ;b. la valeur TRANSID incrémentée ;c. s'il existe plusieurs enregistrements pour la même table d'interface, la valeur

TRANSSEQ incrémentée.

340 Intégration de données à des applications externes

Page 349: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

3. Créez un enregistrement de file d'attente MXIN_INTER_TRANS avec lesinformations suivantes :a. la même valeur TRANSID que celle contenue dans l'enregistrement de la

table d'interface ;b. le nom du service d'entreprise correspondant à la table d'interface, dans la

colonne IFACENAME ;c. Facultatif : la valeur ACTION ;d. l'identificateur du système externe, dans la colonne EXTSYSNAME.

4. Exécutez un seul essai pour valider tous les enregistrements d'une transactionen une fois.

Activation du traitement sortantPour configurer un traitement d'événement sortant, vous devez installer etconfigurer un processus, tel qu'un programme d'interrogation ou un déclencheur,pour extraire des transactions de la table de file d'attente MXOUT_INTER_TRANS.

Avant de commencer

Pour utiliser des tables d'interface, vous devez les créer.

Procédure1. Configurez un processus pour extraire des transactions de table d'interface à

l'aide de la table de file d'attente MXOUT_INTER_TRANS. Vous pouvez utiliserun programme d'interrogation, un déclencheur ou tout autre mécanisme.

2. Pour que le programme d'interrogation exécute des transactions de manièreséquentielle, configurez-le pour lire les enregistrements dans la table de filed'attente MXOUT_INTER_TRANS dans la séquence TRANSID.

3. Activez chaque enregistrement dans la table de file d'attenteMXOUT_INTER_TRANS :a. Accédez à la table d'interface que vous venez d'identifier et extrayez le

premier enregistrement dans lequel la valeur TRANSID correspond à lavaleur TRANSID dans l'enregistrement de file d'attenteMXOUT_INTER_TRANS en cours. Si la table d'interface contient plusieursenregistrements avec la même valeur TRANSID, extrayez-les et traitez-lesdans la séquence TRANSSEQ.

b. Exécutez les données en fonction de la valeur de la colonne ACTION de latable de file d'attente de l'interface.

4. Validez tous les enregistrements d'une seule transaction de base de données.5. Supprimez l'enregistrement en cours de la table de file d'attente

MXOUT_INTER_TRANS.

Que faire ensuite

Implémentez la gestion des erreurs en fonction des exigences de votre systèmeexterne.

Modules d'intégrationUn module d'intégration fournit un mécanisme pour un produit de gestion deprocessus permettant d'appeler un produit de gestion opérationnel externe. Vouspouvez configurer un module d'intégration pour automatiser des opérations degestion logique, comme le déploiement le logiciels, en utilisant un produit degestion opérationnelle.

Intégration de données à des applications externes 341

Page 350: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Un produit de gestion de processus peut appeler un module d'intégration à partird'une application, d'un processus de flux de travaux ou d'un processus d'escalade.Le module d'intégration appelle ensuite un produit de gestion opérationnelle. Cedernier automatise un processus de gestion de service, comme le déploiement delogiciels. L'implémentation renvoie les résultats au produit de gestion de processus.

Si des modules prédéfinis sont fournis avec votre produit de gestionopérationnelle, utilisez le programme d'installation de solutions de processus pourles charger dans l'infrastructure d'intégration. Si vous connaissez l'interface deprogrammation du produit de gestion opérationnelle, vous pouvez créer desmodules d'intégration si aucun n'existe.

Composants du module d'intégrationUn module d'intégration est constitué de composants d'infrastructure d'intégrationdéfinis. Vous pouvez configurer le module d'intégration afin de l'implémentercomme classe Java ou canal d'appel.

Lors de l'installation d'un module d'intégration prédéfini, les artefacts du moduled'intégration sont fournis avec la classe Java et des fichiers XSL. Ce module fournitégalement des définitions d'opérations de gestion logique.

Définitions du module d'intégrationLors de l'installation d'un module d'intégration, les options que vous sélectionnezpermettent de former les définitions du module.

La définition du module d'intégration contient les informations suivantes :v Le nom, la version et la description de l'intégration.v Le produit de gestion opérationnelle et sa version.v Le gestionnaire qui identifie le protocole que le module d'intégration utilise pour

appeler un produit de gestion opérationnelle.v Le choix d'implémentation du module d'intégration, une classe Java ou un canal

d'appel.

Les composants suivants figurent dans la définition du module d'intégration :v Les opérations de gestion logique prises en charge par le module d'intégration.v Les propriétés du module d'intégration qui sont uniques au module

d'intégration. Utilisez-les pour configurer le comportement du moduled'intégration.

Produits de gestion opérationnelleUn produit de gestion opérationnelle automatise les processus système, comme ledéploiement de logiciels. Les services du produit de gestion opérationnelle sontexécutés sur des actifs, par exemple : des serveurs. Les actifs sont aussi appelés"éléments de configuration".

Il peut y avoir plusieurs instances de produits de gestion opérationnelle dans unenvironnement de production. Plusieurs produits de gestion opérationnellepeuvent gérer un seul élément de configuration. Chaque produit de gestionopérationnelle dispose de son propre identificateur unique, un jeton source, pourchaque élément de configuration.

La base de données contient un référentiel d'informations sur le produit de gestionopérationnelle et les éléments de configuration. Ces informations contiennent lesrelations entre les produits de gestion opérationnelle et les éléments de

342 Intégration de données à des applications externes

Page 351: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

configuration, ainsi que les jetons source qui effectuent l'intégration entres lesproduits de gestion de processus et les produits de gestion opérationnelle.

Opérations de gestion logiqueLes opérations de gestion logique identifient les actions prises en charge par lesmodules d'intégration, telles que "Get Status" et "Deploy Software". Une opérationde gestion logique est constituée d'une source et d'une cible de données etd'attributs d'objets spécifiques utilisés par la source et la cible au cours d'un appelde processus.

Les opérations de gestion logique servent d'interfaces entre le produit de gestionde processus et le module d'intégration. Vous pouvez concevoir et développerindépendamment des modules d'intégration et des produits de gestion deprocessus. Vous pouvez installer des définitions d'opérations de gestion logiqueavec un produit, mais aussi créer des opérations de gestion logique dansl'application Opérations de gestion logique.

La définition d'une opération de gestion logique contient les propriétés suivantes :

Propriété Description

Nom Nom de l'action, par exemple : Get Status ouDeploy Software.

Espace de nom Qualificateur unique, par exemple :com.ibm.tivoli.deployment.

Structure d'appel v Synchrone : Le produit de gestion deprocessus émet une demande et le moduled'intégration renvoie immédiatement lesrésultats de l'opération.

v Asynchrone unidirectionnel : Le produitde gestion de processus émet unedemande et aucune réponse n'estrenvoyée.

v Réponse différée asynchrone : Le produitde gestion de processus émet unedemande et un jeton identifie l'instance dela demande. Le produit de gestion deprocessus transmet le jeton comme entréeà une autre opération de gestion logiquequi obtient ensuite le statut de lademande d'origine.

v Rappel asynchrone : Le produit de gestionde processus émet une demande et unjeton identifie l'instance de la demande.Le produit de gestion opérationnelleutilise un jeton pour effectuer un rappelafin d'identifier et signaler le statut de lademande d'origine. Ce rappel, émis par lemodule d'intégration, insère ou met à jourun objet métier.

Objet métier source Objet d'entrée pour l'opération de gestionlogique.

Objet métier de réponse Sortie de l'objet pour l'opération de gestionlogique.

Intégration de données à des applications externes 343

Page 352: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Propriété Description

Attributs d'objets métier Attributs spécifiques des objets qui sontrequis pour l'entrée ou la sortie et leurstypes de données.

Les objets d'entrée et les attributs des objets d'entrée identifient les données que leproduit de gestion de processus transmet au module d'intégration. Si l'opération degestion logique est configurée avec des attributs d'entrée et qu'elle ne contient pasun objet d'entrée, le produit de gestion de processus peut transmettre n'importequel objet métier disposant des attributs d'entrée requis. Si un objet d'entrée estspécifié, le produit de gestion de processus doit transmettre l'objet métier aumodule d'intégration. L'objet de réponse et les attributs identifient les données querenvoie le module d'intégration.

Configuration requise pour l'implémentationAvant de procéder à toute implémentation d'un module d'intégration, vous devezvous assurer que l'opération de gestion logique est associée à un ou plusieursmodules d'intégration. Le module d'intégration doit ensuite être associé à unproduit de gestion opérationnelle. Pour finir, les opérations de gestion logique surchaque produit de gestion opérationnelle doivent être activées.

Associations d'opérations de gestion logique

En général, il existe une communication un à un entre une opération de gestionlogique et une fonction du produit de gestion opérationnelle. Toutefois, un seulappel de l'opération de gestion logique peut inciter le module d'intégration àappeler un produit de gestion opérationnelle plusieurs fois.

Un module d'intégration qui utilise un canal d'appel peut exécuter des opérationsde gestion logique uniquement dans les circonstances suivantes :v L'objet source défini dans l'opération de gestion logique doit correspondre à

l'objet principal de la structure d'objet de demande définie dans le canal d'appel.v Si le canal d'appel n'est pas configuré pour traiter une réponse, vous ne pouvez

pas associer un objet de réponse avec l'opération de gestion logique.v L'objet de réponse défini dans l'opération de gestion logique doit correspondre à

l'objet principal de la structure d'objet de réponse définie dans le canal d'appel.Il doit y avoir une correspondance lorsque vous configurez le canal d'appel pourtraiter une réponse.

Associations de produits de gestion opérationnelle

Le module d'intégration peut prendre en charge plusieurs opérations de gestionlogique pour un produit de gestion opérationnelle. Lors de l'exécution du moduled'intégration, le nom et les valeurs d'espace de nom de l'opération de gestionlogique indiquent l'action à accomplir.

Les associations du produit de gestion opérationnelle au module d'intégration sontcréées lorsque les valeurs OMPPRODUCTNAME et OMPVERSION sont ajoutéesau module d'intégration. Si plusieurs versions du produit de gestion opérationnellesont utilisées avec le module d'intégration, utilisez une valeur null pourOMPVERSION.

344 Intégration de données à des applications externes

Page 353: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Activation de la gestion d'opérations logiques

Plusieurs modules d'intégration peuvent implémenter la même opération degestion logique dans un produit de gestion opérationnelle. Utilisez l'attributISPRIMARY afin d'identifier le module d'intégration préféré pour l'opération degestion logique dans le produit de gestion opérationnelle. Seul un moduled'intégration peut afficher la valeur ISPRIMARY définie sur true pour unecombinaison opération de gestion logique données - produit de gestionopérationnelle.

Propriétés d'implémentationL'infrastructure d'intégration peut automatiquement traiter des donnéesd'intégration lorsque vous implémentez un module d'intégration. Vous pouvezpersonnaliser l'implémentation si vous voulez ignorer des parties du processusautomatique.

Paramètres du module d'intégrationL'infrastructure d'intégration fournit des paramètres d'entrée au moduled'intégration, notamment des objets source et de réponse et des ensembles d'objets,ainsi que des noms de points de terminaison. Ces paramètres sont transmis lors del'exécution d'un module d'intégration en tant que classe Java ou en tant que canald'appel.

Le tableau suivant répertorie les paramètres de l'interfacepsdi.iface.omp.IMConstants et leurs noms.

Nom Description

IM Objet ServiceInvoker instancié pouvant êtreun module d'intégration Java ou un canald'appel.

IMNAME Nom du module d'intégration.

IMVERSION Version du module d'intégration.

LMONAME Nom de l'opération de gestion logique quiest appelée.

LMONAMESPACE Espace de nom de l'opération de gestionlogique qui est appelée.

OMPGUID Identificateur unique global (GUID) duproduit de gestion opérationnelle que lemodule d'intégration utilise.

ENDPOINTNAME Nom du point de terminaison que le moduled'intégration utilise pour communiquer avecle produit de gestion opérationnelle.

ENDPOINTPROP Mappe des propriétésString.psdi.iface.mic.MaxEndPointPropInfo quiécrase les propriétés du point determinaison.

USERNAME Nom d'utilisateur que l'infrastructured'intégration utilise pour communiquer avecle point de terminaison.

PASSWORD Mot de passe de USERNAME.

Intégration de données à des applications externes 345

Page 354: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Flux de processus du module d'intégrationLes modules d'intégration Java renseignent l'objet réponse de l'opération de gestionlogique ou l'ensemble d'objets réponse avec les résultats de l'opération. Pour lescanaux d'appel, vous pouvez spécifier un mappage entre la réponse du produit degestion opérationnelle et l'objet réponse ou l'ensemble d'objets réponse.L'infrastructure d'intégration copie les données dans l'objet réponse ou l'ensembled'objets réponse.

Les modules d'intégration doivent rapidement revenir à leurs appelants. Si leservice externe est un service à exécution longue, le module d'intégration doit créerune autre unité d'exécution. Cette nouvelle unité d'exécution appelle le produit degestion opérationnelle, alors que l'unité d'exécution d'origine revient à l'appelant.

Les modules d'intégration exécutent les tâches de traitement suivantes :1. Ils extraient l'entrée de l'objet source ou de l'ensemble d'objets source.2. Si applicable, ils extraient les propriétés spécifiques au module d'intégration.3. Il exécutent l'ensemble de la logique de traitement que l'opération de gestion

logique exige avant d'appeler le produit de gestion opérationnelle.4. Ils appellent le produit de gestion opérationnelle.5. Si applicable, il gèrent la réponse du produit de gestion opérationnelle.6. Si applicable, il renseignent l'objet réponse ou l'ensemble d'objets réponse avec

les données renvoyées.7. Ils renvoient des informations sur le traitement à l'appelant.

Points de terminaisonUn module d'intégration qui contient un canal d'appel doit utiliser un point determinaison. Un module d'intégration de la classe Java peut utiliser un point determinaison ou une approche personnalisée pour les appels de services externes.

Les points finals contiennent les propriétés de l'URL et du gestionnaire indiquantle mécanisme de transport à utiliser. Un point final disposant d'un gestionnaire deservices Web contient des propriétés différentes par rapport à un point determinaison disposant d'un gestionnaire de ligne de commande. Les points determinaison du module d'intégration et les propriétés du point de terminaisonpeuvent être écrasées au moment de l'exécution lorsque le produit de gestion desprocessus transmet les propriétés du point de terminaison en tant qu'entrée dumodule d'intégration. Les propriétés USERNAME et PASSWORD qui sontrenvoyées du programme de mappage de données d'identification peuvent aussiécraser les propriétés du point de terminaison.

Les modules d'intégration Java peuvent communiquer directement avec un produitde gestion opérationnelle ou un module d'intégration externe, sans utiliser de pointde terminaison. Si vous n'utilisez pas de point de terminaison, le moduled'intégration Java n'a pas à convertir des objets source au format XML requis.Lorsque vous excluez l'utilisation d'un point de terminaison, vous pouvez utilisern'importe quel protocole de communication pris en charge par le produit degestion opérationnelle. Les modules d'intégration ne doivent pas obligatoirementutiliser des points de terminaison. Vous pouvez configurer le module d'intégrationpour communiquer avec un produit de gestion opérationnelle à l'aide despropriétés du module d'intégration.

L'infrastructure d'intégration fournit des gestionnaires prédéfinis prenant en chargeles protocoles de communication, tels que le protocole HTTP et des services Web.Si un gestionnaire prédéfini n'est pas disponible pour prendre en charge le

346 Intégration de données à des applications externes

Page 355: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

protocole de service du produit de gestion opérationnelle, implémentez un moduled'intégration externe. Ce dernier agit en tant qu'interface pour le service duproduit de gestion opérationnelle qui peut utiliser l'un des protocoles disponiblesdu gestionnaire. Une solution alternative consiste à écrire un gestionnairepersonnalisé qui prend en charge le protocole de service du produit de gestionopérationnelle.

Configurez un autre point de terminaison pour chaque produit de gestionopérationnelle afin d'établir des protocoles individuels pour chaque produit. Legestionnaire que vous définissez pour le point de terminaison doit correspondre augestionnaire que vous configurez pour le module d'intégration.

Les modules d'intégration basés sur des canaux d'appel exige un point determinaison. Le nom du point de terminaison est l'un des paramètres quel'infrastructure d'intégration transmet comme entrée au canal d'appel. L'appelantdu module d'intégration peut écraser le nom du point de terminaison.

Peu importe si vous utilisez un gestionnaire du point de terminaison pourcommuniquer avec le produit de gestion opérationnelle, le module d'intégrationdoit gérer des scénarios exigeant plusieurs appels du produit de gestionopérationnelle pour une exécution unique de l'opération de gestion logique.

Implémentation d'un canal d'appel ou d'une classe JavaVous pouvez implémenter un module d'intégration comme classe Java ou canald'appel. Avant de développer un module d'intégration, passez en revue lesavantages et les inconvénients liés à l'utilisation d'un canal d'appel ou d'une classeJava.

Comparaison d'un canal d'appel et d'une classe JavaAvant de développer un module d'intégration, prenez en compte les avantages etles inconvénients liés à l'utilisation d'une classe Java ou d'un canal d'appel.

Avantages et inconvénients liées à l'utilisation d'un canal d'appel

L'implémentation d'un module d'intégration à l'aide d'un canal d'appel présente lesavantages suivants :v Un canal d'appel est utile lors du transfert de données complexes au point de

terminaison. Il est également utile pour la définition d'un mappage clair entre leszones de l'objet source et l'entrée requise pour le point de terminaison.

v Il peut prendre en charge des structures d'objet hiérarchiques dans lestransactions d'entrée et de sortie.

v L'infrastructure d'intégration gère la conversion d'objets au format XML et duformat XML en objets.

v Il peut être configuré pour utiliser des classes de traitement, des exits utilisateuret un mappage XSL pour les transactions entrantes et sortantes.

v L'infrastructure d'intégration procède à l'appel d'un point de terminaison.v Il peut directement être appelé sans être associé à un module d'intégration ou

une opération de gestion logique.v Une intégration simple peut être implémentée en utilisant une configuration

système qui n'exige pas le redémarrage du serveur d'applications.

L'implémentation d'un module d'intégration à l'aide d'un canal d'appel présente lesinconvénients suivants :

Intégration de données à des applications externes 347

Page 356: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Il exige un enregistrement et une configuration plus complexes des artefactssystème, même dans le cas d'un appel simple.

v Plusieurs applications ne peuvent pas utiliser le module d'intégration avecplusieurs objets métier.

v Il exige une meilleure connaissance de l'infrastructure d'intégration.v Il ne prend en charge qu'un seul appel du point de terminaison configuré. Il

exige un codage supplémentaire pour prendre en charge plusieurs appels.v Il exige un codage supplémentaire pour prendre en charge un service à

exécution longue. Par défaut, le canal d'appel attend une réponse du point determinaison.

Avantages et inconvénients liés à l'utilisation d'une classe Java

L'implémentation d'un module d'intégration à l'aide d'une classe Java présente lesavantages suivants :v Elle exige un enregistrement et une configuration plus simples des artefacts

système.v Elle peut être utilisée par plusieurs applications tout en utilisant plusieurs objets

métier.v Elle peut être conçue pour émettre plusieurs appels externes.v Elle peut utiliser différents protocoles de communication pour plusieurs

opérations de gestion logique et produits de gestion opérationnelle.v Elle prend en charge d'utilisation d'une autre unité d'exécution pour s'adapter à

un service à exécution longue.v Elle peut implémenter plusieurs opérations de gestion logique, même lorsque la

configuration d'entrée et de sortie est différente.v Elle a moins tendance à exiger l'utilisation d'un module d'intégration externe.

L'implémentation d'un module d'intégration à l'aide d'une classe Java présente lesinconvénients suivants :v Elle exige davantage de codage Java de votre part.v Elle ne prend pas en charge une structure d'objet avec une relation parent et

enfant en tant qu'entrée ou sortie. Seul l'objet parent peut être utilisé commeentrée et le code Java doit trouver la relation enfant.

v Les conversions objets - format XML et format XML - objets doivent être codéeslorsque vous utilisez un gestionnaire de points de terminaison.

v La personnalisation doit être générée dans la conception du moduled'intégration. Elle ne peut pas être ajoutée ultérieurement sans le redéploiementdu code.

v L'utilisation d'un composant de l'infrastructure d'intégration, comme ungestionnaire de points de terminaison, doit être codée dans la classe Java.

Implémentation d'un canal d'appelLes canaux d'appel utilisent des structures d'objet dans leurs implémentations afinde développer le contenu des données des messages. La structure d'objet utilisel'objet que le produit de gestion de processus transmet comme objet source afin degénérer un enregistrement complet qui peut être composé de plusieurs objetsassociés.

Les objets qui sont identifiés dans les structures d'objet sont utilisés pour lacréation de messages XML. Lorsque vous utilisez un canal d'appel, les données

348 Intégration de données à des applications externes

Page 357: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

doivent se conformer aux schémas XML spécifiés pour les structures d'objetassociées et vous devez définir un point de terminaison pour le canal d'appel.

Les canaux d'appel prennent en charge les classes d'exit de traitement entrant etsortant facultatives. L'infrastructure d'intégration utilise les classes d'exit detraitement pour implémenter une logique supplémentaire. Les classes d'exit detraitement entrant et sortant doivent être des instances de la classe Javapsdi.iface.migexits.ExternalExit.

Pour les transactions sortantes, l'infrastructure d'intégration appelle la méthodesuivante :public StructureData setDataOut(StructureData irData)

Pour les transactions entrantes, l'infrastructure d'intégration appelle la méthodesuivante :public StructureData setDataIn(StructureData erData)

Lorsque vous écrasez ces méthodes, vous pouvez exécuter un traitementsupplémentaire du module d'intégration. Les propriétés qui sont transmises aucanal d'appel sont disponibles pour les classes de traitement.

Le code suivant de la classe de traitement sortant vous montre comment extrairel'identificateur global unique du produit de gestion opérationnel lors de l'exécutiond'un canal d'appel :import psdi.server.MXServer;import psdi.iface.omp.IMConstants;import psdi.iface.omp.OmpServiceRemote;import psdi.iface.mic.*;import psdi.iface.migexits.*;...public class OutboundCIExit extends ExternalExit implements IMConstants{public StructureData setDataOut(StructureData irData)throws MXException, RemoteException{IntegrationContext cntx = IntegrationContext.getCurrentContext();String ompGUID = cntx.getStringProperty(OMPGUID);...

}}

Les fonctions supplémentaires du canal d'appel incluent des classes Java d'exitutilisateur et une couche de mappage XSL. Vous pouvez configurer la couche demappage XSL de sorte à effectuer un mappage XML ou une transformation desdonnées.

Si la structure d'objet dont vous avez besoin pour l'appel de votre moduled'intégration n'existe pas, vous pouvez créer une structure d'objet dansl'application Structures d'objet. Vous pouvez également utiliser XML avec lastructure d'objet MXINTOBJECT pour créer des structures d'objet dans le cadre duprocessus d'installation.

Intégration de données à des applications externes 349

Page 358: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Implémentation d'une classe JavaLes modules d'intégration peuvent être implémentés de sorte à utiliser des fichiersde classe Java. L'utilisation d'un fichier de classe Java évite d'enregistrer et deconfigurer un composant d'intégration. Aussi, toutes les implémentations demodules d'intégration sous-jacentes sont transparentes pour le produit de gestionde processus.

Les modules d'intégration de la classe Java doivent implémenter l'interface Javapsdi.iface.mic.ServiceInvoker Java. L'interface Java de l'appelant du service estincluse dans le fichier businessobjects.jar. Incluez la classe Java du moduled'intégration dans le chemin de la classe système au moment de l'exécution.

L'interface Java de l'appelant de service dispose de variations de la signature deméthode suivante :

public byte[] invoke(Map String,Object metaData, MboRemote sourceMbo,MboRemote targetMbo, String endPointName) throws MXException,RemoteException;

v metaData est une mappe des propriétés du nom et de la valeur qui contient :– Le nom et la version du module d'intégration.– Le nom et l'espace de nom de l'opération de gestion logique.– L'identificateur unique global du produit de gestion opérationnelle.– Le nom du point de terminaison et n'importe quelle propriété du point de

terminaison qui est écrasée.v sourceMbo est l'objet source que vous avez défini sur l'opération de gestion

logique.v targetMbo est l'objet réponse que vous avez défini sur l'opération de gestion

logique.v endPointName est le nom du point de terminaison que vous utilisez pour

communiquer avec le produit de gestion opérationnelle.

Si vous configurez le module d'intégration pour implémenter plusieurs opérationsde gestion logique, le module d'intégration doit déterminer l'opération de gestionlogique à appeler. Au moment de l'exécution, le module d'intégration extrait lespropriétés LMONAME et LMONAMESPACE de la mappe d'entrée metaData :import psdi.iface.omp.IMConstants;...String lmoName = metaData.get(IMConstants.LMONAME);String lmoNamespace = metaData.get(IMConstants.LMONAMESPACE);

Le module d'intégration peut extraire des données de l'opération de gestionlogique à partir de l'objet source. L'exemple de code suivant extrait des valeurs del'opération de gestion logique à partir de l'objet source :String guid = sourceMbo.getString("GUID");int packID = sourceMbo.getInt("PACKID");boolean hasSubs = sourceMbo.getBoolean("HASSUBS");

Dans cet exemple, l'opération de gestion logique dispose d'un attribut d'entréealphanumérique appelé "identificateur unique global", un attribut entier appelé"PACKID" et un attribut booléen appelé "HASSUBS".

Les méthodes de l'appelant de service peuvent utiliser un ensemble de valeursMboSetRemote comme entrée source, au lieu d'une valeur MboRemote unique. Dans

350 Intégration de données à des applications externes

Page 359: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

certains cas, le module d'intégration transmet tous les objets de l'ensemble d'objetsau produit de gestion opérationnelle. Dans d'autres cas, le module d'intégrationtransmet uniquement le premier objet de l'ensemble. Il n'existe aucun règle définiequi s'applique au comportement du module d'intégration, mais vous devezclairement définir le comportement attendu dans la description de l'opération degestion logique.

Traitement du module d'intégrationLes produits de gestion des processus utilisent une action système pour initier unmodule d'intégration. L'action peut être associée à une escalade ou un flux detravaux ou peut être initiée à partir d'un menu ou d'un bouton. Le produit degestion de processus fournit une classe d'action qui appelle le module d'intégrationet traite la réponse renvoyée par le module d'intégration.

Identification des composants d'intégrationLa classe de l'action d'initiation identifie les composants requis pour l'intégration, ycompris l'opération de gestion logique, le produit de gestion opérationnelle et lemodule d'intégration.

L'opération de gestion logique exécute un processus, comme le déploiement d'unlogiciel, sur un élément de configuration en utilisant un produit de gestionopérationnelle. Le produit de gestion de processus fournit une entrée nécessaire aumodule d'intégration, en fonction des attributs et des objets métier d'entrée quisont définis dans l'opération de gestion logique.

La classe d'action Java identifie un produit de gestion opérationnelle qui exécutel'opération de gestion logique sur l'élément de configuration sélectionné. Lors del'installation d'éléments de configuration et de produits de gestion opérationnelle,les relations entre les composants sont également installées.

Un enregistrement du module d'intégration identifie les opérations de gestionlogique qui sont prises en charge sur un produit de gestion opérationnelle. Lorsqueles modules d'intégration, les éléments de configuration et les produits de gestionopérationnelle sont enregistrés, la classe Java du produit de gestion de processuseffectue une recherche. La classe Java détermine les modules d'intégration qu'elleappelle en fonction des éléments de configuration qu'elle utilise.

L'infrastructure d'intégration contient un service qui fournit les méthodes utilitairesuivantes pour aider la classe lors de ses recherches dans les modules d'intégration.

Méthode utilitaire Fonction

psdi.iface.app.omp.OmpSetRemote getOMPListForIM(String imName, String imVersion)

Extrait une liste des produits de gestion opérationnellequi sont associés au module d'intégration.

psdi.iface.app.im.MaxIMSetRemote getIMListForLMO(String lmoName, String lmoNamespace)

Extrait une liste des modules d'intégration quiimplémentent l'opération de gestion logique spécifiée.

psdi.iface.app.im.MaxIMSetRemotegetIMListForLMOWithOMP (String lmoName, StringlmoNamespace)

Extrait une liste des modules d'intégration quiimplémentent l'opération de gestion logique spécifiéedans n'importe quel produit de gestion opérationnelle.

psdi.iface.app.im.MaxIMSetRemote getIMListForOMP(String ompGuid)

Extrait la liste des modules d'intégration quiimplémentent au moins une opération de gestion logiquedans le produit de gestion opérationnelle.

Intégration de données à des applications externes 351

Page 360: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Méthode utilitaire Fonction

Collection getIMListForOMPAndLMO (String ompGUID,String lmoName, String lmoNamespace)

Extrait la liste des modules d'intégration quiimplémentent l'opération de gestion logique dans leproduit de gestion opérationnelle spécifié.

Renvoie une collection d'objetspsdi.iface.omp.OmpImLmoRelInfo.

Collection getIMListForOMPAndLMO (String ompHostname,String ompProductname, String ompManufacturer,String lmoName, String lmoNamespace)

Extrait la liste des modules d'intégration quiimplémentent l'opération de gestion logique dans lesproduits de gestion opérationnelle spécifiés.

Renvoie une collection d'objetspsdi.iface.omp.OmpImLmoRelInfo.

psdi.iface.omp.OmpImLmoRelInfo getPreferredIM(String ompGUID, String lmoName, StringlmoNamespace)

Extrait le module d'intégration préféré qui implémentel'opération de gestion logique sur le produit de gestionopérationnelle spécifié.

psdi.iface.omp.OmpImLmoRelInfo getPreferredIM(String ompHostname, String ompProductname, StringompManufacturer, String lmoName, StringlmoNamespace)

Extrait le module d'intégration préféré qui implémentel'opération de gestion logique dans le produit de gestionopérationnelle spécifié.

Appel du module d'intégrationLes modules d'intégration peuvent être implémentés sous la forme de classes Javaou de canaux d'appel. Les instances du module d'intégration sont appelées"auteurs de l'appel de service" car elles implémentent l'interface Javapsdi.iface.mic.ServiceInvoker.

L'interface de l'auteur de l'appel de service masque l'implémentation sous-jacentede l'appelant. L'appel du module d'intégration par l'appelant est le même, quelleque soit l'implémentation sous-jacente.

Mappe des propriétés de l'appelant du service :

Les méthodes utilitaire de l'appelant du service renvoient une mappe des pairesnom et valeur.

L'interface Java psdi.iface.omp.IMConstants définit les noms des propriétésrenvoyées dans la mappe. La propriété IMConstants.IM contient l'instance dumodule d'intégration que le produit de gestion de processus appelle.

La propriété IMConstants.ENDPOINTNAME contient le nom du point de terminaisonavec lequel elle est associée dans la relation avec le produit de gestionopérationnelle, le module d'intégration et l'opération de gestion logique. Dans laplupart des cas, la propriété du point de terminaison correspond à la valeur que leproduit de gestion de processus transmet au module d'intégration. Toutefois, dansdes cas plus rares, la classe d'action écrase le point de terminaison configuré.

Si un programme de mappage de données d'identification est configuré, lesméthodes utilitaire de l'appelant du service get appellent le programme demappage de données d'identification pour extraire le nom d'utilisateur(USERNAME) et le mot de passe (PASSWORD) utilisés pour communiquer avec lepoint de terminaison. Ces propriétés sont renvoyées par les méthodes utilitairedans une mappe qui est identifiée par la propriété IMConstants.ENDPOINTPROPS.L'appelant peut écraser n'importe quelle propriété du point de terminaison enl'ajoutant à cette mappe.

352 Intégration de données à des applications externes

Page 361: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Avant que la classe d'action n'appelle le module d'intégration, elle doit remplirl'objet source à l'aide des zones d'entrée de l'opération de gestion logique. La classed'action transmet ensuite les données de l'objet source au module d'intégrationavec le mappage renvoyé par la méthode utilitaire de l'appelant du service get.Cette classe fournit l'objet de réponse de l'opération de gestion logique au moduled'intégration, le cas échéant.

L'objet de réponse de l'opération de gestion logique exige des attributs. La classed'action doit vérifier que l'objet de réponse dispose des attributs de l'opération degestion logique. Ces attributs peuvent être permanents ou pas. L'objet de réponsecontient généralement les données de l'objet source.

Méthodes d'appel :

L'infrastructure d'intégration fournit des méthodes d'appel que l'appelant utilisepour appeler un module d'intégration. Ces méthodes utilisent des propriétés pourdéterminer les données d'objet qui sont renvoyées à l'appelant. Ces propriétésdéterminent aussi l'action prise sur les données renvoyées et la manière dontl'infrastructure d'intégration communique avec l'appelant.

L'interface de l'appelant du service dispose de quatre signatures de méthoded'appel :v public byte[] invoke(Map <String,Object> metaData, MboRemote sourceMbo,

MboRemote targetMbo, String endPointName)

v public byte[] invoke(Map <String,Object> metaData, MboRemote sourceMbo,MboSetRemote targetMboSet, int action, String endPointName)

v public byte[] invoke(Map <String,Object> metaData, MboSetRemotesourceMboSet, MboRemote targetMbo, String endPointName)

v public byte[] invoke(Map <String,Object> metaData, MboSetRemotesourceMboSet, MboSetRemote targetMboSet, int action, String endPointName)

La classe d'action transmet les propriétés suivantes lorsqu'elle appelle l'une desméthodes d'appel sur l'appelant du service instancié.

Propriété Description

metaData Mappe de propriété que renvoie la méthodeutilitaire de l'appelant du service get.

Source object and object set Objet avec les attributs d'entrée qui sontdéfinis dans l'opération de gestion logique.Cette propriété peut contenir une valeurnull.

Target object and object set Objet et ensemble d'objets contenant lesdonnées renvoyées. Cette propriété peutcontenir une valeur null.

Action Ce paramètre indique si les objets existantsdans targetMboSet sont mis à jour ou si denouveaux objets sont ajoutés.

Les valeurs possibles de l'action sont :

v psdi.mbo.MboSetRemote.INSERTONLY

v psdi.mbo.MboSetRemote.UPDATEONLY

Nom de point de terminaison Nom du point de terminaison utilisé par lemodule d'intégration pour lacommunication.

Intégration de données à des applications externes 353

Page 362: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Méthode de service du produit de gestion opérationnelle :

Utilisez la méthode de service du produit de gestion opérationnelle lorsque laclasse d'action affiche une relation avec un élément de configuration ou lorsqu'elledispose d'un attribut CIGUID (identificateur unique global d'élément deconfiguration).

Lorsque la classe d'action dispose d'un élément de configuration autorisé, à laplace d'un élément de configuration réel, vous pouvez utiliser l'attribut CIGUID del'élément de configuration autorisé.

La méthode de service suivante extrait une liste des modules d'intégration préférés(appelants de service). Les modules d'intégration implémentent l'opération degestion logique spécifiée dans les produits de gestion opérationnelle qui gèrentl'élément de configuration réel spécifié.

public Collection Map getServiceInvokerListForCIAndLMO(String actCIGUID,String lmoName, String lmoNamespace, UserInfo userInfo)

Chaque produit de gestion opérationnelle affichant une relation avec l'élément deconfiguration réel spécifié renvoie le module d'intégration préféré pour l'opérationde gestion logique.

Méthodes utilitaire de l'appelant de service :

L'utilitaire getServiceInvoker contient des méthodes qui permettent d'extraire uneinstance d'un module d'intégration pour une opération de gestion logique et unproduit de gestion opérationnelle.

Le tableau suivant répertorie les méthodes utilitaire fournies avec l'utilitairegetServiceInvoker.

Méthode utilitaire Fonction

Map<String, Object> getServiceInvoker(psdi.iface.omp.OmpImLmoRelInfo ompImLmoRelInfo,psdi.security.UserInfo userInfo)

Extrait l'appelant de service pour le moduled'intégration, l'opération de gestion logique et le produitde gestion opérationnelle spécifiés.

Map<String, Object> getServiceInvoker(psdi.iface.app.im.OmpImLmoRelRemoteompImLmoRelRemote, psdi.security.UserInfo userInfo)

Extrait l'appelant du service pour le moduled'intégration, l'opération de gestion logique et le produitde gestion opérationnelle spécifiés.

Map<String, Object> getServiceInvoker (StringompGUID, String imName, String imVersion, StringlmoName, String lmoNamespace, psdi.security.UserInfouserInfo)

Extrait l'appelant de service pour le moduled'intégration, l'opération de gestion logique et le produitde gestion opérationnelle spécifiés.

Map<String, Object> getServiceInvoker (StringompGUID, String lmoName, String lmoNamespace,psdi.security.UserInfo userInfo)

Extrait l'appelant de service pour la module d'intégrationpréféré, le produit de gestion opérationnelle spécifié etl'opération de gestion logique.

Collection<Map> getServiceInvokerListForCIAndLMO(String actCIGUID, String lmoName, StringlmoNamespace, psdi.security.UserInfo userInfo)

Extrait une liste des appelants de service pour lesmodules d'intégration préférés qui implémententl'opération de gestion logique spécifiée dans les produitsde gestion opérationnelle.

Les produits de gestion opérationnelle ont une relationavec l'élément de configuration.

354 Intégration de données à des applications externes

Page 363: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Traitement de la réponse du module d'intégrationSi une opération de gestion logique dispose d'un objet réponse, le moduled'intégration le met à jour avec les résultats liés à son appel. La classe d'actiondétermine si les résultats doivent être sauvegardés dans la base de données. Si laclasse d'action ne sauvegarde pas les résultats, vous pouvez sauvegarder lesdonnées lorsque vous affichez les résultats de la réponse dans l'interface utilisateur.

Si l'objet réponse correspond à l'objet principal de l'application ou si l'objet mis àjour se base sur une relation avec l'objet principal de l'application, la classe d'actionne sauvegarde pas l'objet. En revanche, l'interface utilisateur vous invite àsauvegarder l'objet. Toutefois, si l'objet mis à jour n'est pas associé à l'objet del'application principale, la classe d'action sauvegarde et valide les changements.

Configuration de modules d'intégrationLes modules d'intégration reçoivent des demandes de données depuis des produitsde gestion de processus et renvoient les données en réponse depuis des produitsde gestion opérationnelle.

Création de modules d'intégrationVous pouvez créer un module d'intégration pour qu'il transmette des donnéesentre des applications locales et externes. En fonction de vos besoins, vous pouvezimplémenter un module d'intégration en tant que canal d'appel ou classe Java. Laclasse Java et le canal d'appel ont tous les deux accès à la base de données et àtous les objets en mémoire au moment où un produit de gestion de processusappelle un module d'intégration.

Procédure1. Dans l'application Modules d'intégration, cliquez sur Nouveau module

d'intégration.2. Dans les zones Nom et Version, entrez une combinaison unique de nom de

module d'intégration et de numéro de version. La zone Version doit avoir unevaleur commençant par un V suivi d'un nombre entier entre 0 et 9 (compris).L'entier peut ensuite être suivi d'un point décimal (.) et peut comporter jusqu'à17 entiers supplémentaires. Par exemple, V2.99. ou V9.123456.

3. Facultatif : Renseignez les zones suivantes :

Option Description

Nom de produit de gestionopérationnelle

Le produit de gestion opérationnelleappelé par le module d'intégration. Si unmodule d'intégration utilise plusieursproduits, n'indiquez pas le nom deproduit.

Version produit de gestion opérationnelle La valeur de version du produit appelépar le module d'intégration. Si un moduled'intégration utilise plusieurs versionsd'un produit de gestion opérationnelle,n'indiquez pas de version.

Nom de gestionnaire Le protocole utilisé par le moduled'intégration pour appeler un produit degestion opérationnelle. Si le canal d'appelest associé à un point de terminaison, vousne pouvez pas configurer de gestionnairepour le module d'intégration.

Intégration de données à des applications externes 355

Page 364: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Option Description

Nom du canal de l'appel Nom du canal d'appel sur lequel lemodule d'intégration est exécuté. Lemodule d'intégration utilise un canald'appel ou une classe Java. N'indiquezqu'un seul d'entre eux.

Nom de classe Nom de la classe Java exécutée par lemodule d'intégration. Le moduled'intégration utilise un canal d'appel ouune classe Java. N'indiquez qu'un seuld'entre eux.

4. Cliquez sur Sauvegarder le module d'intégration.

Que faire ensuite

Vous pouvez associer une opération de gestion logique à un module d'intégrationpour définir les actions exécutées par les gestionnaires de processus. Vous pouvezégalement associer un produit de gestion opérationnelle à un module d'intégrationpour définir les applications externes que vous pouvez appeler depuis un produitde gestion de processus.

Sélection d'opérations de gestion logique pour les modulesd'intégrationVous pouvez utiliser la boîte de dialogue Sélectionner les opérations pour associerune ou plusieurs opérations de gestion logique avec un enregistrement de moduled'intégration. Les opérations de gestion logique définissent une action exécutée àpartir d'une application par un produit gestionnaire de processus.

Avant de commencer

Vous devez d'abord associer l'opération de gestion logique à un produit de gestionopérationnelle pour qu'un produit de gestion de processus puisse exécuter uneopération de gestion logique. Les enregistrements d'opération de gestion logiqueque vous associez à un module d'intégration qui utilise un canal d'appel doiventavoir une valeur de nom d'objet source. Cette dernière doit être identique à l'objetsource de niveau sommet enregistré auprès du canal d'appel. De plus, lesenregistrements d'opération de gestion logique doivent avoir une valeur de nomd'objet de réponse lorsque le canal d'appel traite les réponses. Cette valeur doitêtre identique à l'objet de niveau sommet enregistré auprès du canal d'appel. Vouspouvez définir les valeurs de source d'opération de gestion logique et d'objet deréponse dans l'application Opérations de gestion logique.

Procédure1. Dans l'application Modules d'intégration, sélectionnez le module d'intégration

que vous souhaitez associer aux opérations de gestion logique.2. Dans l'onglet Opérations de gestion logique, cliquez sur Sélectionner les

opérations.3. Sélectionnez les opérations de gestion logique que vous souhaitez associer à

l'enregistrement de module d'intégration.4. Cliquez sur OK.5. Cliquez sur Sauvegarder le module d'intégration.

356 Intégration de données à des applications externes

Page 365: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Que faire ensuite

Vous pouvez associer un produit de gestion opérationnelle à un moduled'intégration pour définir les applications externes que vous pouvez appelerdepuis un produit de gestion de processus.

Sélection d'opérations de gestion logique pour les produits de gestionopérationnelle :

Vous pouvez utiliser la boîte de dialogue Sélectionner les opérations pour associerune ou plusieurs opérations de gestion logique à un produit de gestionopérationnelle. L'association que vous créez avec le produit de gestionopérationnelle active l'opération de gestion logique. L'activation indique quel'opération de gestion logique est prête à être utilisée.

Avant de commencer

Une opération de gestion logique doit être associée à un module d'intégrationavant de pouvoir être activée sur un produit de gestion opérationnelle.

Procédure

1. Dans l'application Modules d'intégration, sélectionnez le module d'intégrationque vous souhaitez associer aux opérations de gestion logique.

2. Dans le sous-onglet Produits de gestion opérationnelle, sélectionnez le produitde gestion opérationnelle que vous souhaitez associer aux opérations de gestionlogique.

3. Dans la table Opérations de gestion logique pour le produit de gestionopérationnelle, cliquez sur Sélectionner les opérations.

4. Sélectionnez les produits de gestion logique que vous voulez activer pour leproduit de gestion opérationnelle.

5. Cliquez sur OK.6. Cliquez sur Sauvegarder le module d'intégration.

Association d'une opération de gestion logique à un moduled'intégrationVous pouvez associer une opération de gestion logique à un module d'intégrationpour définir les actions exécutées sur un produit de gestion opérationnelle. Lesgestionnaires de processus, tels que les gestionnaires de modifications ou dedéploiement exécutent eux-mêmes un produit de gestion opérationnelle. Le produitde gestion opérationnelle exécute ensuite le produit de gestion logique, qui déploieun logiciel, par exemple, et informe le produit de gestion de processus du statut del'action.

Avant de commencer

Vous devez d'abord associer l'opération de gestion logique à un produit de gestionopérationnelle pour qu'un produit de gestion de processus puisse exécuter uneopération de gestion logique. Les enregistrements d'opération de gestion logiqueque vous associez à un module d'intégration qui utilise un canal d'appel doiventavoir une valeur de nom d'objet source. Cette dernière doit être identique à l'objetsource de niveau sommet enregistré auprès du canal d'appel. De plus, lesenregistrements d'opération de gestion logique doivent avoir une valeur de nomd'objet de réponse lorsque le canal d'appel traite les réponses. Cette valeur doitêtre identique à l'objet de niveau sommet enregistré auprès du canal d'appel. Vouspouvez définir les valeurs de source d'opération de gestion logique et d'objet de

Intégration de données à des applications externes 357

Page 366: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

réponse dans l'application Opérations de gestion logique.

Pourquoi et quand exécuter cette tâche

La valeur du schéma d'appel détermine si l'opération de gestion logique est ou nonà exécution longue. Il détermine également le type de réponse que le produit degestion de processus attend du produit de gestion opérationnelle.

Procédure1. Dans l'application Modules d'intégration, sélectionnez le module d'intégration

que vous souhaitez associer à une opération de gestion logique.2. Dans le sous-onglet Opérations de gestion logique, cliquez sur Nouvelle ligne.3. Renseignez les zones suivantes :

Option Description

Nom d'opération de gestion logique Identifie les actions prises en charge par lesmodules d'intégration ainsi que les actionsdemandées par les produits de gestion deprocessus.

Espace de nom Identifie le domaine du nom de l'opérationde gestion logique. Exemple : com.ibm.mss.

4. Cliquez sur Sauvegarder le module d'intégration.

Que faire ensuite

Vous pouvez associer un produit de gestion opérationnelle à un moduled'intégration pour définir les applications externes que vous pouvez appelerdepuis un produit de gestion de processus.

Association d'un produit de gestion opérationnelle à un module d'intégration :

Vous pouvez associer un produit de gestion opérationnelle à un moduled'intégration pour définir les applications externes que vous pouvez appelerdepuis un produit de gestion de processus. Les gestionnaires de processus, tels queles gestionnaires de modifications ou de déploiement exécutent eux-mêmes unproduit de gestion opérationnelle. Le produit de gestion opérationnelle exécuteensuite le produit de gestion logique, qui déploie un logiciel, par exemple, etinforme le produit de gestion de processus du statut de l'action.

Avant de commencer

Pour qu'une gestion de processus puisse appeler un module d'intégration afind'exécuter une opération de gestion logique sur un produit de gestionopérationnelle, vous devez configurer les composants suivants :v Définir et configurer une opération de gestion logiquev Associer le module d'intégration au produit de gestion logique et de gestion

opérationnellev Activer l'opération de gestion logique pour le module d'intégration sur le

produit de gestion opérationnelle

358 Intégration de données à des applications externes

Page 367: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pourquoi et quand exécuter cette tâche

Vous pouvez créer et configurer les relations entre les modules d'intégration, lesproduits de gestion opérationnelle et les opérations de gestion logique. Vouspouvez également effectuer les actions suivantes :v Associer plusieurs produits de gestion opérationnelle à un module d'intégrationv Activer les opérations de gestion logique sur le produit de gestion opérationnelle

pour le module d'intégrationv Indiquer un module d'intégration par défaut à utiliser pour une opération de

gestion logique sur un produit de gestion opérationnellev Configurer le point de terminaison pour une combinaison module

d'intégration/produit de gestion opérationnelle lorsque le canal d'appel n'estassocié à aucun point de terminaison

Procédure

1. Dans l'application Modules d'intégration, sélectionnez le module d'intégrationque vous souhaitez associer à un produit de gestion opérationnelle.

2. Dans le sous-onglet Produits de gestion opérationnelle, cliquez sur Nouvelleligne.

3. Renseignez les zones suivantes :v Produit de gestion opérationnelle

v Point de terminaison

4. Dans la table Opérations de gestion logique, cliquez sur Nouvelle ligne.5. Saisissez une valeur dans la zone Logical Operation Management Name (Nom

de la gestion d'opération logique). Les valeurs par défaut apparaissent dansles champs Espace de nom et Description.

6. Facultatif : Cochez la case Est principal pour définir le module d'intégrationcomme valeur par défaut pour l'opération de gestion logique sélectionnée.Cochez la case Est principal lorsque vous activez l'opération de gestion logiquesélectionnée sur plusieurs enregistrements de module d'intégration.

7. Cliquez sur Sauvegarder le module d'intégration.

Que faire ensuite

Vous pouvez associer une opération de gestion logique à un module d'intégrationpour définir les actions exécutées sur un produit de gestion opérationnelle.

Configuration d'opérations de gestion logiqueVous pouvez créer une opération de gestion logique pour définir une action qu'unproduit de gestion de processus exécute à partir de l'infrastructure d'intégration.Vous pouvez également définir quels attributs spécifiques de zone d'objet sontutilisés par l'opération de gestion logique.

Création d'opérations de gestion logiqueVous pouvez définir le schéma d'appel pour une opération de gestion logique. Lavaleur du schéma détermine si l'opération de gestion logique est à exécutionlongue, ainsi que la manière dont le produit de gestion de processus attend uneréponse d'un produit de gestion opérationnelle.

Intégration de données à des applications externes 359

Page 368: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Avant de commencer

Vous devez définir une relation d'opération de gestion logique vers un produit degestion opérationnelle et un module d'intégration avant de pouvoir appeler unprocessus.

Procédure1. Dans l'application Applications de gestion logique, cliquez sur Nouvelle

opération de gestion logique.2. Dans la zone Nom, indiquez un identificateur d'opération de gestion logique.3. Renseignez les zones suivantes :

Option Description

Nom d'objet source Objet d'entrée pour l'opération de gestionlogique.

Schéma d'appel Schéma d'un appel d'opération de gestionlogique.

Espace de nom Identificateur pour l'enregistrementd'opération de gestion logique.

Nom d'objet de réponse Sortie de l'objet pour l'opération de gestionlogique.

4. Cliquez sur Sauvegarder l'opération de gestion logique.

Ajout d'attributs aux opérations de gestion logiqueVous pouvez ajouter des attributs à une opération de gestion logique afind'identifier les attributs de zone d'objet spécifiques utilisés par la source et la cibledes données de l'opération de gestion logique. Vous pouvez définir les entréesd'attribut individuelles pour les appels d'opération de gestion logique entrants etsortants.

Pourquoi et quand exécuter cette tâche

Les attributs d'objet d'entrée identifient les données que le produit de gestion deprocessus transmet au module d'intégration. Les attributs d'objet de sortieidentifient les données que le module d'intégration renvoie. Seuls les attributsrespectifs d'objets source et réponse sont disponibles pour les sélections de zone.Tous les attributs d'objet sont disponibles à la sélection si vous n'avez pas définid'objet source ou de réponse

Procédure1. Dans l'application Applications de gestion logique, sélectionnez l'opération de

gestion logique à laquelle vous voulez ajouter un attribut.2. Dans la fenêtre Attributs de l'OGL, cliquez sur Nouvelle ligne.3. Saisissez une valeur dans la zone Nom.4. Facultatif : Décochez la case Entrée pour indiquer que l'attribut concerne la

sortie d'un appel d'opération de gestion logique.5. Facultatif : Décochez la case Requis pour indiquer que l'attribut de zone n'est

pas obligateoir dans l'appel d'opération de gestion logique.

360 Intégration de données à des applications externes

Page 369: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Fonction Lancement dans le contexteUtilisez l'application Lancement dans le contexte pour créer et modifier desenregistrements d'entrée de lancement, ce qui ouvre une application externe dansla même session de navigateur ou dans une session différente. Vous pouvez ouvrirdes applications indépendamment ou dans le cadre d'un scénario d'intégrationd'application.

L'enregistrement d'une entrée de lancement peut utiliser les options suivantes duconcepteur d'applications pour ouvrir une application externe :v Eléments du menu Actionsv Liens hypertextev Boutons

Utilisez l'application Lancement dans le contexte pour créer et mettre à jour lesentrées de lancement. Une entrée de lancement définit une URL qui ouvre uneconsole pour une application externe. Cette entrée peut transmettre des données,appelées "contexte", depuis l'application jusqu'à la console externe. Vous pouvezconfigurer l'URL d'une console pour une application à l'aide d'une console Web.Vous pouvez aussi configurer des URL de console pour des consoles utilisantJava™ Web Start. Vous ne pouvez pas utiliser une entrée de lancement pour ouvrirdes applications qui ne sont pas activées pour le Web. Vous pouvez configurer unpoint de lancement à partir de n'importe quelle application.

Préparation de l'application externeLa plupart des applications externes disposent d'une console Web que vous pouvezouvrir à partir d'une URL dans un navigateur Web. La fonction de lancement encontexte prend en charge l'application Web (servlet ou JSP), le portail et les typesde console Java Web Start.

Pour naviguer, la console de l'application externe doit prendre en charge lafonction de renvoi en contexte qui accepte des données qui lui sont transmisesdans une URL. La console externe utilise l'URL pour ouvrir une fenêtre à l'aide desdonnées transmises dans l'URL.

Si l'application externe ne dispose pas d'une fonction de renvoi en contexte, lafonction de lancement en contexte peut ouvrir une page de démarrage standarddans la console, sans les données contextuelles. Si l'application prend en chargel'authentification de connexion unique, les utilisateurs de l'application sontauthentifiés et orientés vers la console externe. Si l'authentification de connexionunique n'est pas implémentée, la console externe ouvre un panneau de connexionpour authentifier l'utilisateur de l'application.

URL d'entrée de lancement dans une application externeUne valeur d'URL d'entrée de lancement peut contenir des variables desubstitution utilisant les données des objets métier associés que vous affichez dansl'application.

Par exemple, pour une entrée de lancement mise en oeuvre dans l'applicationPersonnes, vous pouvez substituer la valeur du nom dans la chaîne de l'URL àl'aide du nom de l'attribut, {attributename}. L'URL suivante est une URL del'application Personnes qui utilise l'attribut PERSONNAME :

Intégration de données à des applications externes 361

Page 370: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

https://extsyshost:9045/tcWebUI/interactionhandler?actionId=viewPerson&Person={PERSONNAME}

Vous pouvez également fournir un attribut à partir d'un objet associé à l'objetmétier principal en indiquant le nom de la relation et le nom de l'attribut{relationshipname.attributename}. L'URL suivante inclut un attribut ville d'uneadresse. Utilisez cette URL dans l'application Personnes lorsque l'objet ADDRESSest associé à un objet PERSON avec une relation nommée ADDRESS :

https://extsyshost:9045/WebUI/interactionhandler?actionId=viewCity&cityname={ADDRESS.CITY}

Utilisez les valeurs {sourcetoken} et {reportinghostname} dans une URL lorsquevous voulez la lancer sur une console de produit de gestion opérationnelle.

URL d'entrée de lancement dans une application de produitLa valeur d'une URL d'entrée de lancement peut contenir des variables d'attributset une variable de clause Where SQL.

Une application externe peut être lancée dans le produit, elle peut ouvrir uneapplication de produit spécifique et rechercher des objets métier spécifiques àafficher.

Lors de l'ouverture du produit, l'écran de connexion du produit s'affiche. Une foisl'utilisateur connecté, l'application spécifiée s'ouvre. Vous pouvez éventuellementinclure le nom d'utilisateur et le mot de passe dans l'URL afin d'ignorer l'écran deconnexion, mais uniquement si un protocole SSL (Secure Socket Layer) estconfiguré pour sécuriser l'accès HTTP.

L'URL à lancer dans le produit est au format suivant :

http://<serveur>:<port>/<maximo>/ui/<product.jsp>?event=loadapp&value=<IDapp>

L'exemple d'URL suivant ouvre l'application Suivi des interventions et affichel'intervention avec un ID d'une valeur égale à 1000.

http://<serveur>:<port>/<maximo>/ui/<maximo.jsp>?event=loadapp&value=<wotrack>&attrname1=<WONUM>&attrvalue1=<1000>:

Le comportement de la recherche d'un enregistrement est identique à celui del'onglet Liste dans une application, lorsque la ligne du filtre affiche plusieursvaleurs renseignées dans les colonnes. Les noms des attributs correspondent auxnoms de la base de données de l'objet MBO principal pour que l'application soitlancée.

Si une recherche avancée est requise, vous pouvez ajouter une clause SQL WHEREà l'URL, au format utilisé dans l'exemple suivant :

http://:<serveur>:<port>/maximo/ui/maximo.jsp?event=loadapp&value=wotrack&sqlwhere=WONUM%3D1000

L'expéditeur doit indiquer des URL valides. Dans l'exemple précédent, une valeur"=" non valide a été convertie en "%3D".

362 Intégration de données à des applications externes

Page 371: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Si une URL contient des paramètres attribut-type et un paramètre clause SQLWhere, ce dernier est utilisé et les paramètres attribut-type sont ignorés.

Activation du lancement en contextePour ouvrir une fenêtre de navigateur dans une application externe contenant desdonnées contextuelles, l'utilisateur doit pouvoir activer le lancement dansl'application source. L'utilisateur doit également posséder les droits de sécuritépour afficher l'élément de menu ou le bouton de barre d'outils. L'application cibledoit être configurée pour accepter la demande de fenêtre d'une application distanteet des dispositions doivent être prises pour sécuriser la transaction.

Création d'une entrée de lancementVous pouvez créer une entrée de lancement pour ouvrir une application externedans la même session de navigateur ou dans une nouvelle session. Lesenregistrements d'entrée de lancement créent des liens en ligne entre desapplications et des produits de gestion opérationnelle externes ou des sites Web.

Procédure1. Dans l'application Lancement dans le contexte, cliquez sur Nouvelle entrée de

lancement.2. Dans la zone Nom de l'entrée de lancement, indiquez un identificateur

d'entrée de lancement.3. Dans la zone URL de la console, indiquez l'adresse URL d'un site Web ou la

console d'un produit de gestion opérationnelle que vous souhaitez ouvrir dansune session de navigation.

4. Dans la zone Fenêtre de navigateur cible, indiquez l'une des valeurssuivantes :v La valeur _usecurrent (valeur par défaut) ouvre une application ou un site

Web dans la session de navigation en cours.v La valeur _blank ouvre une application ou un site Web dans une nouvelle

session de navigation.5. Facultatif : Si la cible de l'entrée de lancement est une console pour un produit

de gestion opérationnelle, indiquez son nom et sa version dans les zones Nomde produit PGO et Version PGO.

6. Dans la table Contextes de lancement, cliquez sur Nouvelle ligne.7. Dans la zone Nom d'objet de ressource, vous pouvez indiquer un objet

métier qui restreint l'utilisation de l'enregistrement d'entrée de lancement pourles applications prenant en charge cet objet. Une entrée de lancement peutprendre en charge un ou plusieurs objets métier. Aucune restriction nes'applique à l'utilisation de l'entrée de lancement si vous ne sélectionnez pasd'objet métier. Attributs de valeur de classification d'entrée de lancement. Lavaleur de classification peut restreindre les entrées de lancement affichées.Plusieurs objets métier prennent en charge l'attribut de classification. Larestriction de classification est implémentée au moment de l'exécution lorsquevous utilisez des conditions système. Des conditions hors zone sontdisponibles pour le contrôle du comportement de votre entrée de lancement.Vous pouvez également créer vos propres conditions. Par exemple, si vousindiquez PERSON dans cette zone, vous ne pouvez utiliser l'entrée de lancementque dans l'application Personnes. Vous pouvez utiliser l'enregistrementd'entrée de lancement dans n'importe quelle application lorsque la valeur dezone est nulle.

8. Dans la zone Classification de ressource, si des attributs de classification sontdéfinis pour l'objet ressource indiqué, vous pouvez sélectionner des attributs

Intégration de données à des applications externes 363

Page 372: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

qui restreignent l'affichage des entrées de lancement. De nombreux objetsmétier prennent en charge des attributs de classification. La restriction declassification est implémentée au moment de l'exécution lorsque vous utilisezdes conditions système. Des conditions prédéfinies sont disponibles pour lecontrôle du comportement de l'entrée de lancement. Vous pouvez égalementcréer vos propres conditions.

9. Cochez la case Inclure les classifications enfants pour inclure desclassifications de ressource pour des objets enfants dans l'enregistrementd'entrée de lancement.

10. Cliquez sur Sauvegarder l'entrée de lancement.

Que faire ensuite

Vous pouvez associer des enregistrements d'entrée de lancement à des options designature dans l'application Concepteur d'applications. Ces associations définissentet contrôlent les actions de menu pour l'utilisation d'entrée de lancement.

Propriétés spécifiques aux produits de gestion opérationnelle :

Lors de la création d'une entrée de lancement, les propriétés doivent êtrespécialement utilisées avec les produits de gestion opérationnelle.

Lorsque vous associez un produit de gestion opérationnelle à une entrée delancement, l'infrastructure recherche le nom du produit sur les serveurs du produitde gestion opérationnelle dans la base de données qui gère l'élément deconfiguration. Si vous indiquez la version du produit de gestion opérationnelle,l'infrastructure recherche la version spécifiée. Les données du serveur renseignentles variables {sourcetoken} et {reportinghostname} de l'URL de lancement.

Pour déterminer l'élément de configuration que vous utilisez, l'infrastructured'intégration recherche un attribut CIGUID (identificateur global unique del'élément de configuration) dans l'objet métier que vous consultez. Si vous affichezl'objet métier de l'élément de configuration, l'attribut GUID (identificateur globalunique) est utilisé à la place.

Le jeton source est un attribut de la relation entre l'élément de configuration et leserveur du produit de gestion opérationnelle. La console du produit de gestionopérationnelle accepte le jeton source comme identificateur de l'élément deconfiguration. Lorsque vous incluez la valeur {sourcetoken} dans l'URL delancement, l'infrastructure la remplace par le jeton source correspondant pour leserveur du produit de gestion opérationnelle sélectionné.

Le nom d'hôte de génération de rapports correspond au nom d'hôte du serveur duproduit de gestion opérationnelle sélectionné. Lorsque la valeur{reportinghostname} figure dans l'URL de l'entrée de lancement, l'infrastructure laremplace par le nom d'hôte du produit de gestion opérationnelle sélectionné. Lesinformations sur le jeton source et le nom d'hôte sont chargées à partir du moteurde reconnaissance. Si les informations sur le nom d'hôte ne sont pas chargées àpartir du moteur de reconnaissance, vous devez ajouter les informations duserveur du produit de gestion opérationnelle à votre base de données.

Configuration d'une option de signature pour un point delancementLorsque vous créez une option de signature pour un point de lancement, elle peutalors être utilisée dans les commandes d'interface utilisateur.

364 Intégration de données à des applications externes

Page 373: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure1. Dans l'application Concepteur d'applications, sélectionnez l'application dans

laquelle vous souhaitez configurer un point de lancement.2. Sélectionnez l'action Ajouter/Modifier des options de signature.3. Dans la fenêtre Ajouter/Modifier des options de signature, cliquez sur

Nouvelle ligne.4. Indiquez des valeurs dans les zones Option et Description.5. Dans la table Options de signature avancée, sélectionnez l'option Associé à

l'entrée de lancement pour permettre le lancement en contexte. Pour accéder àla table Options de signature avancée, aller jusqu'à la fin de la fenêtreAjouter/Modifier des options de signature et cliquez sur Agrandir pourafficher les options disponibles.

6. Dans la zone Nom d'entrée de lancement, indiquez le nom de l'entrée delancement.

7. Cliquez sur OK pour revenir à l'application Concepteur d'applications.8. Cliquez sur Sauvegarder la définition de l'application pour valider les

modifications apportées à l'application dans la base de données.

Ajout d'un point de lancement à un menu d'applicationAprès avoir configuré une option de signature pour un point de lancement, vouspouvez ajouter l'option à un menu d'application. La procédure est similaire pourajouter le point de lancement à une action ou à un menu de la barre d'outils.

Procédure1. Dans le Concepteur d'applications, choisissez l'une des actions suivantes :

v Ajouter/Modifier le menu Sélectionner une action.

v Ajouter/Modifier le menu de la barre d'outils

2. Cliquez sur Nouvelle ligne.3. Dans la zone Type d'élément, indiquez la valeur OPTION.4. Dans la zone Valeur clé, indiquez le nom de l'option de signature que vous

avez configurée pour le point de lancement.5. Dans la zone Position, spécifiez un nombre pour indiquer la position relative

de l'élément dans le menu.6. Dans la zone Onglets, sélectionnez l'une des valeurs suivantes :

v Sélectionnez la valeur MAIN si l'adresse URL de lancement contient desvariables de substitution.

v Sélectionnez la valeur ALL si l'adresse URL de lancement ne contient pas devariables de substitution.

7. Indiquez des valeurs dans d'autres zones facultatives si nécessaire.8. Cliquez sur OK pour revenir à l'application Concepteur d'applications.9. Cliquez sur Sauvegarder la définition de l'application pour valider les

modifications apportées à l'application dans la base de données.

Que faire ensuite

Avant que les utilisateurs ne puissent voir l'élément de menu ou le bouton debarre d'outils, vous devez octroyer des privilèges d'accès d'utilisateur et de groupe.Octroyez les privilèges dans la section Options de l'onglet Applications dansl'application Groupes de sécurité.

Intégration de données à des applications externes 365

Page 374: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Ajout d'un bouton comme point de lancementPour ajouter un bouton à une application agissant comme point de lancement,configurez un bouton pour utiliser l'option de signature pour le point delancement.

Procédure1. Dans l'application Concepteur d'applications, cliquez sur Palette de contrôles.2. Faites glisser un bouton de commande sur l'espace de travail de l'application.3. Ouvrez la fenêtre Propriétés du bouton de commande.4. Dans la zone Libellé, indiquez le nom que vous souhaitez voir s'afficher sur le

bouton.5. Dans la zone Evénement, indiquez le nom de l'option de signature.6. Cliquez sur OK pour revenir à l'application Concepteur d'applications.7. Cliquez sur Sauvegarder la définition de l'application pour valider les

modifications apportées à l'application dans la base de données.

Ajout d'une condition à un point de lancementVous pouvez créer une condition et l'associer à l'option de signature pour le pointde lancement. Lorsque vous associez une condition à une option de signature, lecomportement de l'interface utilisateur est modifié en fonction de la condition etdes données affichées.

Procédure1. Dans l'application Groupes de sécurité, sélectionnez le groupe pour lequel vous

souhaitez appliquer une condition.2. Dans l'onglet Application, sélectionnez l'application pour laquelle vous

souhaitez appliquer une condition.3. Dans la table Options, sélectionnez la valeur de condition créée.4. Cliquez sur Sauvegarder le groupe.

Conditions de l'option de signature :

Vous pouvez appliquer des conditions pour contrôler le comportement del'interface utilisateur en fonction des données affichées.

L'infrastructure d'intégration fournit une classe de condition prédéfinie,psdi.iface.app.launch.LaunchCICondition, pour masquer les éléments du menu del'entrée de lancement lorsque la classification de l'objet en cours ne correspond pasà la valeur de classification de l'entrée de lancement. Cette condition s'applique àn'importe quel objet disposant d'un attribut de classification.

Les éléments du menu de l'entrée de lancement peuvent aussi être masquéslorsque le produit de gestion opérationnelle configuré dans l'entrée de lancementne gère pas l'élément de configuration. Cette condition s'applique aux entrées delancement que vous associez à un objet de l'élément de configuration ou un objetde l'élément de configuration en cours.

Vous pouvez configurer une condition pour utiliser la classe de conditionprédéfinie. Vous pouvez aussi configurer une condition pour implémenter unecondition personnalisée à l'aide de l'application Gestionnaire d'expressionsconditionnelles.

366 Intégration de données à des applications externes

Page 375: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Le point de lancement est disponible dans l'application, peu importe les donnéesqui sont affichées, lorsque vous n'utilisez aucune condition. Les données affichéesse limitent aux paramètres de sécurité de l'option de signature d'un grouped'utilisateurs. Vous pouvez aussi configurer vos paramètres de sécurité pourmasquer un point de lancement, en fonction des privilèges d'accès définis pour legroupe.

Si vous utilisez une classe de condition Java, vous devez changer l'attribut de lacondition EXPRESSION sur le nom de l'entrée de lancement. La classe Java peutidentifier l'entrée de lancement qui est exécutée. La valeur d'attribut de l'expressiondoit être identique au nom de l'entrée de lancement et les valeurs sont sensibles àla casse.

Informations de référence sur l'intégrationLes informations de référence incluent un guide sur les structures et schémas XMLutilisés par l'infrastructure d'intégration, les propriétés système que vous pouvezdéfinir et les dispositifs de collaboration prédéfinis fournis avec les applications.

Propriétés du système d'intégrationLes propriétés système définissent le comportement et les caractéristiques del'infrastructure d'intégration. Pour réviser ou changer les propriétés système,appliquez un filtre aux propriétés dans l'application Propriétés système.

Propriétés générales d'intégration

Pour afficher la liste des propriétés générales d'intégration, utilisez mxe.int commeterme de filtre dans l'application Propriétés système. Pour les propriétésbooléennes (true/false), une valeur de 0 signifie false, et une valeur de 1 signifietrue.

Tableau 47. Propriétés générales d'intégration

Propriété Description Valeur par défaut

mxe.int.containerdeploy Déploie les services Web vers le conteneur du serveurd'applications. Lorsqu'elle est définie sur 0 (false), lesservices Web sont déployés sur le conteneur duproduit.

0

mxe.int.credentialmapperclassname Le nom de classe du programme de mappage dedonnées d'identification est un fichier classe pouvantêtre utilisé pour mapper les données d'identificationlors de l'implémentation du module d'intégration.

mxe.int.genboolasbool Génération d'une valeur booléenne sous forme deschéma booléen.

1

mxe.int.globaldir Indique le répertoire général d'intégration. 1

mxe.int.queueusercachesize Nombre d'utilisateurs mis en cache pour les messagesde la file d'attente entrante.

10

mxe.int.resolveschema Résout toutes les inclusions de schémas de sortequ'elles contiennent une définition de schéma intégré.

1

mxe.int.servicedeployer La classe de déployeur de services Web est une classeJava personnalisée pour le déploiement de servicesWeb lorsque la classe de déployeur par défaut n'estpas utilisée.

mxe.int.uddiinqurl Indique l'adresse URL d'interrogation du registreUDDI d'intégration.

mxe.int.uddiname Indique l'ID utilisateur du registre UDDId'intégration.

Intégration de données à des applications externes 367

Page 376: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 47. Propriétés générales d'intégration (suite)

Propriété Description Valeur par défaut

mxe.int.uddipassword Mot de passe du registre UDDI d'intégration.

mxe.int.uddipuburl URL de publication du registre UDDI d'intégration.

mxe.int.validatedbupdates Valide les mises à jour de base de données terminéespar intégration. Lorsque ce paramètre est défini sur 1(true), les suppressions par un utilisateur d'objetsmétier, d'attributs, d'index et de relations dansl'application Configuration de base de données sontvalidées en fonction du contenu d'intégration. Lavalidation garantit que les données supprimées nesont référencées par aucun composant d'intégration. Siune référence existe, l'utilisateur ne peut pas terminerl'action de suppression.

1

mxe.int.validatemmpackage Valide les mises à jour de la base de données dugestionnaire de migration par intégration.

0

mxe.int.verifywebappurl Vérifie l'URL de l'application Web lors de lagénération des fichiers schéma.

1

mxe.int.webappurl Indique l'adresse URL de l'application Webd'intégration. Configurez cette propriété pour qu'ellecontienne le nom d'hôte et le numéro de portappropriés.

http://localhost:9998/meaweb

mxe.int.wsdlcurrentschema Affiche la définition du schéma en cours en langageWSDL.

1

mxe.int.wsdlincludesschema Inclut le schéma directement en langage WSDL. 1

mxe.int.wsdlnamespace Indique l'espace de nom WSDL d'intégration. http://www.ibm.com/maximo/wsdl

mxe.int.xmlnamespace Indique l'espace de nom XML d'intégration. http://www.ibm.com/maximo

mxe.int.binarytext Convertit une valeur texte en une valeur de basecodée sur 64 bits.

10

mxe.int.defaultaction Action par défaut pour l'importation de fichier à plat. AddChange

mxe.int.defaultoperation Opération par défaut pour l'exportation d'application. Sync

mxe.int.dfltuser Représente l'utilisateur par défaut de type Intégration. mxintadm

mxe.int.doclink.maxfilesize Indique la taille de fichier maximale (Mo) desdocuments joints inclus dans le message d'intégration.

10

mxe.int.enabledatemillis Active les dates avec les millisecondes. 0

mxe.int.expupdatesender Met à jour la zone SENDERSYSID sur l'objetprincipal lors de l'exportation des données.

0

mxe.int.extracttrycount Le paramètre Nombre de nouvelles tentativesd'extraction de fichiers indique le nombre de foisqu'un message d'erreur est relancé pendantl'importation des données à l'aide de la gestion deserreurs basées sur un fichier.

0

mxe.int.flatfiledelimiter Le délimiteur de texte du fichier à plat d'intégrationest le délimiteur par défaut utilisé pour l'activation del'importation de l'application et pour l'importation desdonnées.

,

mxe.int.flatfilenewline Conserve le caractère de nouvelle ligne dans lesfichiers à plat. Pour les zones, comme les descriptions,qui peuvent contenir des caractères de retour à laligne, les caractères sont conservés dans les messagesd'intégration lorsque le valeur de la propriété est 1(true).

0

mxe.int.interactiveimport Effectue l'importation de l'application en modeinteractif.

0

368 Intégration de données à des applications externes

Page 377: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 47. Propriétés générales d'intégration (suite)

Propriété Description Valeur par défaut

mxe.int.keyresponse Fournit un contenu de réponse pour les messagesd'intégration entrants pour toutes les opérations.Lorsqu'elle est définie sur 1 (true), le contenu de laréponse, qui inclut les valeurs de clé de l'objetprincipal, est fourni pour toutes les opérations deservice. Lorsqu'elle est définie sur 0 (false), le contenude la réponse est fourni pour les opérations Interrogeret Créer uniquement.

1

mxe.int.maxextractdocs Indique le nombre de documents erronés écrits danschaque fichier temporaire lors de la génération d'unfichier d'extraction.

1000

mxe.int.mdbdelay Indique le temps d'attente (millisecondes) avanttraitement d'un message à partir de la file d'attented'erreurs.

-1

mxe.int.propagateuser Propage l'utilisateur authentifié via la file d'attenteentrante. Lorsque ce paramètre est défini sur 1 (true),l'utilisateur du message d'intégration est sauvegardéavec le message de file d'attente et utilisé lors dutraitement du message car il est traité depuis la filed'attente pour les objets métier.

0

mxe.int.savemessage Indique le message JMS de sauvegarde. 0

mxe.int.setclobasaln Contrôle la troncature des caractères envoyés auxtables d'interface.

0

mxe.int.textqualifier Le qualificateur de texte du fichier à plat est lequalificateur de texte par défaut dans l'activation del'importation de l'application et dans l'importation desdonnées.

"

mxe.int.updatecoafromglcomp Met à jour le plan comptable qui contient uncomposant identifié. Lorsqu'elle est définie sur 1(true), le traitement des données du composant GrandLivre (GL) lance les mises à jour associées à toutes lesdonnées de plan comptable qui référencent lecomposant GL.

1

mxe.int.usescientific Utilise une notation scientifique pour les valeursdouble précision.

1

mxe.int.validatexmltext Valide la valeur de l'élément XML pour les caractèresXML non valides. Lorsqu'elle est définie sur 1 (true),un message sortant est validé pour garantir que toutesles données du message utilisent des caractères XMLvalides. Si des messages contiennent des caractèresnon valides, l'opération se termine et aucun messagesortant n'est transmis.

0

mxe.int.whereclausepolicy Définit la règle where-clause pour une requêted'intégration.

parse

mxe.int.adminfromemail Adresse électronique DE de l'administrationd'intégration, utilisée comme adresse électronique del'expéditeur (De) lorsque l'intégration initie uncourrier électronique. Doit être un format d'adresseélectronique valide, comme par [email protected].

mxe.int.admintoemail Adresse électronique À de l'administrationd'intégration, utilisée comme adresse électronique dudestinataire (À) lorsque l'intégration initie un courrierélectronique. Doit être un format d'adresseélectronique valide, comme par exempleà@exemple.com. Vous pouvez fournir plusieursadresses électroniques dans une liste séparée par desvirgules.

Intégration de données à des applications externes 369

Page 378: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 48. Propriétés générales d'intégration.

Propriété Description Valeur par défautPersonne habilitée àéditer la propriété

mxe.int.containerdeployDéploie les services Web vers le conteneur duserveur d'applications. Lorsqu'elle est définie sur0 (false), les services Web sont déployés sur leconteneur du produit.

0 Administrateur global

mxe.int.credentialmapperclassnameLe nom de classe du programme de mappage dedonnées d'identification est un fichier classepouvant être utilisé pour mapper les donnéesd'identification lors de l'implémentation dumodule d'intégration.

Administrateur global

mxe.int.genboolasboolGénération d'une valeur booléenne sous forme deschéma booléen.

1 Administrateur global

mxe.int.globaldirIndique le répertoire général d'intégration.

1 Administrateur global

mxe.int.queueusercachesizeNombre d'utilisateurs mis en cache pour lesmessages de la file d'attente entrante.

10 Administrateur global

mxe.int.resolveschemaRésout toutes les inclusions de schémas de sortequ'elles contiennent une définition de schémaintégré.

1 Administrateur global

mxe.int.servicedeployerLa classe de déployeur de services Web est uneclasse Java personnalisée pour le déploiement deservices Web lorsque la classe de déployeur pardéfaut n'est pas utilisée.

Administrateur global

mxe.int.uddiinqurlIndique l'adresse URL d'interrogation du registreUDDI d'intégration.

Administrateur global

mxe.int.uddinameIndique l'ID utilisateur du registre UDDId'intégration.

Administrateur global

mxe.int.uddipasswordMot de passe du registre UDDI d'intégration.

Administrateur global

mxe.int.uddipuburlURL de publication du registre UDDId'intégration.

Administrateur global

mxe.int.validatedbupdatesValide les mises à jour de base de donnéesterminées par intégration. Lorsque ce paramètreest défini sur 1 (true), les suppressions par unutilisateur d'objets métier, d'attributs, d'index etde relations dans l'application Configuration debase de données sont validées en fonction ducontenu d'intégration. La validation garantit queles données supprimées ne sont référencées paraucun composant d'intégration. Si une référenceexiste, l'utilisateur ne peut pas terminer l'actionde suppression.

1 Administrateur global

mxe.int.verifywebappurlVérifie l'URL de l'application Web lors de lagénération des fichiers schéma.

1 Administrateur global

mxe.int.webappurlIndique l'adresse URL de l'application Webd'intégration. Configurez cette propriété pourqu'elle contienne le nom d'hôte et le numéro deport appropriés.

http://localhost:9998/meaweb

Administrateur global

mxe.int.wsdlcurrentschemaAffiche la définition du schéma en cours enlangage WSDL.

1 Administrateur global

mxe.int.wsdlincludesschemaInclut le schéma directement en langage WSDL.

1 Administrateur global

370 Intégration de données à des applications externes

Page 379: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 48. Propriétés générales d'intégration (suite).

Propriété Description Valeur par défautPersonne habilitée àéditer la propriété

mxe.int.wsdlnamespaceIndique l'espace de nom WSDL d'intégration.

http://www.ibm.com/maximo/wsdl

Administrateur global

mxe.int.xmlnamespaceIndique l'espace de nom XML d'intégration.

http://www.ibm.com/maximo Administrateur global

mxe.int.binarytextConvertit une valeur texte en une valeur de basecodée sur 64 bits.

10 Administrateur global,administrateur delocataires

mxe.int.defaultactionAction par défaut pour l'importation de fichier àplat.

AddChange Administrateur global,administrateur delocataires

mxe.int.defaultoperationOpération par défaut pour l'exportationd'application.

Sync Administrateur global,administrateur delocataires

mxe.int.dfltuserReprésente l'utilisateur par défaut de typeIntégration.

mxintadm Administrateur global,administrateur delocataires

mxe.int.doclink.maxfilesizeIndique la taille de fichier maximale (Mo) desdocuments joints inclus dans le messaged'intégration.

10 Administrateur global,administrateur delocataires

mxe.int.enabledatemillisActive les dates avec les millisecondes.

0 Administrateur global,administrateur delocataires

mxe.int.expupdatesenderMet à jour la zone SENDERSYSID sur l'objetprincipal lors de l'exportation des données.

0 Administrateur global,administrateur delocataires

mxe.int.extracttrycountLe paramètre Nombre de nouvelles tentativesd'extraction de fichiers indique le nombre de foisqu'un message d'erreur est relancé pendantl'importation des données à l'aide de la gestiondes erreurs basées sur un fichier.

0 Administrateur global,administrateur delocataires

mxe.int.flatfiledelimiterLe délimiteur de texte du fichier à platd'intégration est le délimiteur par défaut utilisépour l'activation de l'importation de l'applicationet pour l'importation des données.

, Administrateur global,administrateur delocataires

mxe.int.flatfilenewlineConserve le caractère de nouvelle ligne dans lesfichiers à plat. Pour les zones, comme lesdescriptions, qui peuvent contenir des caractèresde retour à la ligne, les caractères sont conservésdans les messages d'intégration lorsque le valeurde la propriété est 1 (true).

0 Administrateur global,administrateur delocataires

mxe.int.interactiveimportEffectue l'importation de l'application en modeinteractif.

0 Administrateur global,administrateur delocataires

mxe.int.keyresponseFournit un contenu de réponse pour les messagesd'intégration entrants pour toutes les opérations.Lorsqu'elle est définie sur 1 (true), le contenu dela réponse, qui inclut les valeurs de clé de l'objetprincipal, est fourni pour toutes les opérations deservice. Lorsqu'elle est définie sur 0 (false), lecontenu de la réponse est fourni pour lesopérations Interroger et Créer uniquement.

1 Administrateur global,administrateur delocataires

mxe.int.maxextractdocsIndique le nombre de documents erronés écritsdans chaque fichier temporaire lors de lagénération d'un fichier d'extraction.

1000 Administrateur global,administrateur delocataires

mxe.int.mdbdelayIndique le temps d'attente (millisecondes) avanttraitement d'un message à partir de la filed'attente d'erreurs.

-1 Administrateur global,administrateur delocataires

Intégration de données à des applications externes 371

Page 380: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 48. Propriétés générales d'intégration (suite).

Propriété Description Valeur par défautPersonne habilitée àéditer la propriété

mxe.int.propagateuserPropage l'utilisateur authentifié via la filed'attente entrante. Lorsque ce paramètre est définisur 1 (true), l'utilisateur du message d'intégrationest sauvegardé avec le message de file d'attente etutilisé lors du traitement du message car il esttraité depuis la file d'attente pour les objetsmétier.

0 Administrateur global,administrateur delocataires

mxe.int.savemessageIndique le message JMS de sauvegarde.

0 Administrateur global,administrateur delocataires

mxe.int.setclobasalnContrôle la troncature des caractères envoyés auxtables d'interface.

0 Administrateur global,administrateur delocataires

mxe.int.textqualifierLe qualificateur de texte du fichier à plat est lequalificateur de texte par défaut dans l'activationde l'importation de l'application et dansl'importation des données.

" Administrateur global,administrateur delocataires

mxe.int.updatecoafromglcompMet à jour le plan comptable qui contient uncomposant identifié. Lorsqu'elle est définie sur 1(true), le traitement des données du composantGrand Livre (GL) lance les mises à jour associéesà toutes les données de plan comptable quiréférencent le composant GL.

1 Administrateur global,administrateur delocataires

mxe.int.usescientificUtilise une notation scientifique pour les valeursdouble précision.

1 Administrateur global,administrateur delocataires

mxe.int.validatexmltextValide la valeur de l'élément XML pour lescaractères XML non valides. Lorsqu'elle estdéfinie sur 1 (true), un message sortant est validépour garantir que toutes les données du messageutilisent des caractères XML valides. Si desmessages contiennent des caractères non valides,l'opération se termine et aucun message sortantn'est transmis.

0 Administrateur global,administrateur delocataires

mxe.int.whereclausepolicyDéfinit la règle where-clause pour une requêted'intégration.

parse Administrateur global,administrateur delocataires

mxe.int.adminfromemailAdresse électronique DE de l'administrationd'intégration, utilisée comme adresse électroniquede l'expéditeur (De) lorsque l'intégration initie uncourrier électronique. Doit être un formatd'adresse électronique valide, comme par [email protected].

Administrateur delocataires

mxe.int.admintoemailAdresse électronique À de l'administrationd'intégration, utilisée comme adresse électroniquedu destinataire (À) lorsque l'intégration initie uncourrier électronique. Doit être un formatd'adresse électronique valide, comme par exempleà@exemple.com. Vous pouvez fournir plusieursadresses électroniques dans une liste séparée pardes virgules.

Administrateur delocataires

Propriétés d'intégration REST

Pour afficher la liste des propriétés d'intégration de l'API REST, utilisez mxe.restcomme terme de filtre dans l'application Propriétés système. Pour les propriétésbooléennes (true/false), une valeur de 0 signifie false, et une valeur de 1 signifietrue.

372 Intégration de données à des applications externes

Page 381: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 49. Propriétés d'intégration de l'API REST

Propriété Description Valeur par défaut

mxe.rest.format.json.mimetypes Types MIME pris en charge parREST pour JSON.

application/json

mxe.rest.format.xml.mimetypes Types MIME pris en charge parREST pour JSON.

application/xml,text/xml

mxe.rest.handler.mbo Gestionnaire de ressources MBOREST.

com.ibm.tivoli.maximo.rest.MboResourceRequestHandler

mxe.rest.handler.os Gestionnaire de ressources de lastructure d'objets REST.

com.ibm.tivoli.maximo.rest.OSResourceRequestHandler

mxe.rest.handler.ss Gestionnaire de ressources duservice standard REST.

com.ibm.tivoli.maximo.rest.MaxServiceResourceRequestHandler

mxe.rest.serializer.mbo.imglib.image

Sérialiseur REST pour l'objetMBO au format image.

com.ibm.tivoli.maximo.rest.ImageLibSerializer

mxe.rest.serializer.mbo.json Sérialiseur REST pour l'objetMBO au format JSON.

com.ibm.tivoli.maximo.rest.MboJSONSerializer

mxe.rest.serializer.mbo.xml Sérialiseur REST pour l'objetMBO au format xml.

com.ibm.tivoli.maximo.rest.MboXMLSerializer

mxe.rest.serializer.os.json Sérialiseur REST pour lesstructures d'objet au formatJSON.

com.ibm.tivoli.maximo.rest.OSJSONSerializer

mxe.rest.serializer.os.xml Sérialiseur REST pour lesstructures d'objet au format xml.

com.ibm.tivoli.maximo.rest.OSXMLSerializer

mxe.rest.serializer.ss.json Sérialiseur REST pour lesservices standard au formatJSON.

com.ibm.tivoli.maximo.rest.ServiceMethodResponseJSONSerializer

mxe.rest.serializer.ss.xml Sérialiseur REST pour lesservices standard au format xml.

com.ibm.tivoli.maximo.rest.ServiceMethodResponseXMLSerializer

mxe.rest.webappurl Authentification par jeton surl'adresse URL de l'applicationWeb.

mxe.rest.mbo.blockaccess Blocage de l'accès à la liste desobjets MBO séparés par desvirgules.

mxe.rest.mbo.defaultformat Format par défaut REST pourl'ensemble des objets MBO.

xml

mxe.rest.mbo.imglib.defaultformat Format par défaut REST pourl'objet MBO imglib.

image

mxe.rest.os.blockaccess Blocage de l'accès à la listeséparée des structures d'objet.

10

mxe.rest.os.defaultformat Format par défaut REST pourl'ensemble des structures d'objet.

xml

mxe.rest.ss.defaultformat Format Representational StateTransfer par défaut pour toutesles réponses de service standard

xml

mxe.rest.supportedformats Format de réponse pris en chargepar REST.

xmljsonimage

mxe.rest.whereclausepolicy Définit la règle de la clausewhere pour une requête REST.

parse

Propriétés d'intégration OSLC

Pour afficher la liste des propriétés d'intégration OSLC, utilisez mxe.oslc commeterme de filtre dans l'application Propriétés système. Pour les propriétésbooléennes (true/false), une valeur de 0 signifie false, et une valeur de 1 signifietrue.

Intégration de données à des applications externes 373

Page 382: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Tableau 50. Propriétés d'intégration OSLC

Propriété Description Valeur par défaut

mxe.oslc.dfltconsumerversion Version OSLC par défaut utilisée par leconsommateur.

2

mxe.oslc.dfltversion Version OSLC par défaut pour unfournisseur OSLC.

2

mxe.oslc.enableprovider Active le fournisseur OSLC. 1

mxe.oslc.idleexpiry Indique le délai d'inactivité. 300

mxe.oslc.webappurl Adresse URL publique du fournisseur. http://localhost/maximo/oslc/

mxe.oslc.collectioncount Ajoute le nombre total à la collectionOSLC.

0

mxe.oslc.defaultep Point de terminaison OSLC par défaut. OSLCDEFAULT

mxe.oslc.defaultformat Format par défaut d'OSLC. oslcjson

mxe.oslc.errorresponse Format de réponse d'erreur OSLC. 1

mxe.oslc.preferproviderdesc Préférence de la description dufournisseur OSLC pour les URLréconciliées du registre des ressources

faux

mxe.oslc.prefersmallpreview Préférence du petit aperçu pour leconsommateur OSLC.

faux

mxe.oslc.prettyjson Impression JSON de qualité. 0

mxe.oslc.prettyrdf Impression RDF de qualité. 0

mxe.oslc.prqueryep Point de terminaison de requête duregistre fournisseur.

PROVIDERREGISTRY

mxe.oslc.prcreateep Représente le point de terminaison decréation du registre fournisseur.

Messages XML d'intégrationLa majorité des messages XML d'intégration repose sur une structure d'objet et surune opération effectuée par un canal ou un service. Les services standard neprennent toutefois pas en charge les structures d'objet et des schémas XMLprédéfinis sont utilisés pour construire ces messages XML.

PrésentationLorsque vous configurez des structures d'objet, l'infrastructure d'intégrationspécifie un schéma XML approprié qui définit le contenu et la structure desmessages d'intégration.

Contenu du message

Les canaux et services suivants peuvent être utilisés pour les messages XML baséssur une structure d'objet :v Canal d'appelv Canal de publicationv Service d'entreprisev Service de structure d'objet

Les opérations suivantes sont prises en charge :v Créerv Supprimerv Appelerv Publier

374 Intégration de données à des applications externes

Page 383: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v Interrogerv Synchroniserv Mettre à jour

Les valeurs d'opération sont sensibles à la casse.

Structure du message

Le format standard pour un message XML d'intégration commence par un élémentprincipal qui contient un élément de structure d'objet. Cet élément contient deséléments pour l'objet principal et ses zones ainsi que pour les objets enfant définispour la structure d'objet. L'exemple suivant est basé sur la structure d'objetPERSON, dans laquelle l'objet principal et ses zones précèdent les objets enfant etleurs zones.<?xml version="1.0" encoding="UTF-8"?><max:SyncMXPERSON xmlns:max="http://www.ibm.com/maximo"> (élément principal)

<max:MXPERSONSet> (Définit l’élément de structure d’objet)<max:PERSON> (Elément d’objet pour l’objet principal)

<max:PERSONID>Valeur</max:PERSONID> (Elément de zone d’objet)<max:EMPLOYEETYPE>Valeur</max:EMPLOYEETYPE> (Elément de zone d’objet)

.

.

.<max:PHONE> (Elément d’objet enfant)

<max:PHONENUM>Valeur</max:PHONENUM> (Elément de zone d’objet enfant)<max:TYPE>Value</max:TYPE> (Elément de zone d’objet enfant)

</max:PHONE><max:EMAIL> (Elément d’objet enfant)

<max:EMAILADDRESS>Nouvelle valeur à mettre à jour</max:EMAILADDRESS><max:TYPE>Valeur</max:TYPE> (Elément de zone d’objet enfant)

</max:EMAIL>...

</max:PERSON></max:MXPERSONSet>

</max:SyncMXPERSON>

Le nom de l'élément principal est une concaténation de l'opération spécifiée pourle canal ou le service et du nom de la structure d'objet. Dans cet exemple, l'élémentprincipal SyncMXPERSON combine l'opération Synchroniser et la structure d'objetMXPERSON.

Chaque élément peut contenir un ou plusieurs attributs. Dans cet exemple demessage XML, l'élément principal inclut l'attribut espace de nom.

Génération du schéma

Pour générer le schéma et afficher le langage XML généré, filtrez pour rechercherun enregistrement spécifique et sélectionnez l'action Générer schéma/Afficher XMLdans une des applications suivantes :v Services d'entreprisev Canaux d'appel,v Structures d'objetv Canaux de publicationv Bibliothèque des services Web

Intégration de données à des applications externes 375

Page 384: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Structure XMLUn message XML d'intégration typique contient un élément racine, un élément destructure d'objet et des éléments pour les objets définis dans cette structure. Leséléments d'objet contiennent des éléments pour les zones d'objet et peuventcontenir un ou plusieurs attributs. Les noms d'attribut et les valeurs sont sensiblesà la casse.

Eléments et attributs principaux :

L'élément principal d'un message XML est basé sur une structure d'objet et sur uneopération spécifiés pour le canal ou le service utilisé pour la communication.L'élément principal peut contenir un ou plusieurs attributs.

Le tableau ci-dessous présente les attributs qu'il est possible d'appliquer auxéléments principaux. Les noms d'attribut et les valeurs sont sensibles à la casse.Tous les attributs sont facultatifs.

Attribut Description Type Applicable à

baselanguage Langue de base danslaquelle les valeurs ducontenu sont fournies.

string Toutes les opérationsd'entrée et de sortie

creationDateTime Date et heure de créationdu contenu.

dateTime Toutes les opérationsd'entrée et de sortie

maximoVersion Version principale, versionsecondaire, compilation etcompilation de base dedonnées générés pour tousles messages XML publiés.

MaximoVersionType Toutes les opérationsd'entrée et de sortie

messageID Identificateur uniquegénéré pour tous lesmessages.

string Toutes les opérationsd'entrée et de sortie

transLanguage Langue dans laquelle lesvaleurs des zonesmultilingues sont fournies.

string Toutes les opérationsd'entrée et de sortie

event Origine du message XMLsortant. Les valeursadmises sont les suivantes :

v 0 (faux) indique que lemessage est généré par lebiais de la fonctiond'exportation de données

v 1 (vrai ) indique que lemessage est généré parun programme d'écouted'événementsd'intégration sortants(autrement dit, entrée dedonnées dans uneapplication)

eventType Toutes les opérations desortie

376 Intégration de données à des applications externes

Page 385: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Attribut Description Type Applicable à

uniqueResult Spécifie si une requêteprévoit un ou plusieursenregistrements en réponse.Si la valeur correspond à 0ou que l'attribut est omis, larequête peut renvoyerplusieurs enregistrements.Si la valeur correspond à 1,la requête ne peut renvoyerqu'un seul enregistrement.Sinon, une erreur seproduit.

Valeur booléenne Requêtes (entrée)

maxItems Si une requête peutrenvoyer plusieursenregistrements, cet attributlimite le nombred'enregistrements renvoyéssimultanément. Si cetattribut n'est pas défini, laréponse contient l'ensembleentier de résultats.

positiveInteger Requêtes (entrée)

rsStart Spécifie le premierenregistrement à renvoyerdans la réponse. Si l'attributest omis, la réponsecommence par le premierenregistrement del'ensemble de résultats. Si lenombre de résultats dansl'ensemble de résultats estinférieur à la valeur dersStart, la réponse nerenvoie pasd'enregistrements.

Si une valeur maxItems estspécifiée, la réponse renvoiele nombred'enregistrements spécifié,commençant par la valeurrsStart si elle est définie.

Par exemple, simaxItems=10 et que rsStartest omis, la réponse renvoieles résultats 1 à 10. Pourrecevoir les résultats 11 à20, renvoyez la requêteavec rsStart=11.

integer Requêtes (entrée)

Intégration de données à des applications externes 377

Page 386: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Attribut Description Type Applicable à

rsStart Cette valeur coïncide avecla valeur rsStart dans larequête correspondante.

Si la requête contient unevaleur maxItems, la valeurrsStart des demandesd'enregistrementssupplémentaires équivaut àrsStart + rsCount + 1.

Si cet attribut est omis, laréponse commence par lepremier enregistrement del'ensemble de résultats etcomprend le nombred'enregistrements spécifiépar l'attribut rsCount.

integer Réponses (sortie)

rsCount Nombre d'enregistrementsrenvoyés dans un message.Si la requête initiale spécifieune valeur maxItems, lavaleur rsStart desdemandesd'enregistrementssupplémentaires ultérieureséquivaut à rsStart +rsCount + 1.

integer Réponses (sortie)

rsTotal Nombre totald'enregistrements figurantdans l'ensemble derésultats. Si la requête necontient pas de valeurmaxItems, la valeur rsTotalest égale à la valeurrsCount.

integer Réponses (sortie)

Elément structure d'objet :

L'élément de structure d'objet contient un élément pour l'objet principal et deséléments pour les objets enfant définis pour la structure d'objet. Cet élément peutprendre en charge plusieurs occurrences de l'objet principal et de ses objets enfant.

L'élément d'objet principal contient des éléments pour chaque zone d'objet. Leséléments d'objet enfant qui contiennent des éléments pour leurs zones d'objet sontrépertoriés après l'objet principal.

Eléments et attributs d'objet :

Un élément d'objet contient des éléments pour les zones d'objet. Chaque élémentd'objet peut contenir un ou plusieurs attributs.

Le tableau ci-dessous recense les attributs qu'il est possible d'appliquer à unélément d'objet. Les noms d'attribut et les valeurs sont sensibles à la casse. Tous lesattributs sont facultatifs.

378 Intégration de données à des applications externes

Page 387: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Attribut Description Type Applicable à

action Cette valeur est dérivée del'attribut action de l'objetprincipal dans le message.Pour les messages sortants,cet attribut est utilisé à titreindicatif seulement.

Pour les messages entrants,la logique de traitementutilise uniquement cettevaleur pour l'opération desynchronisation. Elle estignorée pour les autresopérations.

ProcessingActionType Toutes les opérationsd'entrée et de sortie

relationship Identifie la relation utiliséepar le système pour extrairel'objet à l'aide de l'objetparent.

string Toutes les opérationsd'entrée et de sortie

deleteForInsert Identifie un objet enfant quidoit être supprimé avant laréinsertion. Cet attributs'applique uniquement auxmessages entrants danslesquels l'opérationcorrespond à Sync etl'action à Change.

string Toutes les opérationsd'entrée et de sortie

Référence associée:«Attributs d'action», à la page 381Un attribut d'action est un attribut facultatif qui indique au système destinataire letype de traitement à effectuer sur un message XML. Les attributs d'actions'appliquent aux messages XML entrants qui synchronisent des données à l'aide del'opération Synchroniser et aux messages XML sortants qui utilisent des canaux depublication.

Eléments et attributs de zone d'objet :

Si la même zone est incluse dans la clé d'un objet parent et d'un objet enfant dansune structure d'objet, la zone est uniquement contenue dans l'objet parent. Chaquezone d'objet peut inclure un ou plusieurs attributs.

Attribut de zone changed :

Une valeur booléenne peut être définie sur 1 (True) dans les messages XMLsortants pour indiquer que la valeur de la zone a été changée. L'attribut changedn'est pas défini dans le message XML généré par la fonction d'exportation desdonnées.

L'attribut changed est uniquement défini dans les messages XML sortants si latransaction remplit toutes les conditions suivantes :v Une transaction sortante basée sur un événement crée le message.v L'attribut d'action Change ou Replace est défini sur l'objet principal.v La structure d'objet émettrice a la même relation d'objet parent-enfant que

l'application destinataire.

Intégration de données à des applications externes 379

Page 388: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Dans l'exemple suivant, l'attribut d'action Replace est défini pour l'objet parent etl'attribut changed est défini sur 1 pour la zone ADDRESSLINE.<MXPERSON>

<PERSON action="Replace"><PERSONID>123</PERSONID><ADDRESSLINE1 changed="1" >1 Main Street</ADDRESSLINE1>

Pour les zones de type grand livre (GL), l'attribut changed est toujours défini surl'élément nom, qui est GLDEBITACCT dans l'exemple suivant :<GLDEBITACCT changed="1">

<VALUE>6600-800-SAF</VALUE><GLCOMP glorder="0">6600</GLCOMP><GLCOMP glorder="1">800</GLCOMP><GLCOMP glorder="2">SAF</GLCOMP>

</GLDEBITACCT>

Attribut de zone de grand livre :

L'attribut glorder est défini sur les éléments GLCOMP des zones qui identifient lescomptes du grand livre (GL), comme la zone GLDEBITACCT. Chaque élémentGLCOMP contient une partie du numéro de compte et l'attribut glorder identifiecomment ces éléments doivent être combinés pour créer la valeur GL.

Dans les messages XML sortants, la valeur d'une zone de type grand livre, ycompris les délimiteurs, est définie dans l'élément enfant VALUE dans la zone. Lescomposants de la valeur, basés sur la définition des composants dans la base dedonnées, sont inclus dans les éléments GLCOMP. L'attribut glorder de chaqueélément GLCOMP identifie l'ordre du composant, de 0 (zéro) à 20. Dans l'exemplesuivant, le numéro de compte a trois composants GL.<GLDEBITACCT>

<VALUE>6600-800-SAF</VALUE><GLCOMP glorder="0">6600</GLCOMP><GLCOMP glorder="1">800</GLCOMP><GLCOMP glorder="2">SAF</GLCOMP>

</GLBDEBITACCT>

Les messages XML entrants peuvent définir un numéro de compte GLG dansl'élément VALUE ou dans les éléments GLCOMP avec des attributs glorderassociés. Si le message inclut des éléments GLCOMP, le numéro de compte estrecréé en fonction des délimiteurs définis dans la table GLCONFIGURE. Si leséléments VALUE et GLCOMP sont inclus dans le message, l'élément VALUE estutilisé et les éléments GLCOMP sont ignorés.

Attribut de zone traduisible :

L'attribut langenabled est défini sur 1 (true) sur chaque zone qui peut être traduitedans des messages XML sortants.

Attribut de zone synonyme :

Pour les messages sortants, les zones associées à un domaine de type synonymeindiquent la valeur interne correspondante à l'aide de l'attribut maxvalue. Cettevaleur est disponible pour la personnalisation ou le traitement de sortie, selon cequi nécessaire. L'attribut est à caractère informatif uniquement et n'est pas utilisépour le traitement de message entrant.

Dans l'exemple suivant, une valeur maxvalue NOLOT est définie sur la zoneLOTTYPE.

380 Intégration de données à des applications externes

Page 389: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<MXITEM><ITEM><ITEMNUM>560-00</ITEMNUM><DESCRIPTION>Tubing, Copper-1 In ID X .030 In Wall Test</DESCRIPTION><LOTTYPE maxvalue="NOLOT">NOLOT</LOTTYPE>

Attribut de zone chiffrée :

Lorsque les données dans une zone, comme la zone mot de passe, sont chiffrées,l'attribut booléen, maxencrypted, est défini sur 1 (true). Les systèmes externesutilisent cette valeur pour déterminer si un processus de déchiffrage doit êtreappliqué aux informations de la zone.

L'exemple suivant utilise la structure d'objet MXPERSUSER pour fournir desinformations utilisateur, y compris un mot de passe, et l'attribut maxencrypted estdéfini sur la zone PASSWORD dans l'objet MAXUSER.<MXPERUSER><PERSON action="Replace"><PERSONID>123</PERSONID><MAXUSER><MAXUSERID>10</MAXUSERID><PASSWORD maxencrypted=”1”> dmFzdG8=</PASSWORD><MAXUSER><PERSON><MXPERUSER>

Attributs d'action :

Un attribut d'action est un attribut facultatif qui indique au système destinataire letype de traitement à effectuer sur un message XML. Les attributs d'actions'appliquent aux messages XML entrants qui synchronisent des données à l'aide del'opération Synchroniser et aux messages XML sortants qui utilisent des canaux depublication.

Le traitement des messages entrants à l'aide de l'opération Sync est décrit ci-après.Le système externe doit évaluer le code d'action fourni avec les messages sortantset déterminer le traitement approprié pour cette application externe.

Les attributs d'action peuvent s'appliquer au contenu de l'objet parent et des objetsenfants d'une structure d'objets. Un attribut d'action appliqué à l'objet parentspécifie l'action de traitement globale pour les enregistrements parent et enfant.Appliquée à un objet enfant, une action indique le traitement spécifique à cetenregistrement. Un attribut fourni pour un objet enfant est évalué uniquementlorsque l'objet principal possède une valeur d'action Change (Modifier). Lorsquel'action de l'objet principal n'est pas Change (Modifier), les actions sur l'objetenfant sont ignorés.

Les règles métier sont prioritaires sur les attributs d'action. Si une règle métierinterdit une action spécifiée dans un message XML entrant, une erreur se produit.Par exemple, une transaction entrante qui tente de mettre à jour un bon decommande clos génère une erreur.

Si un message XML contient plusieurs instances d'une structure d'objet, chacuned'elles peut spécifier un attribut d'action différent. Dans l'exemple suivant,l'enregistrement COMPANIES contient plusieurs enregistrements enfantCOMPCONTACT, ayant chacun son propre attribut d'action.

Intégration de données à des applications externes 381

Page 390: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<MXVENDOR><COMPANIES action="Change">

<COMPANY>TEST4<NAME>test</NAME><ADDRESS1>100 Main Str</ADDRESS1><COMPCONTACT action="Add">

<NAME>SMITH</NAME><TITLE>MANAGER</TITLE>

</COMPCONTACT><COMPCONTACT action="Change">

<NAME>JONES</NAME><TITLE>ENGINEER</TITLE>

</COMPCONTACT></COMPANY>

</COMPANIES></MXVENDOR>

L'attribut d'action peut posséder les valeurs suivantes qui sont sensibles à la casse :v Addv Deletev Changev Replacev AddChangev NULL

Valeur Description

Add Ajoute des enregistrements à la base dedonnées du système destinataire.

Delete Supprime des enregistrements de la base dedonnées du système destinataire.

Change Met à jour des enregistrements existantsdans la base de données du systèmedestinataire.

Replace Ajoute ou remplace des enregistrementsdans le système destinataire, selon quel'enregistrement principal existe ou non dansla base de données.

AddChange Ajoute ou met à jour des enregistrementsexistants dans la base de données dusystème destinataire.

Null Ajoute ou remplace des enregistrementsdans le système destinataire, selon quel'enregistrement principal existe ou non dansla base de données.

Traitement d'action par défaut

Lorsqu'un message XML entrant ne contient pas d'attribut d'action, il est traitécomme suit :v Si l'enregistrement principal n'existe pas dans la base de données, l'action Add

est appliquée.v Si l'enregistrement principal existe dans la base de données, l'action Replace est

appliquée.

382 Intégration de données à des applications externes

Page 391: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Pour un message provenant d'un fichier à plat ou d'une table d'interface, vous nepouvez fournir de code d'action que pour l'objet principal. Il n'y a aucune prise encharge de mise à disposition de codes d'action pour les objets enfant.

Action Add

L'action Add (Ajouter) ajoute des enregistrements à la base de données du systèmerécepteur.

Dans le cas des transactions entrantes, une erreur se produit si les données existentdéjà. Si l'action Add est définie sur un objet parent, elle s'étend aux objets enfant etil est inutile de spécifier l'action au niveau de l'objet enfant. Les transactionssortantes contiennent une action Add lorsque l'insertion d'un objet génère latransaction.

Action Delete

L'action Delete (Supprimer) supprime des enregistrements de la base de donnéesdu système destinataire.

Si l'action Delete est définie sur un objet parent, elle s'étend aux objets enfant et ilest inutile de spécifier l'action au niveau de l'objet enfant.

Si l'action Delete est définie sur l'objet parent dans un message XML sortant quin'inclut pas d'objet enfant, le système destinataire est responsable de l'identificationet de la suppression des objets enfants.

Si l'action Delete est définie sur l'objet parent dans un message XML entrant,l'infrastructure d'intégration supprime les objets enfant associés. Si l'objet parentn'existe pas dans la base de données, aucune erreur n'est signalée au systèmeexpéditeur.

Action Change

L'action Change (Changer) met à jour des enregistrements existants dans la base dedonnées du système destinataire.

Une action Change appliquée à l'objet principal d'un message XML indique que cedernier contient un ou plusieurs enregistrements parent ou enfant ajoutés, changésou supprimés. Le message contient toujours le parent de tout enregistrementenfant à mettre à jour, même si le parent reste inchangé.

L'action Change (Modifier) sur l'objet principal est le seul cas où vous pouvezfournir une action pour un objet enfant. Lorsque l'objet principal d'un messageXML entrant ou sortant contient une action Change, chaque objet enfant dumessage peut comporter une des actions suivantes.

Attribut action d'un objet enfant Action de traitement

Add Ajoute l'enregistrement enfant. Sil'enregistrement enfant existe déjà, uneerreur est générée.

Delete Supprime l'enregistrement enfant. Sil'enregistrement enfant n'existe pas, uneerreur est générée.

Intégration de données à des applications externes 383

Page 392: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Attribut action d'un objet enfant Action de traitement

Change Met à jour l'enregistrement enfant. Sil'enregistrement enfant existe déjà, uneerreur est générée.

Valeur nulle ou aucune action spécifiée Met à jour l'enregistrement enfant s'il existe.Dans le cas contraire, ajout l'enregistrementenfant.

Action Replace

L'action Replace met à jour des enregistrements existants dans la base de donnéesdu système destinataire.

Une action Replace sur l'objet principal d'un message XML indique que ce derniercontient un ensemble complet d'objets résultant des ajouts, changements etsuppressions effectués sur la structure d'objet. Ces objets remplacent lesenregistrements de base de données existants et tout enregistrement qui n'est pasréférencé dans le message XML est supprimé.

Pour le traitement d'événements sortant, l'action Replace est toujours utilisée,contrairement à l'action Change.

Pour le traitement d'événements entrants, tout enregistrement enfant existant quin'est pas mentionné explicitement dans le message est supprimé. Les systèmesexternes doivent également supprimer les enregistrements enfant qui ne sont pasinclus dans le message XML.

L'action Replace peut s'appliquer uniquement à l'objet principal d'un messageXML. Si un enregistrement enfant d'un message XML entrant contient une actionReplace lorsque l'objet principal contient une action Change, le message n'est pastraité. Si un enregistrement de niveau enfant contient une action Replace alors quele parent contient une action autre que Change, l'action de l'enregistrement enfantest ignorée.

Action AddChange

L'action AddChange ajoute ou met à jour des enregistrements existants dans labase de données du système destinataire. L'action AddChange est similaire àl'action Replace mais ne s'applique pas aux objets enfant.

Une action AddChange appliquée à l'objet principal ajoute l'enregistrementprincipal et tous les sous-enregistrements spécifiés dans le message sil'enregistrement principal n'existe pas dans la base de données. Dans le cascontraire, l'enregistrement principal est mis à jour ainsi que tout enregistrementenfant inclus dans le message. Les enregistrements enfant existants non spécifiésdans le message entrant ne sont pas supprimés.

L'action AddChange est utile lorsqu'une structure d'objet inclut des élémentsinexistants dans le système externe. Par exemple, un système externe peut gérer lesinformations de fournisseur mais les informations de contact sont uniquementstockées dans la base de données. Un message entrant avec un enregistrement defournisseur ayant une valeur d'action NULL supprime les informations de contactde la base de données. Si l'action est définie sur AddChange pour cette transaction,

384 Intégration de données à des applications externes

Page 393: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

les informations du fournisseur sont mises à jour et les informations de contactrestent inchangées.

Comparaison des actions Change, Replace et AddChange

Les actions Change, Replace et AddChange diffèrent au regard des informationsqu'elles incluent dans le message XML et au traitement requis de la part dusystème destinataire.

Combinaisons d'attributs action

Le tableau ci-dessous présente les combinaisons d'attributs action que vous pouvezinclure dans les enregistrements principal et enfant.

Enreg.enfant Add Delete Change Replace AddChange

Aucunevaleur Remarques

Enreg.principal

Add N/A N/A N/A N/A N/A N/A Valeursenfant nonprises encompte

Delete N/A N/A N/A N/A N/A N/A Valeursenfant nonprises encompte

Change Oui Oui Oui Non Non Oui(insertion,mise à jour)

Replace etAddChangeinterdites auniveauenfant

Replace N/A N/A N/A N/A N/A N/A Valeursenfant nonprises encompte

AddChange N/A N/A N/A N/A N/A N/A Valeursenfant nonprises encompte

Aucunevaleur

N/A N/A N/A N/A N/A N/A Valeursenfant nonprises encompte

Référence associée:«Eléments et attributs d'objet», à la page 378Un élément d'objet contient des éléments pour les zones d'objet. Chaque élémentd'objet peut contenir un ou plusieurs attributs.

Types de valeur de zone :

L'infrastructure d'intégration spécifie le comportement de traitement pour lesdifférents types de données utilisés pour formater les valeurs de zone.

Intégration de données à des applications externes 385

Page 394: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Colonnes booléennes

Dans les transactions entrantes, un élément représentant une zone booléenne doitcontenir la valeur 0 (false) ou 1 (true). Si l'élément ne contient pas de 0 ni de 1, uneerreur est générée. Si le message XML ne contient pas d'élément pour une zonebooléenne, la valeur de base de données correspondante est mise à jour en utilisantla valeur par défaut (0 ou 1) définie pour la colonne.

Zones chiffrées

Dans les transactions entrantes, un attribut représentant la zone maxencrypted doitcontenir la valeur 0 (false) ou 1 (true). Lorsque la valeur de l'attribut est 1, unprocessus de déchiffrage est appliqué aux données reçues. Lorsque cette valeur est0, les données reçues ne sont pas déchiffrées.

Si l'attribut ne contient pas de 0 ni de 1, les données reçues ne sont pas déchiffrées.Si la zone XML n'inclut pas d'élément pour une zone chiffrée, les données reçuesne sont pas déchiffrées.

Codage de caractères

L'intégration XML utilise le codage UTF-8. Si une transaction entrante spécifie unautre codage, celui-ci doit être appliqué à l'intégralité du message. Si une erreur seproduit lors du traitement d'une transaction entrante utilisant un codage autre queUTF-8, l'intégralité du message d'erreur XML écrit est codée au format UTF-8.<?xml version="1.0" encoding="ISO-8859-2"?>

Format de date

L'intégration XML prend en charge le format de date ISO 8601 suivant :2011-04-06T10:11:58-05:00

Colonnes à valeur NULL

Si un élément d'une transaction entrante ne contient aucune valeur, la colonne debase de données correspondante est mise à jour avec une valeur NULL. Si lemessage XML n'inclut pas d'élément pour une zone particulière, cette zone n'estpas mise à jour dans la base de données.

Pour les données entrantes provenant d'un fichier à plat ou d'une table d'interface,vous pouvez définir une zone sur NULL en indiquant ~NULL~ comme valeur dela zone dans le fichier à plat ou la table d'interface. Le traitement d'intégration créeune balise vide dans le message XML correspondant pour toute valeur ~NULL~fournie. Cette fonction ne prend pas en charge les zones de date ou numériquesprovenant d'une source de table d'interface.

Format numérique

Quels que soient les paramètres d'environnement local du serveur d'applicationsou de la base de données, toutes les zones décimales doivent utiliser un point (.)comme marque de réservation décimale. Ne formatez pas les nombres situés àgauche du séparateur. Ce format s'applique aux données entrantes ou sortantes.

1.738.593,64 € doit être au format suivant : 1738593.64

386 Intégration de données à des applications externes

Page 395: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Schémas XML d'intégrationLes schémas XML des canaux et services, à l'exception des services standards, sontbasés sur la configuration des objets inclus dans la structure d'objet. Vous pouvezgénérer les schémas dans les applications d'intégration.

Présentation des schémas XML :

Un schéma d'infrastructure d'intégration inclut un composant de schéma prédéfinipour les métadonnées ainsi que des composants de schéma basés sur les objetsconfigurés, structures d'objet et services standards.

Les schémas peuvent être générés pour prendre en charge les scénariosd'intégration basés sur du XML dans lesquels les composants suivants sont utilisés:v Service de structure d'objetv Canal de publicationv Canal d'appelv Service d'entreprisev Service standard

Zones clés

Les annotations de schéma XML identifient les zones clés d'un service ou d'uncanal à partir de la définition de structure d'objet et des définitions de dictionnairede données de l'objet correspondant.

Dans l'exemple suivant, l'élément ITEMNUM est identifié comme zone clé dans leschéma pour la structure d'objet MXITEM.<xsd:element name="ITEMNUM" minOccurs="0" type="MXString">

<xsd:annotation><xsd:documentation>ITEMNUM is a key field</xsd:documentation>

</xsd:annotation></xsd:element>

Validation XML

Les transactions XML entrantes et sortantes ne sont pas validées par rapport auschéma XLM correspondant. Les règles métier d'intégration s'appliquent auxdonnées entrantes quel que soit le processus de validation de schéma. Pour lesservices de structure d'objet et d'entreprise, l'intégration doit être conforme auformat du schéma au moment où le message est traité par la couche de la structured'objet.

Propriété namespace

Vous pouvez modifier la désignation de l'espace de nom XML en mettant à jour lapropriété mxe.int.xmlnamespace dans l'application Propriétés système. La valeurpar défaut de la propriété namespace est http://www.ibm.com/maximo . Si vousmodifiez cette propriété, le fichier MXMeta.xsd est régénéré. Ce fichier contient lesinformations de schéma de métadonnées utilisées pour générer tous les autresschémas. L'infrastructure d'intégration valide l'espace de nom fourni avec les XMLentrants.

Intégration de données à des applications externes 387

Page 396: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Génération de schéma

Chaque fois que vous modifiez une structure d'objet ou le dictionnaire de données,vous devez régénérer les schémas affectés. Vous devez également régénérer lesschémas après les changements suivants :v Le définition d'une zone de base de données comme étant obligatoire ou

facultativev La modification du type de données d'une zone de base de donnéesv L'ajout ou la suppression de zones dans une structure d'objet,v Modification d'une structure d'objet

Les schémas sont générés automatiquement lorsque vous déployez un service Web.

Vous pouvez générer les schémas manuellement en sélectionnant unenregistrement puis l'action Générer schéma / Afficher XML vue dans lesapplications suivantes :v Services d'entreprisev Canaux d'appel,v Structures d'objetv Canaux de publicationv Bibliothèque des services Web

Fichiers et répertoire de schémas

Les fichiers de schéma générés se trouvent dans les sous-répertoires appropriés durépertoire de schéma sur le serveur.

Groupe Sous-répertoire Description

Métadonnées <root>/schema/common/meta Fichier de schéma demétadonnées MXMeta.xsd

Structure de l'objet <root>/schema/common/mos Fichiers de schéma destructure d'objet

Objet <root>/schema/common/mbo Fichiers de schéma d'objet

Service <racine>/schema/service Fichiers de schéma de servicede structure d'objet etd'entreprise

Service standard <racine>/schema/service/ss Fichiers de schéma destructure standard

Structures de schéma :

Les structures de schéma incluent le composant de schéma des métadonnéesprédéfini et les composants d'objets, structures d'objet, services et services etservices standards, tous générés au moment de la création du schéma

Schéma de métadonnées :

Le fichier MXMeta.xsd contient les informations de métadonnées utilisées pourgénérer tous les autres schémas. Ne modifiez pas le fichier MXMeta.xsd car les

388 Intégration de données à des applications externes

Page 397: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

changements peuvent entraîner des schémas incorrects et des problèmes avec lesservices Web. Le système régénère ce schéma en cas de changement de la propriéténamespace.

Outre le contenu de données, le fichier de schéma de métadonnées contient lesinformations supplémentaires suivantes sur les messages :v groupes d'attributs,v Types de contenuv types de données de requête,v types de données de prise en charge.

Groupes d'attributs

Le tableau ci-dessous répertorie les attributs par groupe.

Groupe Attributs Applicable à

CommonContentGroup v baseLanguage

v creationDateTime

v maximoversion

v messageID

v transLanguage

Elément principal de tous les typesde schéma d'entrée et de sortie.

ObjectStructurePropertyGroup v action

v relation

v deleteForInsert

Elément objet de tous les types deschémas d'entrée et de sortie.

PublishingContentGroup v event Elément principal de tous les typesde schémas de sortie.

QueryContentGroup v maxItems

v rsStart

v uniqueResult

Elément principal de tous les typesde schémas d'entrée de requête.

ResponseContentGroup v rsCount

v rsStart

v rsTotal

Elément principal de tous les typesde schémas de sortie de réponse.

Types de contenu

Le tableau suivant recense les types de contenu dans le schéma de métadonnées.

Type Description Attributs

MaximoVersionType Chaîne concaténée identifiant :

v la version majeure,

v la version mineure,

v compilation

v l'édition de la base de données.

Identifie la version du logiciel.

MXBooleanType Extension de integer changed

MXDateTimeType Extension de dateTime changed

Intégration de données à des applications externes 389

Page 398: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Type Description Attributs

MXDomainType Extension de string ; identifie lavaleur Maxvalue correspondant à unevaleur de domaine.

changed

maxvalue

MXDoubleType Extension de double changed

MXFloatType Extension de float changed

MXGLAccountType Type complexe comptant deuxvaleurs, VALUE et GLCOMP ;identifie les composants GLCindividuels et leur ordre séquentieldans un compte.

changed

MXGLComponentType Extension de string ; identifie l'ordreséquentiel des composants de grandlivre dans la structure du plancomptable.

glorder

MXIntType Extension de integer changed

MLLangStringType Extension de MXString changed

languageEnabled

MXLongType Extension de long changed

MXStringType Extension de string changed

Types de requêtes

Le tableau suivant recense les types de requêtes dans le schéma de métadonnées.

Type Description Attribut

MXBooleanQueryType Extension de integer operator

MXDateTimeQueryType Extension de dateTime operator

MXDomainQueryType Extension de string operator

maxvalue

MXDoubleQueryType Extension de double operator

MXFloatQueryType Extension de float operator

MXGLAccountQueryType Type complexe avec une valeurVALUE

operator

MXGLComponentQueryType Extension de string operator

MXIntQueryType Extension de integer operator

MXLongQueryType Extension de long operator

MXStringQueryType Extension de string operator

Types de données

Le tableau suivant recense les types de données dans le schéma de métadonnées.

Type Description Valeurs restreintes

BooleanType Indique si le résultat d'un testlogique est vrai ou faux.

v 0 (faux)

v 1 (vrai)

390 Intégration de données à des applications externes

Page 399: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ChangeIndicatorType Indique si une zone contient unenouvelle valeur.

S'applique uniquement aux structuresd'objet générées par un événement.

1 (vrai)

EventType Indique si une structure d'objetpubliée est le résultat d'unévénement. Si la valeur est 1, lastructure publiée est le résultat d'unévénement.

EventType est une extension deBooleanType.

v 0 (faux)

v 1 (vrai)

ProcessingActionType Actions de traitement prises encharge par les services d'intégration.

v Add

v Change

v Replace

v Delete

v AddChange

QueryOperatorType Identifie l'action Query by Example àexécuter sur la zone correspondante.

v =

v !=

v &lt

v &lt;=

v &gt

v &gt;=

v SW

v EW

Schémas de structure d'objet :

Les schémas de structure d'objet définissent le contenu d'une structure d'objet.Chaque structure d'objet a son propre schéma qui inclut toutes les zonespermanentes et tampon définies pour chaque objet de la structure. Les schémas destructure d'objet permettent de définir des types d'entrée et de sortie mais ne sontpas utilisés directement comme entrée ou sortie d'un service.

Noms et emplacements de fichiers

La convention de dénomination pour les schémas de structure d'objet est le nomde la structure d'objet (MXPERSON.xsd, par exemple). Tous les schémas de structured'objet incluent le fichier de schéma MXMeta.xsd. Les schémas générés se trouventdans le répertoire schema/common/mos.

Génération de schéma

Lorsque vous générez les composants suivants, les schémas de structure d'objetsont régénérés :v Le schéma de structure d'objet à l'aide d'une action dans l'application Structures

d'objetv Le schéma de service d'entreprise dans lequel la structure d'objet est référencée

par le servicev Le schéma de canal de publication dans lequel la structure d'objet est référencée

par le canal

Intégration de données à des applications externes 391

Page 400: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Contenu du schéma de structure d'objet

Un schéma de structure d'objet a les éléments suivants :v Objetv Ensemble d'objetsv Requête d'objet

Le schéma de la structure d'objet MXPERSON, par exemple, contient les élémentssuivants :

Elément Nom d'élément Type

Objet MXPERSON MXPERSONType

Ensemble d'objets MXPERSONSet MXPERSONSetType

Requête d'objet MXPERSONQuery MXPERSONQueryType

Contenu de l'objet de schéma

Le contenu de l'élément objet est le suivant :v L'élément MXPERSON a le type MXPERSONType.v Le type MXPERSONType est complexe et a l'élément PERSON de type

MXPERSON_PERSONType.v Le type complexe MXPERSON_PERSONType possède des éléments pour tous

les attributs configurés de l'objet PERSON et des éléments pour les objetsenfants de la structure d'objet.

v Les autres objets du schéma possèdent un type complexe correspondant, tel queMXPERSON_PERSONType, qui définit l'objet PERSON.

Elément Type

PERSON (objet principal) MXPERSON_PERSONType

PHONE (objet enfant) MXPERSON_PHONEType

EMAIL (objet enfant) MXPERSON_EMAILType

SMS (objet enfant) MXPERSON_SMSType

L'exemple suivant illustre la structure XML correspondante :<MXPERSON>

<PERSON><PHONE></PHONE>

.

.

.<EMAIL></EMAIL>

.

.

.<SMS></SMS>

.

.

.</PERSON>

</MXPERSON>

392 Intégration de données à des applications externes

Page 401: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Contenu de l'ensemble d'objets

Dans l'exemple MXPERSON, l'élément MXPERSONSet remplace l'élémentMXPERSON et MXPERSONSetType remplace le type complexe MXPERSONType.Tous les autres éléments et types sont identiques. L'élément défini agit comme unencapsuleur des multiples occurrences de l'objet principal (MXPERSON) et de sesobjets enfants.

Contenu de la requête d'objet

Les éléments de requête sont réservés au contexte d'un schéma de niveau service.

Le format de contenu suivant se trouve dans l'élément de requête d'objet :v L'élément MXPERSONQuery est de type MXPERSONQueryType.v MXPERSONQueryType est un type complexe qui possède des éléments pour

tous les attributs configurés de l'objet principal (PERSON) de la structure d'objet.

La requête d'objet et l'ensemble d'objets diffèrent sur les points suivants :v L'élément requête comprend uniquement l'objet principal de la structure d'objet.v L'élément requête ne comprend pas de colonnes tampon.v L'élément requête peut inclure deux occurrences des éléments pour prendre en

charge l'interrogation d'une plage, telle qu'une plage de dates.

Comme la requête comprend uniquement l'objet supérieur de la structure, il estimpossible de rechercher une personne par numéro de téléphone, par exemple. Lenuméro de téléphone se trouve dans l'objet enfant PHONE.

Schémas d'objet :

Les schémas d'objet définissent le contenu des objets. Chaque objet possède unschéma distinct, qui comprend toutes les zones permanentes pour un objetpersistant et tous les zones tampon définies pour un objet non persistant. Lesschémas d'objet sont utilisés pour définir des types d'entrée et de sortie mais nesont pas utilisés directement utilisés comme entrée ou sortie d'un service.

Noms et emplacements de fichiers

La convention de dénomination pour les schémas d'objet est le nom de l'objet, parexemple PERSON.xsd, et les fichiers se trouvent dans le répertoireschema/common/mbo.

Génération de schéma

Les fichiers de schéma d'objet sont générés lorsque vous générez les composantssuivants :v Un schéma de structure d'objet qui contient l'objetv Un schéma de service de structure d'objet ou de service d'entreprise qui

référence une structure d'objet qui inclut l'objet.v Un schéma de service standard qui contient l'objet.

Tous les schémas d'objet incluent le fichier de schéma MXMeta.xsd.

Intégration de données à des applications externes 393

Page 402: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Contenu du schéma

Le schéma contient les éléments suivants (MXPERSON est utilisé à titre d'exemple)

Elément Type Commentaires

PERSONMbo PERSONMboType Ce type contient une instancede l'élément PERSONMbo.

PERSONMboSet PERSONMboSetType Ce type contient plusieursinstances de l'élémentPERSONMbo.

PERSONMboKey PERSONMboKeyType Ce type contient une instanceunique de l'élément PERSONPERSONKeyType.PERSONKeyType contientl'attribut correspondant à laclé primaire de l'objetPERSON, PERSONID.

Si la clé primaire d'un objetse compose de plusieursattributs, objetKeyType lescontient.

Cet élément est inclus dansla réponse à une opérationde création.

PERSONMboKeySet PERSONMboKeySetType Ce type contient plusieursinstances de l'élémentPERSON PERSONKeyType.

PERSONKeyType contientl'attribut correspondant à laclé primaire de l'objetPERSON, PERSONID.

Si la clé primaire d'un objetse compose de plusieursattributs, objetKeyType lescontient.

Cet élément est inclus dansla réponse à une opérationde création.

PERSONMboQuery PERSONMboQueryType Ce type contient deuxinstances de l'élémentPERSON. Deux instancesautorisent une requête àspécifier une plage (De à A,par exemple).

Messages à plusieurs noms :

Un message XML peut contenir plusieurs noms.<MXPERSON>

<MXPERSONSET><PERSON>..

394 Intégration de données à des applications externes

Page 403: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

<SMS></SMS></PERSON><PERSON>..<SMS></SMS></PERSON>

</MXPERSONSET></MXPERSON>

Schémas de niveau service :

Les schémas de niveau service s'appliquent aux services d'entreprise, aux servicesde structure d'objet et aux services standard. Un même schéma décrit les servicesd'entreprise et les services de structure d'objet. Le schéma décrivant les servicesstandard est différent.

Les services d'entreprise, de structure d'objet et standard utilisent des objets et desstructures d'objet en entrée et en sortie pour les opérations qu'ils prennent encharge. Plusieurs services peuvent exécuter une même opération en utilisant desdonnées d'entrée/de sortie identiques.

Les entrées et sorties prédéfinies pour les canaux de publication et d'appel sontutilisées pour mettre ces canaux en oeuvre afin d'appeler des services externes oupour effectuer un mappage vers d'autres formats de sortie.

Noms et emplacements de fichiers

La convention de dénomination des schémas de structure d'objet et des schémas deservice d'entreprise est la suivante : nom du service d'application+ Service, parexemple, PERSONService.xsd où PERSON est le nom du service d'application.

La convention de dénomination des schémas de niveau service est la suivante :structure d'objet+ Service, par exemple, MXPERSONService.xsd.

Les fichiers schéma trouvent dans le répertoire /schema/service.

Les fichiers de schéma se trouvent dans le répertoire <racine>/schema/common/service.

Génération de schéma

Aucun fichier de schéma de niveau service prédéfini n'est fourni. Lorsque vousdéployez un service Web, un fichier de schéma de niveau service est généré pourla structure d'objet associée, s'il n'existe pas encore. Vous pouvez égalementgénérer un schéma de niveau service à l'aide d'une action dans l'applicationBibliothèque des services Web.

Tous les schémas de niveau de service comprennent le fichier de schéma demétadonnées, ainsi que la structure d'objet et les fichiers de schéma d'objetapplicables.

Contenu du schéma

Un fichier de schéma est généré par structure d'objet, chaque fichier comprenantplusieurs types de données. A chaque type de données correspondent des

Intégration de données à des applications externes 395

Page 404: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

opérations d'entrée/sortie pouvant être déployées ou traitées en tant que service.Différents services réutilisent les types de données de ces schémas. Aucun servicen'utilise tous les types de données d'un même schéma.

Les schémas de niveau service contiennent les types suivants, qui utilisentl'exemple MXPERSON :v CreateMXPERSONv CreateMXPERSONResponsev DeleteMXPERSONv InvokeMXPERSONv InvokeMXPERSONResponsev PublishMXPERSONv QueryMXPERSONv QueryMXPERSONResponsev SyncMXPERSONv UpdateMXPERSON

Entrées et sorties des schémas de service standard :

Les services standard sont fournis par des applications pour effectuer desopérations spécifiques sur les objets et peuvent exposer plusieurs méthodes en tantque services Web. Les services standard sont uniquement disponibles pour lesméthodes correctement annotées au sein du service.

Les schémas de niveau service générés pour les services standard sont uniquementutilisés par les actions correspondantes.

Entrées et sorties de la structure d'objet et du service d'entreprise :

La structure d'objet renferme le contenu des schémas de services de structured'objet et d'entreprise. Un service de structure d'objet prend en charge toutes lesopérations définies mais un service d'entreprise ne prend en charge qu'uneopération spécifique. Plusieurs services d'entreprise doivent donc être créés pourprendre en charge plusieurs opérations, même s'ils référencent une même structured'objet et utilisent un même schéma.

Les schémas de structure d'objet et de service d'entreprise identifient les élémentssuivants :v Les types d'entrée et de sortie pour les services de structure d'objet et

d'entreprisev L'entrée et la sortie d'un canal d'appelv La sortie fournie par un canal de publication

Toutes les opérations prennent en charge un type de sortie :v La sortie pour les opérations Créer, Mettre à jour, Supprimer et Synchroniser

sont les clés de l'objet principal, la zone d'ID interne et les valeurs denumérotation automatique.

v La sortie d'une opération Query est un ensemble de résultats de structuresd'objet.

Les exemples suivants, basés sur la structure d'objet MXPERSON, décrivent lecontenu des services de structure d'objet et d'entreprise.

396 Intégration de données à des applications externes

Page 405: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Elément CreateMXPERSON

L'élément CreateMXPerson a les définitions suivantes :v L'élément CreateMXPERSON est de type CreateMXPERSONType.v CreateMXPERSONType possède l'élément MXPERSONSet, qui est de type

MXPERSONSetType. MXPERSONSet est dérivé du schéma de structure d'objet.v MXPERSONSetType possède des éléments pour tous les attributs configurés de

l'objet PERSON et des éléments pour les objets enfant (PHONE, EMAIL et SMS)qui sont définis dans la structure d'objet.

Les définitions des éléments et types suivants sont comparables à l'élémentCreateMXPERSON et à son type :

Elément Type

UpdateMXPERSON UpdateMXPERSONType

SyncMXPERSON SyncMXPERSONType

InvokeMXPERSON InvokeMXPERSONType

InvokeMXPERSONResponse InvokeMXPERSONResponseType

Elément Create MXPERSONResponse

L'élément CreateMXPERSONResponse a les définitions suivantes :v L'élément CreateMXPERSONResponse est de type

CreateMXPERSONResponseType.v CreateMXPERSONResponseType possède l'élément PERSONMboKeySet, qui est

de type PERSONMboKeySetType.v PERSONMboKeySetType possède l'élément PERSON, qui est de type

PERSONKeyType.v PERSONKeyType contient uniquement l'attribut PERSONID de l'objet PERSON,

qui est la clé primaire de l'objet PERSON.

Elément PublishMXPERSON

L'élément PublishMXPERSON a les définitions suivantes :v L'élément PublishMXPERSON est de type PublishMXPERSONType.v PublishMXPERSONType possède l'élément MXPERSONSet, qui est de type

MXPERSONSetType. MXPERSONSet est dérivé du schéma de structure d'objet.v MXPERSONSetType possède des éléments pour tous les attributs configurés de

l'objet PERSON et pour les objets enfant (PHONE, EMAIL et SMS) définis dansla structure d'objet.

L'élément Publish est similaire à l'élément Create mais utilise un attributsupplémentaire, event, défini dans PublishingContentGroup du schéma demétadonnées.

Elément DeleteMXPERSON

L'élément DeleteMXPERSON a les définitions suivantes :v L'élément DeleteMXPERSON est de type DeleteMXPERSONType.v DeleteMXPERSONType possède l'élément MXPERSONDelete, qui est de type

MXPERSONDeleteType.

Intégration de données à des applications externes 397

Page 406: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

v MXPERSONDeleteType possède des éléments pour tous les attributs configurésde l'objet PERSON. La suppression prend uniquement en charge l'objetsupérieur (primaire) de la structure d'objet.

Elément QueryMXPERSON

L'élément QueryMXPERSON a les définitions suivantes :v L'élément QueryMXPERSON est de type QueryMXPERSONType.v QueryMXPERSONType possède l'élément MXPERSONQuery, qui est de type

MXPERSONQueryType.v MXPERSONQueryType possède des éléments pour tous les attributs configurés

de l'objet PERSON. La requête prend uniquement en charge l'interrogation del'objet supérieur (primaire) de la structure d'objet.

L'élément Query utilise des attributs supplémentaires uniqueResults, maxItems etrsStart, définis dans le groupe QueryContentGroup du schéma de métadonnées.

Elément QueryMXPERSONResponse

L'élément QueryMXPERSONResponse a les définitions suivantes :v L'élément QueryMXPERSONResponse est de type

QueryMXPERSONResponseType.v QueryMXPERSONResponseType possède l'élément MXPERSONSet, qui est de

type MXPERSONSetType.v MXPERSONSetType possède des éléments pour tous les attributs configurés de

l'objet PERSON et des éléments pour les objets enfant définis dans la structured'objet (PHONE, EMAIL et SMS).

v Bien que l'élément QueryMXPERSON limite les requêtes à l'objet supérieur de lastructure d'objet (PERSON), sa réponse peut contenir des objets enfant (PHONE,EMAIL et SMS).

L'élément Query Response utilise des attributs supplémentaires, rsStart, rsCount etTotal, définis dans le groupe ResponseContentGroup.

Dispositifs de collaborationLes dispositifs de collaboration utilisent un concept de propriété permettant auxutilisateurs de gérer la synchronisation des données entrantes entre l'infrastructured'intégration et un système externe. Ces dispositifs permettent de contrôler dessous-processus spécifiques dans une application en fonction de la propriété dedifférents objets de données dans une transaction.

L'objet principal de la structure d'objets pour la majorité des données maître et desobjets d'intégration de document contient un attribut OWNERSYSID. Par défaut, letraitement d'intégration entrant n'indique aucune valeur dans la zoneOWNERSYSID et les services d'entreprise sont traités de façon standard.

Format des dispositifs de collaborationLes dispositifs de collaboration permettent de contrôler, d'une manière flexible etdéfinie par l'utilisateur, le traitement de certaines transactions entrantes encontournant le traitement par défaut de certains types de transaction. Lesdispositifs de collaboration se trouvent dans la table MXCOLLAB.

398 Intégration de données à des applications externes

Page 407: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Eléments de dispositif

Chaque dispositif de collaboration contient quatre éléments, trois d'entre eux secombinent pour former une clé unique. Le tableau suivant répertorie ces élémentset les éléments composant la clé unique sont signalés par un astérisque (*).

Elément Zone MXCOLLAB correspondante

ID du contrôle de processus* PCID

ID système 1* OWNER1SYSID

ID système 2* OWNER2SYSID

Valeur du contrôle de processus PCVALUE

ID du contrôle de processus

L'ID du contrôle de processus identifie un processus métier dans une application,comme par exemple la validation d'une correspondance de facture, la créationd'une version de bon de commande permanente et la mise à jour d'un stockphysique.

Le tableau suivant indique le préfixe de l'ID du contrôle de processus et indiquel'application à laquelle il s'applique.

Préfixe de l'ID du contrôle de processus Application correspondante

INV Facture

ITM Article

IV Stock

LT Main d'oeuvre

BC Bon de commande

DA Demande d'achat

Intervention Intervention

Par exemple, les dispositifs de collaboration IVRC, IVRCY et IVWO sont tous liésau traitement du stock.

Valeurs d'ID système

ID système 1 et ID système 2 identifient les systèmes interne et externe. Lesvaleurs de ces zones varient en fonction de la transaction et des objets de cettetransaction. En général, ID système 1 identifie le système qui crée un objet, et IDsystème 2 identifie le système qui créé l'enregistrement référencé ou mis à jour.

Valeur du contrôle de processus

La valeur du contrôle de processus indique si les composants métier contournentle traitement par défaut pour le type de transaction indiqué par les ID du contrôlede processus, ID système 1 et ID système 2. La valeur du contrôle de processuspeut être 0 (false) ou 1 (true) et peut avoir les significations suivantes :

Valeur du contrôle de processus Description

0 Effectue le traitement par défaut

Intégration de données à des applications externes 399

Page 408: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Valeur du contrôle de processus Description

1 Contourne le traitement par défaut

Récupération d'un dispositif de collaborationChaque ID de contrôle de processus est associé à au moins trois dispositifs decollaboration, aux dispositifs par défaut et à tous les dispositifs que l'utilisateurajoute. L'infrastructure d'intégration fournit la logique déterminant les valeurs d'IDsystème à définir lors de la récupération d'un dispositif de collaboration à partir dela table MXCOLLAB.

Procédure1. L'infrastructure d'intégration détermine les valeurs de l'ID système 1 et de l'ID

système 2 en fonction de l'ID du contrôle de processus d'une transactionentrante. Par exemple, si l'ID du contrôle de processus est PRDEL, l'IDsystème 1 est THISMX, et l'ID système 2 est le système qui possède la DA.

2. Si la valeur de l'ID système 1 est vide, NULL ou égal à la valeur de la ligneMXSYSID de la table MAXVARS, l'ID système 1 est défini sur THISMX .

3. Si la valeur de l'ID système 2 est vide, NULL ou égal à la valeur de la ligneMXSYSID de la table MAXVARS, et que l'ID du contrôle de processus n'estpas PRPAB, l'ID système 2 est défini sur THISMX .

4. Si l'ID du contrôle de processus est PRPAB, la valeur de l'ID système 2 estdéfinie sur NULL après l'étape 1, et l'ID système 2 est défini sur EXT (siaucun BC permanent n'existe).

5. Si l'ID système 1 et l'ID système 2 sont désormais définis sur THISMX, letraitement par défaut est utilisé et la logique restante n'est pas appliquée.

6. La table MXCOLLAB est vérifiée pour déterminer si elle contient unenregistrement avec la clé. Si l'enregistrement existe, la valeur du contrôle deprocessus de l'enregistrement indique si le traitement standard est utilisé ouignoré et si la logique restante n'est pas appliquée.

7. Si aucun enregistrement correspondant n'existe dans la base de données, la cléest modifiée de la manière suivante :v Si l'ID système 1 est désormais égal à THISMX et l'ID système 2 est

différent de THISMX, EXT est définie comme valeur de l'ID système 2.v Si l'ID système 1 est différent de THISMX et l'ID système 2 est égal à

THISMX, EXT est définie comme valeur de l'ID système 1.8. La table MXCOLLAB est à nouveau vérifiée pour déterminer si elle contient

un enregistrement avec la clé modifiée. Si l'enregistrement existe, la valeur ducontrôle de processus de l'enregistrement indique si le traitement standard estutilisé ou ignoré et si la logique restante n'est pas appliquée.

9. EXT est définie comme valeur de l'ID système 1 et l'ID système 2.10. L'enregistrement avec la clé modifiée est récupéré à partir de la table

MXCOLLAB. Cet enregistrement existe toujours, car chaque valeur ducontrôle de processus possède un dispositif de collaboration avec les IDsystème définis sur EXT.

11. La valeur du contrôle de processus de l'enregistrement indique si le traitementstandard est utilisé ou ignoré.

Configuration de dispositifs de collaborationVous pouvez utiliser des dispositifs de collaboration prédéfinis et en configurer denouveaux si nécessaire.

400 Intégration de données à des applications externes

Page 409: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Affichage des dispositifs de collaboration :

Utilisez n'importe quel outil de base de données pour exécuter une requête SQLafin d'afficher les valeurs de la table MXCOLLAB, ou générer un rapport afind'afficher son contenu.

Procédure

1. Pour afficher les dispositifs de collaboration d'un seul ID de contrôle deprocessus, utilisez la requête SQL suivante :select pcid, owner1sysid, owner2sysid, pcvaluefrom mxcollabwhere pcid = ’PCID’order by pcid, owner1sysid, owner2sysid;

2. Pour afficher les dispositifs de collaboration, utilisez la requête SQL suivante :select pcid, owner1sysid, owner2sysid, pcvaluefrom mxcollaborder by pcid, owner1sysid, owner2sysid;

3. Pour afficher une brève description des ID de contrôle de processus, utilisez larequête SQL suivante :select * from mxcollabref order by pcid;

Modification d'un dispositif de collaboration :

Les utilisateurs autorisés peuvent modifier la valeur du contrôle de processus d'undispositif de collaboration. Ne modifiez pas la valeur de PCID, OWNER1SYSID, ouOWNER2SYSID sur les dispositifs de collaboration existants.

Pourquoi et quand exécuter cette tâche

Les valeurs de la table MXCOLLAB sont sensibles à la casse.

Procédure

1. Utilisez un outil de base de données pour vous connecter à la base de donnéesMaximo.

2. Utilisez l'instruction SQL suivante pour modifier la valeur du contrôle deprocessus dans un dispositif de collaboration :update mxcollabset pcvalue = PCVALUEwhere pcid = 'PCID'and owner1sysid = 'OWNER1SYSID'and owner2sysid = 'OWNER2SYSID';

3. Redémarrez le serveur d'applications de sorte à actualiser les valeurs dans lecache pour les dispositifs de collaboration.

Ajout d'un dispositif de collaboration à une base de données :

Les utilisateurs autorisés peuvent ajouter des dispositifs de collaboration à la tableMXCOLLAB. Les nouveaux dispositifs doivent utiliser un ID de contrôle deprocessus existant, mais peuvent utiliser de nouveaux ID système.

Pourquoi et quand exécuter cette tâche

Seuls les dispositifs de collaboration par défaut peuvent utiliser les valeursTHISMX et EXT dans les zones d'ID système.

Intégration de données à des applications externes 401

Page 410: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Procédure

1. Utilisez un outil de base de données pour vous connecter à la base de donnéesMaximo.

2. Utilisez l'instruction SQL suivante pour ajouter un dispositif de collaboration :insert into mxcollab(pcid, owner1sysid, owner2sysid, pcvalue)values ('PCID', 'OWNER1SYSID', 'OWNER2SYSID', PCVALUE);

Exemple

Par exemple, vous pouvez configurer l'infrastructure d'intégration de manière àl'intégrer à un système Oracle Financials ou à d'autres applications. Lorsqu'OracleFinancials sort un stock détenu par le système, l'infrastructure d'intégration acceptela transaction et met à jour les quantités et coûts du stock dans la base de donnéesMaximo. Lorsque d'autres applications sortent un stock détenu par le système,l'infrastructure d'intégration accepte la transaction, mais ne met pas à jour lesquantités et coûts du stock dans la base de données Maximo.

Avant que vous ne modifiez la table MXCOLLAB pour refléter ces conditions, lesdispositifs de collaboration INV possèdent les valeurs suivantes :

ID du contrôle deprocessus ID système 1 ID système 2

Value du contrôle deprocessus

INV THISMX EXT 1

INV EXT THISMX 0

INV EXT EXT 1

Pour modifier la table MXCOLLAB afin de prendre en charge ce scénario :1. Pour mettre à jour le dispositif de collaboration, utilisez l'instruction SQL

suivante :update mxcollabset pcvalue = 1where pcid = ’INV’and owner1sysid = ’EXT’and owner2sysid = ’THISMX’;

Cette instruction remplace la valeur des dispositifs de collaboration INV/ EXT/THISMX par 1 pour ignorer le traitement de mise à jour normal.

2. Utilisez l'instruction SQL suivante pour ajouter un nouveau dispositif decollaboration pour les transactions du système Oracle Financials :

insert into mxcollab(pcid, owner1sysid, owner2sysid, pcvalue)values (’INV’, ’ORC’, ’THISMX’, 0);

Le nouveau dispositif de collaboration définit l'ORC comme ID système, etdéfinit la valeur du contrôle de processus sur 0 pour que le traitement normalsoit appliqué afin d'émettre des transactions reçues à partir d'Oracle Financials.Si OWNERSYSID est vide, la valeur du contrôle d'intégration DEFEXTSYS estutilisée.

Avant que vous n'effectuiez cette procédure, les dispositifs de collaboration INVpossèdent les valeurs suivantes.

402 Intégration de données à des applications externes

Page 411: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID du contrôle deprocessus ID système 1 ID système 2

Value du contrôle deprocessus

INV THISMX EXT 1

INV EXT THISMX 1

INV EXT EXT 1

INV ORC THISMX 0

Par exemple, lorsque vous définissez la valeur de la commande d'intégrationISUIN sur 1, les transactions de sortie sont acceptées depuis un système externe.Le dispositif de collaboration INV contrôle la mise à jour de la quantité et du coûtde stock associés aux sorties. Vous pouvez ajuster le paramètre de ce dispositif, sinécessaire, pour ignorer ce processus de mise à jour.

Le dispositif de collaboration INV/EXT/THISMX contrôle le traitement du stock(où l'ID du contrôle de processus = INV) sorti dans le système externe (ID système1 = EXT) et détenu par le système (ID système 2 = THISMX).

Si la valeur du dispositif de collaboration INV/EXT/THISMX est 0, le traitementpar défaut s'applique et les valeurs de quantité et de coût du stock sont mises àjour.

Si la valeur du dispositif de collaboration INV/EXT/THISMX est 1, le traitementpar défaut est ignoré et les valeurs de quantité et de coût du stock ne sont pasmises à jour.

Dans l'exemple, ISUIN accepte toute sortie dans le système. Le dispositif decollaboration INV/EXT/THISMX détermine la manière dont le composant métierde stock contrôle un type spécifique de sortie.

Dispositifs de collaboration prédéfinisVous pouvez utiliser les dispositifs de collaboration par défaut et les dispositifs decollaboration prédéfinis fournis.

Dispositifs de collaboration par défaut :

Trois dispositifs de collaboration sont créés par défaut avec différentescombinaisons de valeurs d'ID système, pour chaque ID de contrôle de processus.Les utilisateurs autorisés peuvent créer des dispositifs supplémentaires sinécessaire.

Les dispositifs par défaut utilisent différentes combinaisons des valeurs suivantespour les zones ID système 1 et ID système 2 :

Valeurd'IDsystème Signification

THISMX Système identifié dans MAXVARS.MXSYSID

Les dispositifs de collaboration n'utilisent pas la valeur réelle de MXSYSID.

EXT Tout autre système que celui identifié dans MAXVARS.MXSYSID

Les utilisateurs autorisés peuvent uniquement mettre à jour la valeur du contrôlede processus dans les dispositifs de collaboration par défaut. La suppression d'un

Intégration de données à des applications externes 403

Page 412: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

dispositif de collaboration par défaut ou la modification d'une zone autre que lavaleur du contrôle de processus peut provoquer une défaillance du système.

Dispositifs de collaboration de gestion des stocks :

Des dispositifs de collaboration prédéfinis sont fournis pour l'application Gestiondes stocks.

ID du contrôle deprocessus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

INV Met à jour le stock.

Utilisé lors de la créationde sorties, de retours, oud'ajustements ou deréceptions diverses. Lestock doit exister dans cesystème.

0

1

Met à jour lestock.

Ne met pas à jourle stock.

INVTRANS ouMATUSETRANS

INVENTORY

INVDEL Supprime le stock.

Utilisé lors de lasuppression d'un stockpossédé en externe. Si lavaleur est 1, lacombinaisonarticle-magasin existeratoujours sur les DA, BC,DD, interventions, etc.associés ouverts. Ceci peutentraîner des problèmeslors de laréception/validation deces lignes.

0

1

Supprime l'articles'il est transmisaux validationssystème normales.

Supprime le stocksans aucunevalidation etsupprimel'enregistrementINVBALANCESde l'article.

“THISMX” INVENTORY

INVISS Entre les sorties d'articles.

Utilisé lors de la sortie dematériel.

0

1

Autorise les sortiesde matériel dustock.

N'autorise pas lessorties de matérieldu stock.

MATUSETRANS INVENTORY

INVISSR Entre les retours d'articlessortis.

Utilisé lors de retours dematériel.

0

1

Autorise lesretours dematériel.

N'autorise pas lesretours dematériel.

MATUSETRANS INVENTORY

404 Intégration de données à des applications externes

Page 413: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID du contrôle deprocessus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

INVISSWO Met à jour le coût réel del'intervention, INVCOSTd'équipement.

Utilisé lors du traitementde sorties ou de retours.Destiné à traiter les cassystème par système oùses mises à jour seronteffectuées séparément.

0

1

Met à jour lescoûts de matérielréels del'intervention,INVCOSTd'équipement.

Ne met pas à jourles coûts dematériel réels del'intervention,INVCOSTd'équipement.

MATUSETRANS Intervention

INVPHY Entre les inventaires destock physique externes

Utilisé lors de la créationd'inventaires de stockphysique.

0

1

Autorisel'inventairephysique pour lestock.

N'autorise pasl'inventairephysique pour lestock.

INVTRANS INVENTORY

INVTR Met à jour le magasind'origine sur un transfertou la réception d'un BCinterne.

Utilisé lors de la créationde transferts ou lors de lacréation d'une réceptionde BC interne.

0

1

Met à jourINVBALANCESdans le magasind'origine.

Ne met pas à jourINVBALANCESdans le magasind'origine.

MATRECTRANS LOCATIONS(magasin pour letransfert ;fournisseur pourle BC interne)

ITMDEL Supprime des articles.

Utilisé lors de lasuppression d'articles quece système ne possède pas.

Attention : si la valeur est1, l'article existera toujourssur les DA, BC, DD,interventions, etc. associésouverts. Ceci peutentraîner des problèmeslors de laréception/validation deces lignes.

0

1

Supprime l'articles'il est transmisaux validationssystème normales.

Supprime l'articlesans aucunevalidation.Supprimeégalement lesenregistrementsINVENTORY,INVBALANCES etINVVENDOR del'article.

“THISMX” ITEM

Intégration de données à des applications externes 405

Page 414: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Dispositifs de collaboration des factures :

Des dispositifs de collaboration prédéfinis sont fournis pour l'application Facture.

ID du contrôle deprocessus Description Valeur et action

Dérivation de l'IDsystème 1

Dérivation de l'IDsystème 2

IVILC Met à jour ledernier coût dustock.

Utilisé lors de lavalidation defactures.

0

1

Met à jour ledernier coût dustock.

Ne met pas à jourle dernier coût dustock.

INVOICE INVENTORY

IVINV Met à jour le coûtmoyen du stock.

Utilisé lors de lavalidation defactures.

0

1

Met à jour le coûtmoyen du stock.

Ne met pas à jourle coût moyen dustock.

INVOICE INVENTORY

IVMATCH Utilise et valide lacorrespondance desfactures.

Utilisé lors de lavalidation defactures.

S'il est défini sur 1,IVPO doit êtreégalement définisur 1.

0

1

Valide lacorrespondance.

Ne valide pas lacorrespondancefournie.

“THISMX” INVOICE

IVPO Met à jour les BC etles réceptions.

Utilisé lors de lavalidation defactures.

0

1

Met à jour le statutdes BC et lesréceptions.

Ne met pas à jourle statut des BC oudes réceptions.

INVOICE BC

IVPRO Vérifie et proratiseles différences entreles en-têtes et leslignes de facture.

Utilisé lors de lavalidation defactures.

0

1

Proratise ladifférence entrel'en-tête et la lignede total.

Ne proratise pas ladifférence entrel'en-tête et la lignede total.

“THISMX” INVOICE

406 Intégration de données à des applications externes

Page 415: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID du contrôle deprocessus Description Valeur et action

Dérivation de l'IDsystème 1

Dérivation de l'IDsystème 2

IVRC Crée des réceptionsde service pour leslignes de facturesans référence deBC.

Utilisé pour lavalidation desfactures contenantune ligne sansréférence de BC.

0

1

Génère desréceptions deservice pour leslignes de facture nepossédant pas deréférence de BC.

Ne génère pas deréception de servicepour les lignes defacture nepossédant pas deréférence de BC.

“THISMX” INVOICE

IVRCY Crée des réceptionsde service pour leslignes de factureavec une référencede BC et une valeurRECEIPTREQD =N.

Utilisé lors de lavalidation desfactures contenantune ligne avec uneréférence de BC,lorsque la valeurPOLINEcorrespondante estun service et lavaleurRECEIPTREQD =N.

0

1

Génère uneréception de servicepour la ligne defacture.

Ne génère pas deréception de servicepour la ligne defacture.

INVOICE BC

IVTOL Effectue unevalidation devérification de latolérance sur lesfactures.

Utilisé lors de lavalidation defactures.

0

1

Effectue toutes lesvérifications detolérance sur lafacture.

N'effectue pas devérification detolérance sur lafacture.

“THISMX” INVOICE

IVVLC Met à jour ledernier coût dufournisseur.

Utilisé lors de lavalidation defactures.

0

1

Met à jour ledernier coût dufournisseur.

Ne met pas à jourle dernier coût dufournisseur.

INVOICE INVVENDOR

IVWO Met à jour lesinterventions.

Utilisé lors de lavalidation d'unefacture.

0

1

Met à jourl'intervention.

Ne met pas à jourl'intervention.

INVOICE Intervention

Intégration de données à des applications externes 407

Page 416: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Dispositifs de collaboration des transactions de main-d'oeuvre :

Des dispositifs de collaboration prédéfinis sont fournis pour les transactions demain-d'oeuvre.

ID ducontrôle deprocessus Description Valeur et Action

Dérivationde l'IDsystème 1

Dérivationde l'IDsystème 2

LTSRC Génère des réceptionsde service pour les BC.

Utilisé lors de lacréation de transactionsde main-d'oeuvre ou demodification de statut.Le BC doit exister dansce système.

0

1

Autorisez la définition de la valeurLABTRANS. GENAPPRSERVRECEIPT surY ; configurable dans laConfiguration des applications.

Laissez la valeur de LABTRANS.GENAPPRSERVRECEIPT sur N.

LABTRANS BC

Dispositifs de collaboration des bons de commande :

Des dispositifs de collaboration prédéfinis sont fournis pour les bons decommande.

ID ducontrôle deprocessus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

PODEL Supprime les BC.

Utilisé lors de lasuppression des BC.Utilisé uniquement lorsd'une suppression puisd'un nouvel ajout de BCen raison demodifications du BC.

Si des valeurs PRLINEScontiennent uneréférence au BC, lesefface. Si nécessaire,ouvre à nouveau la DA.Lorsque le BC est ànouveau ajouté, lesvaleurs PRLINE seront ànouveau établies.

0

1

Ne supprime pas le BC.

Supprime le BC et les valeursPRLINE ; ne supprime pas la valeurPOSTATUS.

“THISMX” BC

POINV N'autorise pas de stockexterne non référencépour les BC internes.

Utilisé lors de l'ajout oude la mise à jour deslignes du BC et de lamodification du statutdes BC internes.

0

1

Si la combinaison article-fournisseurn'est pas dans la table INVENTORY,erreur.

Si la combinaison article-fournisseurn'est pas dans la table INVENTORY(où PO.VENDOR =LOCATIONS.LOCATION), ignore l'erreur.

BC LOCATIONS,où lefournisseurest le magasin

408 Intégration de données à des applications externes

Page 417: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID ducontrôle deprocessus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

POIVM Crée des informationsfournisseur pour lestock.

Utilisé lors de lavalidation des BC.

0

1

Met à jour ou crée un enregistrementINVVENDOR.

Ne crée pas d'enregistrementINVVENDOR.

BC ITEM dePOLINE

POPR Statut de mise à jourdes DA.

Utilisé lors de la copiedes lignes de la DA surles BC, la création de BCà partir de DA, laréouverture de DA.

0

1

Modifie le statut de la DA(fermeture automatique basée sur leparamètre MAXVAR) ou réouvrelorsque la valeur POLINE contenantla référence de la DA est supprimée,ou autres instances de réouverture.

Ne modifie pas le statut de la DA.

BC DA

POREL Crée des versions desBC permanents.

Utilisé lors de lavalidation des DAlorsque les lignes desDA contiennent desréférences permanentes,et lorsqu'une version estcréée directement àpartir du BC sans DA.

0

1

Génère la version du BC. (si PRLINE.AGREEMENTPONUM n'est pas dans le BC,ne génère pas la version du BC).

Ne regénère pas les versions de BC.

DA BC permanent

PORES Traite les réservations dematériel.

Utilisé lors de lamodification du statutdes BC internes.

0

1

Génère les réservations de stock. Sila combinaison article-fournisseur(où le fournisseur est le magasin)n'est pas dans la table INVENTORY,ne génère pas de réservations de BC.Ceci peut se produire si la valeurPOINV est 0.

Ne génère pas les réservations destock.

BC INVENTORY

Intégration de données à des applications externes 409

Page 418: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Dispositifs de collaboration des demandes d'achat :

Des dispositifs de collaboration prédéfinis sont fournis pour les demandes d'achat.

ID du contrôlede processus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

PRDEL Supprime lesDA.

Utilisé lors dela suppressiondes DA. Utiliséuniquementlors d'unesuppressionpuis d'unnouvel ajout deDA en raisondemodificationsde la DA.

Si WPMATERIALou MRLINEcontient desréférences à laDA, les efface.Elles serontrétablieslorsque vouslirez la DA.

0

1

Ne supprime pas la DA.

Supprime la DA et les valeursPRLINES ; ne supprime pas la valeurPRSTATUS.

“THISMX” DA

410 Intégration de données à des applications externes

Page 419: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID du contrôlede processus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

PRINV N'autorise pasde stockexterne nonréférencé surles DA internes.

Utilisé lorsqueles magasinssont conservésdans unsystèmeexterne. Lesarticles setrouvent dansle référentield'articles ITEMdu système ; lemagasin estdéfini commeLOCATION ;INVENTORYn'est pas définipour lacombinaisonarticle-magasincar il n'est pasdétenu par lesystème.

Le propriétairede la DA est leMXSYSID dusystème quicrée la DA. Lavalidations'effectuelorsque lacombinaisonarticle-magasin(INVENTORY)est validée surla PRLINE. LeOWNERSYSIDdu magasin estcomparé auOWNERSYSIDde la DA, etl'indicateurdétermine si lacombinaison estautorisée.

0

1

Si la combinaison article-fournisseurn'est pas dans la table INVENTORY,erreur.

Si la combinaison article-fournisseur(le fournisseur est le magasin interne)n'est pas dans la table INVENTORY, où

PR.VENDOR = LOCATIONS.LOCATION,ignore l'erreur. LOCATIONS doit exister ;c'est à dire, transmet la validationstandard pour l'emplacement.

DA LOCATIONS,où lefournisseur estle magasininterne

Intégration de données à des applications externes 411

Page 420: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID du contrôlede processus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

PRPAB N'autorise pasles contratsd'achat/commandesglobalesexternes nonréférencé(e)s.

Utilisé lors del'ajout ou de lamise à jour deslignes de la DAet de lamodification dustatut des DA.

0

1

Si PRLINE.AGREEMENTPONUM n'est pasdans le BC, erreur.

Si PRLINE.AGREEMENTPONUM n'est pasdans le BC, ignore l'erreur.

DA “EXT”

Normalement,provient du BCde lacommandeglobale, maisdans ce cas, leBC permanentn'existe pas

Dispositifs de collaboration des réceptions :

Des dispositifs de collaboration prédéfinis sont fournis pour les réceptions.

ID du contrôlede processus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

RC Entre lesréceptions de BC.

Utilisé lors de lacréation deréceptions.

0

1

Autorise laréception enfonction du BC.

N'autorise pas laréception enfonction du BC.

MATRECTRANSouSERVRECTRANS

BC

RCILC Met à jour ledernier coût dustock.

Utilisé lors de lavalidation desréceptions.

0

1

Met à jour ledernier coût dustock.

Ne met pas à jourle dernier coût dustock.

MATRECTRANS INVENTORY

RCINV Met à jour lestock.

Utilisé lors de laréception ou de lavalidation desréceptions.

0

1

Met à jour lestock s'il existe.

Ne met pas à jourle stock.

MATRECTRANS INVENTORY

RCIV Génère desfactures pour lesréceptions de BC.

Utilisé lors de lavalidation desréceptions.

0

1

Génère unefacture si lavaleur dePayOnReceipt estdéfinie.

Ne génère pas defacture, même sila valeur dePayOnReceipt estdéfinie.

MATRECTRANSouSERVRECTRANS

BC

412 Intégration de données à des applications externes

Page 421: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

ID du contrôlede processus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

RCPO Met à jour le BCexterne.

Utilisé lors de lavalidation d'uneréception.

0

1

Met à jour le BC.

Ne met pas à jourle BC.

MATRECTRANSouSERVRECTRANS

BC

RCR Entre le retour deréception du BC.

Utilisé lors de lacréation d'unretour deréception.

0

1

Autorise lesretours deréception pour leBC.

N'autorise pas lesretours deréception pour leBC.

MATRECTRANSouSERVRECTRANS

BC

RCVLC Met à jour ledernier coût dufournisseur.

Utilisé lors de lavalidation d'uneréception ou de laréception d'uneligne de BC.

0

1

Met à jour ledernier coût dufournisseur.

Ne met pas à jourle dernier coût dufournisseur.

MATRECTRANS INVVENDOR

RCWO Met à jour lesinterventions.

Utilisé lors de lavalidation desréceptions.

0

1

Met à jourl'intervention.

Ne met pas à jourl'intervention.

MATRECTRANSouSERVRECTRANS

Intervention

Dispositifs de collaboration des interventions :

Des dispositifs de collaboration prédéfinis sont fournis pour les interventions.

ID du contrôlede processus Description Valeur et action

Dérivation del'ID système 1

Dérivation del'ID système 2

WORES Traite lesréservations dematériel.

Utilisé lors de lamodification dustatut d'uneintervention. Lestock doit existerdans ce système.

0

1

Génère uneréservation destock.

Ne génère pas deréservation destock.

Intervention INVENTORY

Intégration de données à des applications externes 413

Page 422: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

414 Intégration de données à des applications externes

Page 423: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Remarques

Le présent document peut contenir des informations ou des références concernantcertains produits, logiciels ou services IBM non annoncés dans ce pays. Pour plusde détails, référez-vous aux documents d'annonce disponibles dans votre pays, ouadressez-vous à votre partenaire commercial IBM. Toute référence à un produit,logiciel ou service IBM n'implique pas que seul ce produit, logiciel ou servicepuisse être utilisé. Tout autre élément fonctionnellement équivalent peut êtreutilisé, s'il n'enfreint aucun droit d'IBM. Il est de la responsabilité de l'utilisateurd'évaluer et de vérifier lui-même les installations et applications réalisées avec desproduits, logiciels ou services non expressément référencés par IBM.

IBM peut détenir des brevets ou des demandes de brevet couvrant les produitsmentionnés dans le présent document. La remise de ce document ne vous donneaucun droit de licence sur ces brevets ou demandes de brevet. Si vous désirezrecevoir des informations concernant l'acquisition de licences, veuillez en faire lademande par écrit à l'adresse suivante :

IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785U.S.A.

Pour le Canada, veuillez adresser votre courrier à :

IBM Director of Commercial RelationsIBM Canada Ltd3600 Steeles Avenue EastMarkham, OntarioL3R 9Z7 Canada

Les informations sur les licences concernant les produits utilisant un jeu decaractères double octet peuvent être obtenues par écrit à l'adresse suivante :

Intellectual Property LicensingLegal and Intellectual Property LawIBM Japan Ltd.1623-14, Shimotsuruma, Yamato-shiKanagawa 242-8502 Japan

Le paragraphe suivant ne s'applique ni au Royaume-Uni, ni dans aucun pays danslequel il serait contraire aux lois locales : LE PRESENT DOCUMENT EST LIVREEN L'ETAT SANS AUCUNE GARANTIE EXPLICITE OU IMPLICITE. IBMDECLINE NOTAMMENT TOUTE RESPONSABILITE RELATIVE A CESINFORMATIONS EN CAS DE CONTREFACON AINSI QU'EN CAS DE DEFAUTD'APTITUDE A L'EXECUTION D'UN TRAVAIL DONNE. Certaines juridictionsn'autorisent pas l'exclusion des garanties implicites, auquel cas l'exclusion ci-dessusne vous sera pas applicable.

© Copyright IBM Corp. 2008, 2014 415

Page 424: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

Le présent document peut contenir des inexactitudes ou des coquilles. Il est mis àjour périodiquement. Chaque nouvelle édition inclut les mises à jour. IBM peut, àtout moment et sans préavis, modifier les produits et logiciels décrits dans cedocument.

Les références à des sites Web non IBM sont fournies à titre d'informationuniquement et n'impliquent en aucun cas une adhésion aux données qu'ilscontiennent. Les éléments figurant sur ces sites Web ne font pas partie deséléments du présent produit IBM et l'utilisation de ces sites relève de votre seuleresponsabilité.

IBM pourra utiliser ou diffuser, de toute manière qu'elle jugera appropriée et sansaucune obligation de sa part, tout ou partie des informations qui lui serontfournies.

Les licenciés souhaitant obtenir des informations permettant : (i) l'échange desdonnées entre des logiciels créés de façon indépendante et d'autres logiciels (dontcelui-ci), et (ii) l'utilisation mutuelle des données ainsi échangées, doivent adresserleur demande à :

IBM Corporation2Z4A/10111400 Burnet RoadAustin, TX 78758 U.S.A.

Ces informations peuvent être soumises à des conditions particulières, prévoyantnotamment le paiement d'une redevance.

Le logiciel sous licence décrit dans ce document et tous les éléments sous licencedisponibles s'y rapportant sont fournis par IBM conformément aux dispositions del'ICA, des Conditions internationales d'utilisation des logiciels IBM ou de toutautre accord équivalent.

Les informations concernant des produits non IBM ont été obtenues auprès desfournisseurs de ces produits, par l'intermédiaire d'annonces publiques ou viad'autres sources disponibles. IBM n'a pas testé ces produits et ne peut confirmerl'exactitude de leurs performances ni leur compatibilité. Elle ne peut recevoiraucune réclamation concernant des produits non IBM. Toute question concernantles performances de produits non IBM doit être adressée aux fournisseurs de cesproduits.

Le présent document peut contenir des exemples de données et de rapports utiliséscouramment dans l'environnement professionnel. Ces exemples mentionnent desnoms fictifs de personnes, de sociétés, de marques ou de produits à des finsillustratives ou explicatives uniquement. Toute ressemblance avec des noms depersonnes, de sociétés ou des données réelles serait purement fortuite.

LICENCE DE COPYRIGHT :

Le présent logiciel contient des exemples de programmes d'application en langagesource destinés à illustrer les techniques de programmation sur différentesplateformes d'exploitation. Vous avez le droit de copier, de modifier et dedistribuer ces exemples de programmes sous quelque forme que ce soit et sanspaiement d'aucune redevance à IBM, à des fins de développement, d'utilisation, devente ou de distribution de programmes d'application conformes aux interfaces deprogrammation des plateformes pour lesquels ils ont été écrits ou aux interfaces de

416 Intégration de données à des applications externes

Page 425: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

programmation IBM. Ces exemples de programmes n'ont pas été rigoureusementtestés dans toutes les conditions. Par conséquent, IBM ne peut garantirexpressément ou implicitement la fiabilité, la maintenabilité ou le fonctionnementde ces programmes. Les exemples de programme sont fournis "EN L'ETAT", sansgarantie d'aucune sorte. IBM ne sera en aucun cas responsable des dommages liésà l'utilisation des exemples de programme.

MarquesIBM, le logo IBM et ibm.com sont des marques d'International Business Machinesdans de nombreux pays. Les autres noms de produits et de services peuvent êtredes marques d'IBM ou d'autres sociétés. La liste actualisée de toutes les marquesd'IBM est disponible sur la page Web «Copyright and trademark information» àl'adresse www.ibm.com/legal/copytrade.shtml.

Java ainsi que tous les logos et toutes les marques incluant Java sont des marquesd'Oracle et/ou de ses sociétés affiliées.

Linux est une marque de Linus Torvalds aux Etats-Unis et/ou dans certains autrespays.

Microsoft, Windows et le logo Windows sont des marques de MicrosoftCorporation aux Etats-Unis et/ou dans certains autres pays.

UNIX est une marque enregistrée de The Open Group aux Etats-Unis et/ou danscertains autres pays.

Remarques 417

Page 426: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

418 Intégration de données à des applications externes

Page 427: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration
Page 428: IBM MaximoAsset Management Version 7 · 2018. 3. 16. · Traitement du module d'intégration .....351 Identification des composants d'intégration 351 Appel du module d'intégration

����