Héritage et polymorphisme des modèles de données - 6.3

Talend Data Fabric Studio Guide utilisateur

EnrichVersion
6.3
EnrichProdName
Talend Data Fabric
task
Création et développement
Qualité et préparation de données
EnrichPlatform
Studio Talend

La solution de MDM de Talend introduit un véritable modèle de données orienté objet vous permettant d'utiliser des caractéristiques d'héritage et de polymorphisme lors de la définition de vos modèles de données. Cette approche orientée objet vous permet de définir les hiérarchies d'héritage (arborescences d'héritage) dans les modèles de données que vous avez créés dans le Studio Talend. Pour plus d'informations concernant la configuration d'un modèle de données, consultez Modèles de données.

L'héritage vous permet d'étendre un type existant afin d'ajouter ou d'écraser des éléments spécifiques lors de l'héritage des attributs de l'entité principale. Deux concepts principaux composent l'héritage : la généralisation et la spécialisation. La généralisation (ou abstraction) est le processus de partager des attributs du type principal et d'en faire hériter automatiquement les autres sous-types (types d'héritage). En opposition avec la généralisation, la spécialisation signifie la création de nouveaux sous-types à partir du type principal existant en ajoutant des attributs spécifiques à chaque sous-type.

Le polymorphisme vous permet de définir le type d'un élément comme étant un type générique abstrait. Le type concret est déterminé lors de l'exécution. Par exemple, vous pouvez avoir une adresse établie et la définir comme étant européenne ou américaine lors de l'exécution.

L'héritage et le polymorphisme sont supportés pour les attributs et les entités. Les sections ci-dessous donnent des exemples pour les deux cas.

Utiliser l'héritage et le polymorphisme sur des attributs

Considérez, par exemple, que votre modèle de données contienne une entité nommée Person. Cette entité métier contient plusieurs attributs, dont Address. Cet attribut possède un type réutilisable principal, AddressType. Le Studio Talend vous permet de créer des types réutilisables d'héritage retournant une collection de nouveaux éléments lors de l'héritage des attributs de AddressType afin de retourner un format d'adresse spécifique à l'Europe et un spécifique aux Etats-Unis. Dans cet exemple, les types d'adresses d'Europe et des Etats-Unis étendent tous deux le type d'adresse générique.

Prérequis : Vous devez déjà avoir créé le modèle de données et les entités métier dans le modèle de données. Pour plus d'informations, consultez respectivement Créer un modèle de données et Créer des entités métier dans le modèle de données.

Afin de mettre en œuvre l'héritage et le polymorphisme sur les attributs, procédez comme suit :

  1. Développez successivement l'entité métier créée et le type de groupe. Cliquez-droit sur l'enregistrement de clé primaire par défaut et sélectionnez Edit Element dans le menu contextuel.

    Une boîte de dialogue s'ouvre.

  2. Changez le nom en Id puis cliquez sur OK pour fermer la boîte de dialogue.

  3. Cliquez-droit sur Id, sélectionnez Add Element (after) dans le menu contextuel puis sélectionnez Add string Element.

    Ajoutez Firstname, Lastname, DOB, PostalCode, Resolution et Address comme attributs de l'entité Person, comme décrit dans Ajouter des attributs à l'entité métier.

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

  4. Cliquez-droit sur Address et sélectionnez Change to a complex type dans la liste.

    Une boîte de dialogue s'ouvre.

    Le type complexe vous permet de définir une structure complète, comme requis pour une adresse, et non un seul élément.

  5. Saisissez un nom pour le type complexe puis sélectionnez l'option Sequence afin de lister les éléments de l'adresse, dans l'ordre défini.

    Cliquez sur OK pour valider les modifications et fermer la boîte de dialogue.

    Le type complexe s'affiche sous l'attribut Address et également dans le panneau Reusable types.

  6. Vous devez créer les éléments de votre adresse.

    Développez AddressType et renommez le sous-élément par défaut en Line1.

  7. Cliquez-droit sur Line1, sélectionnez Add Element (after) dans le menu contextuel puis sélectionnez Add string Element. Ajoutez deux autres éléments à l'adresse : Line2 et City.

    Les éléments des types d'adresses sont maintenant créés sous l'attribut Address et également dans le panneau Data Model Types.

    Vous devez créer le(s) type(s) d'héritage pour les adresses européennes et américaines. Le type EUAddresType étend le type principal AddressType en ajoutant un code postal et un pays et le type USAddressType étend le type principal AddressType en ajoutant un code postal et un état.

  8. Cliquez-droit sur le panneau Data Model Types et sélectionnez Create a Complex Type.

    Une boîte de dialogue s'ouvre.

  9. Saisissez un nom pour le type d'héritage, EUAddressType dans cet exemple.

    Dans la liste des types complexes, sélectionnez le type principal duquel vous souhaitez hériter les éléments existants, AddressType dans cet exemple.

  10. Cliquez sur OK pour valider les modifications et fermer la boîte de dialogue.

    Le type d'héritage est créé dans le panneau Data Model Types avec un élément subelement par défaut.

    Ce type d'héritage obtiendra les trois éléments du type principal AddressType. Vous pouvez maintenant ajouter des éléments spécifiques à ce type afin d'avoir un format d'adresse complet pour l'Europe.

  11. Changez subelement en PostalCode puis ajoutez un élément Country.

    Suivez les mêmes étapes dans le panneau Data Model Types afin de créer un autre type d'héritage que vous nommez USAddressType, qui hérite du type principal AddressType. Ajoutez un élément ZipCode et un élément State afin de compléter le format d'adresse pour les Etats-Unis.

  12. Sauvegardez votre modèle de données.

Vous avez terminé l'héritage en étendant un type existant (AddressType) pour ajouter des éléments spécifiques afin de compléter les adresses européennes et américaines lors de l'héritage des attributs du type principal d'adresse.

Le polymorphisme est également terminé lorsqu'à l'exécution l'instance courante de l'adresse d'une personne peut être un type EUAddressType ou USAddressType. Lorsque des utilisateurs métier autorisés parcourent des enregistrements de données maître via Talend MDM Web User Interface, le type concret de l'adresse pour l'enregistrement ouvert (Person) est automatiquement sélectionné. Les utilisateurs métier peuvent voir, dans un enregistrement ouvert, la liste pour l'attribut Address. Dans cette liste, ils peuvent choisir l'un des types complexes d'adresse que vous avez définis dans le Studio Talend.

Par défaut, la liste affiche le code des 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 dans plusieurs langues et qu'ils deviennent compréhensibles lorsqu'ils sont affichés dans la liste.

Vous pouvez définir des libellés dans le panneau Data Model Types ou dans le schéma XML source du modèle de données.

Note

Vous pouvez définir l'ordre dans lequel vous souhaitez afficher les types étendus dans l'éditeur de schéma XML en ajoutant manuellement une annotation. Cette action n'est actuellement pas supportée dans l'interface graphique.

Pour définir des libellés pour les types complexes dans le panneau Data Model Types, procédez comme suit :

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

  2. Cliquez-droit sur le type complexe pour lequel vous souhaitez définir des libellés puis cliquez sur Set the labels.

  3. La boîte de dialogue [Set the Labels] s'ouvre.

    A partir de la liste de gauche, sélectionnez une langue puis, dans le champ de droite, saisissez un libellé correspondant à la langue sélectionnée.

  4. Cliquez sur le bouton [+] dans le coin supérieur droit afin d'ajouter le libellé défini à la liste Language/Label.

  5. Cliquez sur OK afin de valider vos changements et fermer la boîte de dialogue.

    Les libellés sont affichés sous le nœud Annotations du type complexe.