Utiliser l'héritage et le polymorphisme sur des entités - 7.1

Guide utilisateur de Talend Data Fabric Studio

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Data Fabric
task
Création et développement
EnrichPlatform
Studio Talend

Considérez par exemple que votre modèle de données contienne les entités suivantes : Company, Individual, Party et Product. Avec le Studio Talend, vous pouvez définir les types d'héritage pour lesquels Individual et Company étendent Party. Party devient un élément polymorphique contenant des individus et des entreprises.

Vous pouvez également définir dans l'entité Product une clé étrangère vers l'attribut supplier pointant vers l'entité Party. Ainsi, cette clé étrangère peut également pointer vers Individual ou Company puisqu'elles étendent toutes deux Party et agissent comme une clé étrangère polymorphique.

Avant de commencer

Vous devez déjà avoir créé votre modèle de données. Pour plus d'informations, consultez Créer un modèle de données.

Pourquoi et quand exécuter cette tâche

Pour mettre en œuvre l'héritage et le polymorphisme sur les entités, procédez comme suit :

Procédure

  1. Dans votre modèle de données, créez l'entité métier Party, en sélectionnant les options Complex type et Sequence avec un nouveau type complexe PartyType créé. Pour plus d'informations, consultez Créer des entités métier dans le modèle de données.
  2. Développez Party et son type de groupe, cliquez-droit sur l'élément par défaut et sélectionnez Edit Element dans le menu contextuel.

    Une boîte de dialogue s'affiche.

  3. Changez le nom en code puis cliquez sur OK pour fermer la boîte de dialogue.
  4. Créez l'entité métier Company en sélectionnant le type Complex type avec un nouveau type complexe CompanyType créé, étendant le type complexe existant PartyType.

    Cela ajoute PartyType en tant que type de groupe, sous Company. Ici, vous avez défini l'héritage entre les entités Company et Party, où Company étend Party.

  5. Développez Company et son type de groupe puis modifiez l'élément par défaut en name. Vous avez uniquement besoin d'un nom pour l'entreprise.
  6. Répétez l'opération afin de définir l'héritage entre les entités Individual et Party pour lesquelles Individual étend Party.
  7. Définissez deux attributs dans le type de groupe de l'entité Individual : firstName et lastName. Vous avez besoin de ces deux éléments pour un individu.
  8. Créez une entité métier Product en sélectionnant les options Complex type et All.
  9. Ajoutez deux éléments id et name à l'entité Product.

Que faire ensuite

Votre modèle de données doit ressembler à ceci :

Les entités Company et Individual étendent l'entité Party à l'aide du groupe PartyType. Tous les types complexes sont également listés dans le panneau Data Model Types.

Vous pouvez créer une clé étrangère polymorphique qui, en pointant vers l'entité Party, peut également pointer vers les entités Individual ou Company, puisqu'elles étendent toutes les deux Party.

  1. Créez un attribut supplier dans l'entité Product.

    Cliquez-droit sur supplier et sélectionnez Set the Foreign Key dans la liste.

    Une boîte de dialogue s'ouvre.

  2. Cliquez sur le bouton [...] et parcourez votre système afin de définir un chemin Xpath pour l'entité vers laquelle vous souhaitez que la clé étrangère pointe. Dans cet exemple, le chemin Xpath est configuré vers Party/code.

  3. Cliquez sur Add puis sur OK.

    Le chemin de la clé étrangère s'affiche sous l'attribut supplier.

Vous avez terminé l'héritage au niveau des entités en ajoutant le type de groupe Party aux entités Company et Individual.

Le polymorphisme est également terminé lorsqu'à l'exécution l'élément Party peut être développé dans les entités Individual ou Company, lorsqu'un utilisateur métier crée un enregistrement de données via Talend MDM Web UI. Les utilisateurs métier ont une liste des clés étrangères affichant Individual et Company lorsqu'ils cliquent sur l'icône . Dans cette liste, ils peuvent choisir n'importe quel type étendu que vous avez défini dans le Studio Talend.

Par défaut, la liste des types complexes affiche le code de ces types, mais le Studio Talend vous permet également de définir des libellés pour les types complexes afin qu'ils puissent avoir des libellés plus compréhensibles et dans différentes langues dans la liste Select a type. Pour ce faire, procédez comme suit :

  1. Ouvrez le modèle de données dans lequel vous avez défini ces types complexes.

  2. Cliquez sur Schema Source en bas de l'éditeur afin d'ouvrir le schéma XML source du modèle de données.

  3. Parcourez la source jusqu'au schéma correspondant au type complexe étendu auquel vous souhaitez ajouter un libellé et que vous souhaitez afficher dans un ordre particulier pour l'utilisateur métier.

  4. Dans l'élément racine du type complexe, utilisez l'annotation X_Label_<ISO> pour le type étendu, comme suit :

    ...
    <xsd:complexType name="IndividualType">
     <xsd:annotation>
      <xsd:appinfo source="X_Label_EN">individual supplier</xsd:appinfo>
        <xsd:appinfo source="X_Label_FR">fournisseur individuel</xsd:appinfo>
     </xsd:annotation>
      <xsd:complexContent>
    ...

    Dans le schéma ci-dessus, vous souhaitez renommer IndividualType en individual supplier et vous voulez qu'il soit le troisième dans la liste des types étendus.

  5. Sauvegardez vos modifications dans l'éditeur de modèles.

Lorsque les utilisateurs métier autorisés parcourent les enregistrements de données maître dans le modèle de données mis à jour via Talend MDM Web UI, l'icône leur donne accès à la liste des types étendus affichant les libellés que vous avez définis pour les éléments d'annotation.