English

DataImporter : Spécifications

Modifié: 2010/07/30 17:23 par cdutremble - Catégorisé en: Technique

Modifier

Aperçu

Le programme "ESI.Octopus.DataImporterApp.exe" permet d'importer dans Octopus des données sur les CI, les utilisateurs et les incidents contenus dans d'autres systèmes.

DataImporter peut être utilisé autant pour effectuer une importation initiale des données dans Octopus comme pour synchroniser sur une base régulière des données contenues dans un autre système. Par exemple, DataImporter peut être utilisé pour synchroniser l'information sur les ordinateurs et les logiciels installés contenus dans SMS.

DataImporter peut être utilisé pour importer des données provenant de n'importe quelle source ODBC.

Exemple d'importation de données avec Excel

Modifier

Survol du fonctionnement de DataImporter

DataImporter est un programme qui peut lire une ou plusieurs sources de données ODBC/OLEDB et ensuite les synchroniser avec les données d'Octopus. Le nom des champs est habituellement différent d'une base de données à une autre. DataImporter est configuré pour effectuer un travail de "mapping" de la structure d'une base de données externe avec la structure d'Octopus, effectuant le "mapping" un champ à la fois.

Le "mapping" entre Octopus et le système externe se fait via une vue (view). Cette vue a pour but de transformer la source de données dans un format reconnu par Octopus. Il existe deux (2) options pour faire cette vue:

  1. Utiliser le système commercial externe (incluant des outils de gestion de la base de données) pour définir la vue. Les systèmes suivants offrent la possibilité de créer des vues: Oracle, Microsoft SQL Server, MySql, DB2, DBase, Fox Pro.

  2. Utiliser MS-Access comme "pont" entre Octopus et le système externe. Cette option est utile si le système externe possède une base de données compatible avec ODBC/OLEDB mais n'inclut pas d'outils pour créer des vues. Dans ce cas, MS-Access est utilisé pour lier les tables avec le système externe et pour créer la vue; la base de donnée Access devient la source de données de DataImporter.

Une fois les sources de données définies, il ne reste qu'à automatiser l'exécution de DataImporter pour qu'il soit exécuté sur une base régulière selon vos besoins (une fois par jour, une fois par semaine, etc.). On utilise alors les tâches planifiées de Windows pour automatiser l'exécution de DataImporter.

Modifier

Étapes pour définir une requête (vue) utilisable par DataImporter:

Pour fin de démonstration, cette section utilise les spécifications "utilisateur".

  1. Créer une base de données MS-Access nommée db1.mdb.
  2. Lier une ou plusieurs tables du système externe.
  3. Créer une vue nommée "UtilisateursSysFic" dans la DB MS-Access. Le nom de la requête (vue) peut varier.
  4. Analyser la structure des tables du système externe pour trouver comment créer une requête répondant aux spécifications d'Octopus. Voir la section des spécifications plus loin dans ce document.
  5. Modifier la vue UtilisateursSysFic de manière à ce qu'elle soit conforme aux spécifications. (nom de champs, champs requis, etc.).
  6. Sauvegarder la base de données MS-Access qui inclut les changements apportés.

Si vous souhaitez importer différents types de données (utilisateurs, requêtes, etc.), vous pouvez définir plusieurs requêtes (vues) dans le même fichier MS-Access. Vous pouvez même définir plusieurs requêtes (vues) du même type. Ces vues seront par la suite référencées dans votre fichier de configuration DataImporter.

Modifier

Création du fichier de configuration de DataImporter

Une fois qu'une (ou plusieurs) source de données a été définie, il faut préparer un fichier de configuration pour DataImporter. Ce fichier indiquera à DataImporter où trouver la ou les sources de données à importer ainsi que le type de données que la source représente.

Le fichier de configuration de DataImporter est un fichier texte de format XML.

Voici un exemple d'un fichier pour importer les Utilisateurs définis dans la vue UtilisateursSysFic de la base de données MS-Access c:\db1.mdb.

ImageL’emplacement de votre base de données MS-Access peut varier, assurez-vous d’appliquer les changements au fichier de configuration en fonction de l’emplacement réel.

<?xml version="1.0" encoding="utf-8" ?>
<Sources>
   <Source Name="UsereSource" >
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>UtilisateursSysFic</ViewName>
   <Content>User</Content>
   </Source>
</Sources>

Comme DataImporter peut importer plusieurs sources, un fichier XML peut être créé avec une section pour chaque source. Par exemple, le prochain exemple contient 3 sources. Lors de l'exécution, DataImporter importera les 3 sources, l’une après l'autre.

<?xml version="1.0" encoding="utf-8" ?>
<Sources>

   <Source Name="SourceName" >
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>UtilisateursSysFic</ViewName> 
   <Content>User</Content>
   </Source>

   <Source Name="SourceName2" >
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>Ordinateurs</ViewName>
   <Content>CI</Content>
   </Source>

   <Source Name="SourceName3" >
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>Moniteurs</ViewName>
   <Content>CI</Content>
   </Source>

</Sources>

Vous pouvez sauvegarder le fichier de configuration en utilisant n'importe quel nom. Vous pouvez aussi utiliser plusieurs fichiers différents si vous souhaitez lancer DataImporter à des heures différentes en fonction des différentes sources à importer.

Modifier

Fichier XML de déclaration des sources de données

Lorsqu'on exécute DataImporter, on spécifie le fichier XML indiquant l'emplacement des données à importer.

Dans l'exemple suivant, nous voulons importer de l'information sur nos ordinateurs (requête Ordinateurs) contenus dans une base de données Access situé dans le répertoire C:\.

<Source Name="Ordinateurs">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Ordinateurs.mdb</ConnectionString>
   <ViewName>Ordinateurs</ViewName>
   <Content>CI</Content>
</Source>

  • ConnectionString : Une "connection string" ou chaîne de connexion regroupe toutes les informations spécifiques à propos d'une source de données et comment s'y connecter. Vous trouverez toutes les informations nécessaires sur le site suivant : www.connectionstrings.com
  • ViewName : Nom de la vue. Si Excel est votre source de données, vous devez mettre le nom de la feuille du chiffrier Excel entre crochets avec ”$“ à la fin. Exemple : [Sheet1$].
  • Content : Déclaration de la source, c'est-à-dire, ce que vous voulez importer dans Octopus (CI, Utilisateurs, etc.). Voir section suivante pour les sources que vous pouvez importer.
Modifier

Utilisation du programme DataImporter

DataImporter est un programme de type "ligne de commande" (DOS). Il est conçu ainsi pour être facile à automatiser (la prochaine section décrit comment automatiser l'exécution de DataImporter).

Le nom complet du programme DataImporter est :

ESI.Octopus.DataImporterApp.exe

Il est situé dans le répertoire local d'Octopus (C:\Program Files\Octopus).

Modifier

Paramètres

Il y a 3 paramètres nécessaires pour lancer DataImporter:

  • /Login : Nom d’utilisateur Octopus.
  • /Password: Mot de passe Octopus.
  • /ConfigFilePath : Chemin complet du fichier de configuration de DataImporter

Exemple :

 ESI.Octopus.DataImporterApp.exe /login:system /password:octo /ConfigFilePath:c:\pc.xml


Important : Le répertoire courant doit être le répertoire où est contenu le programme ESI.Octopus.DataImporterApp.exe (C:\Program Files\Octopus).

Modifier

Journal des opérations

Au cours de l'exécution, DataImporter affiche un journal des opérations.
Ce journal est sauvegardé dans le fichier DataImporter.log et est situé dans le même répertoire que l'exécutable de DataImporter.

Modifier

Spécifications des sources d’importation

Modifier

Importation des utilisateurs

Champs requis:

  • Prénom - Texte(100)
  • Nom - Texte(100)

Champs optionnels:

  • NuméroEmployé – Texte(50)
    • Doit être unique.
  • Langue
    • Doit être une des valeurs de référence existante dans Octopus.
  • Département - Texte(50)
    • Le système va créer le département s’il n'existe pas.
  • SousDépartement - Texte(50)
    • Le système va créer le sous-département s'il n'existe pas.
    • Si un sous-département est spécifié alors un département doit aussi être spécifié.
  • Titre - Texte(100)
  • Site - Texte(50)
    • Le système va créer le site s'il n'existe pas.
  • Local - Texte(50)
  • TéléphoneBureau - Texte(50)
  • PosteTéléphonique - Texte(6)
  • TéléphoneCellulaire - Texte(50)
  • Téléavertisseur - Texte(50) « Version 2.15 »
  • Courriel - Texte(50)
  • Note - Texte(2000)
  • Actif - (1/0 ou True/False)
  • UtilisateurWindows - Texte(50)




Méthode d’identification de l’utilisateur

Lorsqu’on met à jour les utilisateurs, il est possible de spécifier la clé à utiliser pour synchroniser les utilisateurs (au lieu d’utiliser le prénom et le nom). Dans le fichier contenant la déclaration de la source de données, ajouter l’attribut IdentificationMethod. Les valeurs possibles sont :

  • UserByID : Représente le numéro d'employé (Valeur par défaut)
  • UserByName : Le format est {Prénom} {Nom} (ex.: Martin Tremblay).
  • UserByNameAndPhoneExtension
  • UserByWindowsUsername

La déclaration de la source se fait en indiquant "User" comme Content.

Exemple :

<Source Name="NomSource">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomVue</ViewName>
   <Content>User</Content>
   <IdentificationMethod>UserByID</IdentificationMethod>
</Source>

Modifier

Importation des CI

Champs requis:

  • Nom - Texte (125)
    • Doit être unique
    • Nous vous suggérons de combiner le nom du logiciel avec la version pour un faire un nom unique. Par exemple le logiciel "Octopus" à la version "1.9" pourrait avoir comme nom de CI : "Octopus (1.9)"

  • Type
    • Cette colonne représente le type de CI que l’on veut importer. Pour que l’import fonctionne, il faut que le type retourné corresponde EXACTEMENT à un des types de CI présent dans la base de données d’Octopus. Les types de CI sont accessibles dans Octopus dans les données de références.

Champs optionnels:

  • Manufacturier - Texte (500)
    • Le système va créer le manufacturier s'il n'existe pas.
  • Modèle - Texte (50)
    • Le système va créer le modèle s’il n’existe pas.
  • Version - Texte (50)
  • État
    • Doit correspondre à un des états de CI existant dans les valeurs de référence.
  • Criticité
    • Doit correspondre à un des niveaux de criticité existant dans les valeurs de référence.
  • NuméroSérie – Texte(250)
  • NuméroInventaire – Texte(50)
  • Département – Texte(50)
    • Le système va créer le département s'il n'existe pas.
  • SousDépartement – Texte(50)
    • Le système va créer le sous-département s'il n'existe pas.
    • Si un sous-département est spécifié alors un département doit aussi être spécifié.
  • ContactPrincipal
    • Voir la section «Méthode d’identification du contact principal du CI »
  • Site – Texte(50)
    • Le système va créer le site s'il n'existe pas.
  • Local – Texte(50)
    • Le système va créer le local s'il n'existe pas.
    • Si un local est spécifié alors un site doit aussi être spécifié.
  • Catégorie – Texte(50)
    • Le système va créer la catégorie si elle n'existe pas.
    • La catégorie d’un CI est relié à son type
  • Note – Texte(5000)
  • Fournisseur – Texte(500)
    • Le système va créer le fournisseur s’il n’existe pas.
  • FournisseurDeMaintenance – Texte(500)
  • NuméroBonCommande – Texte(50)
  • DateAchat – Date et heure
    • Le format de la date doit être compatible avec les réglages du serveur Octopus (AAAA-MM-JJ HH :MM :SS)
  • CoûtAchat – Décimal (ex : 123456789,12)
  • CentreCoûts – Texte(50)
  • NuméroFacture – Texte(50)
  • ExpirationGarantie – Texte(50)
  • TypeGarantie – Texte(100) - « Version 2.14 »
  • SourceFinancement – Texte(100) - « Version 2.14 »
  • NécessiteContratService – (1/0 ou True/False) - « Version 2.14 »
  • DuréeVie – Texte(50) - « Version 2.14 »
  • DuréeAmortissement – Entier (ex : 123) - « Version 2.14 »
    • La durée d'amortissement exprimée en nombre de mois.


  • Tout autre attribut personnalisé du type de CI importé.


Méthode d’identification du CI

Dans la déclaration de la source de données, il est possible de spécifier de quelle façon le CI sera recherché. Par exemple, si vous voulez identifier les CI par numéro d’inventaire plutôt que par noms, il faudra spécifier "CIByInventoryNumber" dans l’attribut "IdentificationMethod" du fichier de configuration.

Valeurs possibles pour le paramètre "IdentificationMethod" :

  • CIByName : Nom du CI (Valeur par défaut)
  • CIByInventoryNumber : Numéro d’inventaire
  • CIBySerialNumber : Numéro de série



Méthode d’identification du contact principal du CI (Owner)

Dans la déclaration de la source de données, il est possible de spécifier de quelle façon le contact principal du CI sera recherché. Par exemple, si le champ “ Contact principal” contient des numéros d’employés, il faudra spécifier “UserByID” dans l’attribut “ MainContactIdentificationMethod ” du fichier de configuration.

Valeurs possibles pour le paramètre “MainContactIdentificationMethod” sont :

  • UserByID : Numéro d’employé du contact principal
  • UserByName : Prénom et nom du contact principal (format : Martin Tremblay)
  • UserByWindowsUsername : (Valeur par défaut) Nom d’utilisateur réseau du contact principal (Windows Logon)

La déclaration de la source se fait en indiquant "CI" comme Content.

<Source Name="SoftwaresView" >
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>
   <Content>CI</Content>
   <ManageCIRetirement>false</ManageCIRetirement>
   <IdentificationMethod>CIByName</IdentificationMethod>
   <MainContactIdentificationMethod>UserByWindowsUsername</MainContactIdentificationMethod>
</Source>

Voici un exemple d’une vue avec un seul enregistrement qui ne retourne qu’un moniteur.
Notez que le type de CI figure parmi les colonnes sélectionnées par la vue, tel que stipulé dans ces spécifications.

Moniteurs
NomManufacturierModèleNuméroSérieDimensionType
NECNECFP2141zz42pz21 po.Moniteur


Gestion du retrait automatique des CI:

DataImporter peut désactiver et réactiver les CI qu’il importe, selon s’ils sont présent ou nom dans la source de données. La désactivation d’un CI se fait en lui assignant le statut «Retiré» dans Octopus. Par défaut, si l’élément de configuration «ManageCIRetirement» n’est pas spécifié ou que sa valeur est «false», DataImporter ne gérera pas le retrait automatique des CI.

Modifier

Importation des relations entre CI

Champs requis:

  • CI1 – Texte(125)
  • CI2 – Texte(125)
  • Relation
    • Nom de la relation à créer entre les deux CI.

Champs optionnels:

  • Note - Texte (5000)

La déclaration de la source se fait en indiquant "CIRelation" comme Content. Exemple:

<Source Name="ComputerMonitorsView">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>	
   <Content>CIRelation</Content>
</Source>

Modifier

Suppression des relations qui n'existent plus entre 2 CI

Mettre la valeur True au paramètre «ManageRelations».

Exemple :
<?xml version="1.0" encoding="utf-8" ?> 
<Source Name="CIRelation">   
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>	
   <ManageRelations>True</ManageRelations>
   <Content>CIRelation</Content>
</Source>

Modifier

Importation des utilisateurs des CI

Champs requis:

  • CI – Texte(125)
  • Utilisateur

Méthode d’identification de l’utilisateur

Dans la déclaration de la source de données, il est possible de spécifier de quelle façon l’utilisateur sera recherché. Par exemple, si le champ “Utilisateur” contient des numéros d’employés, il faudra spécifier “UserByID” dans l’attribut “ UserIdentificationMethod ” du fichier de configuration.

Valeurs possibles pour le paramètre “UserIdentificationMethod” :

  • UserByID: Numéro d’employé de l’utilisateur
  • UserByName: Prénom et nom de l’employé de l’utilisateur (format : Martin Tremblay)
  • UserByWindowsUsername (Valeur par défaut): Nom d’utilisateur réseau de l’utilisateur (Windows Logon)

La déclaration de la source se fait en indiquant "CIUser" comme Content.

Exemple:

<Source Name="UtilisateursCI">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>	
   <Content>CIUser</Content>
   <UserIdentificationMethod>UserByWindowsUsername</UserIdentificationMethod>
</Source>

Modifier

Importation des contrats de service

Champs requis:

  • Numéro - Texte (50)
  • Type - Texte (100)
    • Type de contrat de service (Maintenance, Garantie prolongée, etc.)
  • DateDébut - Date et heure
    • Le format de la date doit être compatible avec les réglages du serveur Octopus (AAAA-MM-JJ HH :MM :SS)
  • DateFin - Date et heure
    • Le format de la date doit être compatible avec les réglages du serveur Octopus (AAAA-MM-JJ HH :MM :SS)
  • Fournisseur - Texte (500)

Champs optionnels:

  • NuméroBonCommande - Texte (50)
  • Coût – Texte (50)
  • Description - Texte (5000)

La déclaration de la source se fait en indiquant "ServiceContract" comme Content.

Exemple:

<Source Name="ContratsServices">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>	
   <Content>ServiceContract</Content>
</Source>

Modifier

Importation des CI supportés par un contrat de services

Champs requis

  • Contrat - Texte (50)
    • Doit contenir le numéro du contrat
  • CI - Texte (100)

Champs optionnels:

  • Coût – Texte (50)

La déclaration de la source se fait en indiquant "SupportedCI" comme Content.

Exemple:

<Source Name="CIContratsServices">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>	
   <Content>SupportedCI</Content>
</Source>

Modifier

Importation des contrats de location

Champs requis:

  • Numéro - Texte (50)
  • DateDébut - Date et heure
    • Le format de la date doit être compatible avec les réglages du serveur Octopus (AAAA-MM-JJ HH :MM :SS)
  • DateFin - Date et heure
    • Le format de la date doit être compatible avec les réglages du serveur Octopus (AAAA-MM-JJ HH :MM :SS)
  • Fournisseur - Texte (500)

Champs optionnels:

  • NuméroBonCommande - Texte (50)
  • Coût – Texte (50)
  • Description - Texte (5000)

La déclaration de la source se fait en indiquant "LeaseContract" comme Content.

Exemple:

<Source Name="ContratsLocation">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>	
   <Content>LeaseContract</Content>
</Source>

Modifier

Importation des CI supportés par un contrat de location

Champs requis

  • Contrat - Texte (50)
    • Doit contenir le numéro du contrat
  • CI - Texte (100)

Champs optionnels:

  • Coût – Texte (50)

La déclaration de la source se fait en indiquant "LeasedCI" comme Content.

Exemple:

<Source Name="CIContratsLocation">
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>	
   <Content>LeasedCI</Content>
</Source>

Modifier

Importation des incidents

ImageIl est à noter que ce type d’enregistrement n’est possible qu’en ajout actuellement. L’import répété d’une même source de données ne fera pas de mise à jour, mais créera des doublons.

Champs requis:

  • Sujet - Texte(500)
  • État
    • Doit être un statut d’incident valide
  • Utilisateur
    • Doit être le nom d’utilisateur Windows valide d’un usager existant
  • Demandeur
    • Doit être le nom d’utilisateur Windows valide d’un usager existant

Champs optionnels:

  • NuméroIncident – Le numéro sera préfixé au sujet de l’incident.
  • DescriptionDétaillée Texte(5000) – Description détaillée
  • Groupe
    • Représente le groupe auquel l’incident sera rattaché et doit donc être un nom de groupe valide auquel l’usager spécifié en paramètre à DataImporter à accès.
  • Intervenant
    • Usager octopus auquel l’incident sera assigné. Doit être le nom d’utilisateur Windows.
  • Impact
    • Doit être égal au libellé d’un niveau d’impact (ex : « 1 – Haut », « 2 – Moyen », « 3 – Bas »)
  • Urgence
    • Doit être égal au libellé d’un niveau d’urgence (ex : « 1 – Haute », « 2 – Moyenne », « 3 – Basse »)
  • Priorité
    • Doit être égal au libellé d’un niveau de priorité (ex : « 1 – Urgent », « 2 – Haut », « 3 – Normal »)
  • Catégorie
    • Doit être égale au libellé d’une catégorie existante dans Octopus
  • Sous-catégorie
    • Doit être égale au libellé d’une sous-catégorie existante dans Octopus
  • DateOuverture
    • Représente la date d’ouverture dans le format YYYY-MM-DD HH :MM :SS
  • DateRésolution
    • Représente la date à laquelle l’incident à été résolu dans le format YYYY-MM-DD HH :MM :SS
    • La date doit être supérieure à la date d’ouverture.
  • DateFermeture
    • Représente la date à laquelle l’incident a été fermé dans le format YYYY-MM-DD HH :MM :SS
    • La date doit être supérieure à la date de résolution.
  • RaisonMiseEnAttente
    • Indique la raison pour laquelle l’incident a été mis sous le statut « En attente ». La raison doit être égale au libellé d’une raison existante dans Octopus.
  • DescriptionRésolution (5000)
    • Champ requis lorsque l’incident a un statut « Résolu ». Représente la description de l’activité de résolution.
  • ActivitéRésolution
    • Champ requis lorsque l’incident a un statut « Résolu ». Représente le TYPE automatisé d’activité de résolution.
  • NoteFermeture
    • Représente la note de fermeture associée à un incident dont le statut est « Fermé »
  • CI
    • CI en cause associé à l’incident
  • Site
    • Site associé à l’incident, si le site de l’incident est requis.
  • ServiceTI
    • Service TI associé à l’incident.

La déclaration de la source se fait en indiquant "Incident" comme Content.

Exemple:

<Source Name="SourceName" >
   <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb</ConnectionString>
   <ViewName>NomDeVue</ViewName>
   <Content>Incident</Content>
</Source>

Administration | Ce wiki est conçu avec ScrewTurn.