Améliorations apportées au document de cartographie Mendix Plateforme - Exemple

Passer au contenu principal

Améliorations apportées au document de cartographie Mendix 6

Cartographie des documents dans Mendix aidez à connecter votre Mendix applications vers d'autres systèmes tels que des services Web externes. Ils le font en vous aidant à spécifier comment traduire entre Mendix objets et XML, basés sur un schéma XML ou un document WSDL. Mendix 6.1 ces documents ont été considérablement améliorés et dans ce blog, je vais vous expliquer comment cela vous permettra de gérer des situations plus complexes, de rendre les documents de cartographie plus faciles à utiliser et de vous faire gagner un temps précieux.

Table des Matières

  1. La valeur de la cartographie des documents dans Mendix
  2. Changements de nom et sens des flèches
  3. Comment utiliser les mappages d'importation
  4. Comment utiliser les mappages d'exportation
  5. Arbre de sélection amélioré pour les éléments sélectionnés
  6. Autres améliorations importantes
  7. Conclusion

1. La valeur de la cartographie des documents dans Mendix

Avec Mendix vous pouvez développer des applications autonomes entièrement fonctionnelles. Cependant, de nombreuses applications du monde réel n'existent pas dans le vide et doivent s'intégrer et communiquer avec le monde extérieur. Pour ce faire, les données doivent être exportées et importées dans votre Mendix application. Parce que Mendix et d'autres applications ont des modèles de domaine différents, il faut donc convenir d'un format pour les données. Une manière standardisée de spécifier un tel format pour vos données est un schéma XML (XSD). Ce format est également utilisé dans la norme des services Web dans le cadre d'un fichier WSDL (Web Service Description Language). Mendix prend en charge les schémas XML et les WSDL.

Après avoir choisi un format, vous devez spécifier comment les données de votre Mendix Le domaine doit être transformé pour s'adapter à ce format de données. C'est là qu'interviennent les documents de mappage. Spécifier comment transformer les données n'est pas une tâche facile. Les documents de mappage dans Mendix sont conçus pour faciliter la tâche en visualisant la transformation. Cela est très important car cela permet aux analystes commerciaux de lire et de comprendre les mappages. De ce fait, ils peuvent valider que les mappages sont corrects et même créer les mappages eux-mêmes. C'est essentiel car les analystes commerciaux sont ceux qui ont les connaissances commerciales. Si quelqu'un d'autre doit effectuer l'implémentation, des informations peuvent se perdre. Le plus grand défi de l'intégration est la sémantique, pas la syntaxe.

Un autre avantage de la définition des mappages en tant qu’entités distinctes dans Mendix est qu'il est possible de les réutiliser. La réutilisation des mappages permet de gagner du temps, ce qui réduit les coûts. Si un problème a déjà été résolu, il n'est pas nécessaire de le refaire. De plus, la réutilisation des mappages existants peut aider à prévenir les bugs car elle réduit la taille de votre projet et généralement, plus le projet est grand, plus il est susceptible d'avoir de bugs. Enfin, les projets plus importants sont plus difficiles à maintenir et à étendre, ce qui prendra plus de temps. La réutilisation des mappages permet de réduire la taille de votre projet et d'éviter ces problèmes.

Enfin, les mappages facilitent le travail avec des interfaces volumineuses et complexes. Cela est vrai lors de leur première mise en œuvre, mais surtout lors de leur maintenance. C'est important car les interfaces volumineuses et complexes sont très courantes dans le paysage des entreprises et lors de l'intégration de systèmes ERP.

In Mendix 6.1 nous avons amélioré les documents de cartographie et les avons rendus encore plus faciles à utiliser. Dans les sections suivantes, je passerai en revue les changements les plus importants.

2. Changements de nom et sens des flèches

Dans les versions antérieures de Mendix les deux types de documents de mappage ont été appelés mappage XML vers domaine et mappage domaine vers XML. Nous avons choisi de les renommer en mappage d'importation et d'exportation. Nous l'avons fait pour qu'il soit immédiatement clair si un document spécifie comment traduire les données sortant de votre Mendix application vers le monde extérieur (exportation) ou données provenant du monde extérieur vers votre Mendix app (import). Pour rendre cela encore plus clair, nous avons également modifié la direction dans laquelle le flux de données est dessiné. Nous avons maintenant corrigé le Mendix domaine à gauche et le monde extérieur à droite. Pour cette raison, les flèches pointent de gauche à droite pour les mappages d'exportation et de droite à gauche pour les mappages d'importation. Auparavant, les flèches pointaient toujours de gauche à droite. Dans le reste de cet article, j'utiliserai l'exemple de mappage d'importation illustré à la figure 1 et l'exemple de mappage d'exportation illustré à la figure 2 pour illustrer les autres modifications apportées aux documents de mappage.

Exemple de mappage d'importation

Figure 1. Exemple de mappage d'importation

Exemple de mappage d'exportation

Figure 2. Exemple de mappage d'exportation

3. Comment utiliser les mappages d'importation

Le processus d'importation de données dans Mendix se compose de trois étapes :

  1. Obtenir un Mendix objet (créer, rechercher par clé ou par microflux).
  2. Mapper les attributs XML à l'objet obtenu.
  3. Définissez éventuellement l'association sur l'objet parent.

La visibilité de ces étapes dans le document de mappage a été améliorée pour faciliter la compréhension et la configuration. Dans cette section, je vais expliquer cela plus en détail.

3.1 Comment obtenir un Mendix Exlcusion

Pour les mappages d'importation, les flèches entrantes montrent désormais comment obtenir un Mendix objet à utiliser dans les étapes ultérieures. Dans la figure 1, vous pouvez voir que toutes les flèches ont « créer un nouvel objet » écrit au-dessus d'elles. Cela signifie que pour chacun des éléments, un nouvel Mendix l'objet est créé. Après cela, les attributs sont mappés à cet Mendix objet tel que spécifié dans les détails de mappage. Pour modifier la façon dont Mendix Une fois l'objet obtenu, vous pouvez double-cliquer sur l'un des éléments de mappage. Par exemple, lorsque nous double-cliquons sur l'entité 'ReceivedClient', nous voyons l'écran illustré à la figure 3.

Import_mapping_edit

Figure 3. Détails de mappage pour l'entité « ReceivedClient »

En haut de cet écran, vous pouvez définir comment obtenir le Mendix Objet auquel mapper les attributs dans le XML entrant et que faire en cas d'échec. Outre « Créer un objet », vous pouvez choisir « Rechercher un objet » ou « Appeler un microflux ». Si vous choisissez « Rechercher un objet », vous devez également sélectionner un ou plusieurs attributs dans la section des attributs de mappage comme clé. Lorsque le mappage est exécuté, il recherche dans la base de données un objet avec les attributs choisis comme clé. Dans le mappage, il affichera « Rechercher par clé » au-dessus de la flèche comme indiqué dans la figure 4.

Rechercher par clé

Figure 4. L'objet est trouvé par clé dans ce mappage d'importation

Lorsque vous choisissez « Appeler un microflux », le mappage invoquera le microflux sélectionné lors de son exécution pour obtenir le Mendix objet. Il transmettra ces attributs et objets parents au microflux que vous sélectionnez. Sachez que le mappage des attributs à l'étape 2 peut remplacer les valeurs des attributs que vous avez définis pour l'objet dans le microflux. Dans la figure 5, vous pouvez voir à quoi ressemblera la flèche si vous sélectionnez « appel par microflux ». Si vous sélectionnez le microflux, tous les paramètres sont mis en surbrillance. Dans ce cas, il s'agit de l'entité parente « ReceivedOrder » et de tous les attributs de l'élément XML Client.

Appel d'importation par microflow

Figure 5. Le Mendix l'objet est obtenu via un microflux dans ce mappage d'importation

Nous avons également rendu possible la navigation vers le microflux ou la modification du nom du microflux en cliquant avec le bouton droit sur la flèche et en sélectionnant l'option comme indiqué dans la figure 6.

Appel du menu contextuel microflow

Figure 6. Le menu contextuel de « Appeler un microflux »

3.2 Mapper les attributs XML à l'objet obtenu

Nous n'avons apporté aucune modification à la manière dont vous définissez la manière dont les attributs du XML mappent aux attributs du Mendix L'objet mendix est toujours sélectionné dans la grille affichée au bas de la figure 3. Dans le document de mappage lui-même, nous l'avons rendu plus visible. Si vous sélectionnez un attribut dans l'élément XML, l'attribut correspondant est automatiquement sélectionné dans l'objet mendix et vice versa. La figure 7 en donne un exemple. L'attribut 'dati' est sélectionné dans l'élément XML Client et l'élément correspondant 'dati' dans l'élément XML Client. Mendix l'entité 'ReceivedClient' est également sélectionnée. Notez que le nom de l'attribut dans le Mendix L'objet et l'élément XML ne doivent pas nécessairement correspondre.

Importer le mappage des attributs mappés

Figure 7. Le mappage des attributs est illustré en mettant en évidence les attributs qui se mappent les uns aux autres

3.3 Définir l'association

Enfin, pour chaque élément de mappage, vous devez décider si vous souhaitez définir une association avec son parent. Cela se fait à l'aide de l'écran de détails de mappage illustré dans la figure 3. Si vous choisissez de définir une association, celle-ci est dessinée dans le mappage, voir par exemple la figure 1. Si vous choisissez de ne pas définir d'association, elle est simplement omise dans le mappage. Dans la figure 8, j'ai laissé de côté l'association entre les entités « ReceivedOrder » et « ReceivedClient ». Notez que tous les objets seront toujours créés. Seule l'association entre eux ne sera pas définie.

Importer un mappage sans association

Figure 8. Aucune association n'est définie entre ReceivedClient et ReceivedOrder

4. Comment utiliser les mappages d'exportation

Le processus d'exportation de données depuis Mendix se compose de deux étapes :

  1. Obtenir un Mendix objet (par association ou par microflux).
  2. Mapper les attributs de l'objet obtenu vers XML.

Comme la deuxième étape est la même que dans les mappages d'importation, je vais me concentrer sur la manière dont nous montrons comment un objet est obtenu. Si, dans l'exemple de la figure 2, vous double-cliquez sur l'entité « Orderlines », vous voyez l'écran illustré dans la figure 9.

Exporter les détails du mappage

Figure 9. Lignes de commande des détails de mappage

Dans cet écran, vous voyez que la méthode est définie sur « Obtenir par association ». Si vous regardez la figure 2, vous pouvez en effet voir qu'une association est dessinée entre « Orderlines » et « ReturnListOrderlines » appelée « Orderlines_InputOrderlinesList ». Si, au contraire, nous sélectionnons « Obtenir par microflux » et choisissons un microflux, le microflux sera dessiné comme indiqué dans la figure 10.

Cartographie d'exportation obtenue par micro-flux

Figure 10. Cartographie d'exportation obtenue par microflow

5. Amélioration de l'arbre de sélection pour les éléments sélectionnés

Avant de définir quels éléments XML correspondent à quoi Mendix Pour définir les objets et les attributs qui se mappent les uns aux autres, vous devez d'abord sélectionner les éléments que vous souhaitez mapper. Pour les mappages d'importation, vous pouvez décider de ne pas être intéressé par une grande partie du XML reçu. Pour les mappages d'exportation, vous êtes uniquement libre d'omettre les éléments facultatifs. Les éléments facultatifs sont des éléments avec une occurrence minimale de 0 (par exemple 0..1 ou 0..*). Pour clarifier les éléments et les attributs que vous pouvez et ne pouvez pas inclure ou omettre dans un mappage, des améliorations ont été apportées à l'écran de sélection des éléments. Pour ouvrir cet écran, cliquez sur « Sélectionner les éléments… » et un écran tel que celui illustré dans la figure 11 s'affiche.

Sélectionner les éléments pour le mappage d'exportation

Figure 11. Sélectionner des éléments pour un mappage d'exportation

Dans cet exemple, vous pouvez voir que certaines cases à cocher sont désactivées tandis que d'autres sont activées. Si une case à cocher est désactivée, cela signifie qu'il n'est pas possible de modifier la valeur de la case à cocher. Ainsi, par exemple, il est impossible de désélectionner l'attribut « bool » de l'élément XML « Orderlines » car l'élément XML « Orderlines » est sélectionné et l'attribut bool a une occurrence de 1. De même, il est impossible de sélectionner l'attribut « HighPriority » de l'élément XML « Order » (car l'élément XML « Order » n'est pas sélectionné). Comme illustré dans la figure 12, lorsque vous passez la souris sur une case à cocher désactivée, une info-bulle vous indique la raison pour laquelle elle est désactivée.

Info-bulle Sélectionner les éléments

Figure 12. Une info-bulle est disponible lorsqu'une case à cocher est désactivée

6. Autres améliorations importantes

Outre les améliorations dont j'ai parlé jusqu'à présent, d'autres améliorations ont été apportées aux documents de cartographie. Je ne veux pas vous les cacher, je vais donc les passer en revue dans cette section.

6.1 Mappage automatique pour les mappages d'exportation

Lorsque vous créez un nouveau document de mappage, il peut être assez fastidieux de connecter initialement les éléments XML aux entités, associations et attributs. Cela demande beaucoup de travail, en particulier lorsque le mappage est volumineux et que vous n'avez pas de modèle de domaine existant vers lequel effectuer le mappage. C'est là qu'intervient la fonction d'assistance Mapper automatiquement. Elle recherche ou crée des entités et des associations de modèle de domaine et les ajoute au mappage pour vous éviter de faire beaucoup de travail manuel. Après avoir exécuté la fonction, elle vous montrera un rapport détaillé des modifications apportées à votre projet. Auparavant, cette fonction d'assistance n'était disponible que pour les mappages d'importation. Elle est désormais également disponible pour les mappages d'exportation.

6.2 Prise en charge de l'héritage XML par extension

Les schémas XML peuvent contenir une relation d'héritage en définissant un complexType comme une extension d'un autre complexType. Nous appelons cela l'héritage XML. Mendix Cette fonction est partiellement prise en charge depuis longtemps, mais elle est entièrement prise en charge avec la version 6.1. Ceci est important car certaines normes largement utilisées utilisent l'héritage XML (par exemple, les normes de données électroniques ACORD pour l'échange électronique de données d'assurance entre partenaires commerciaux). À partir de maintenant, nous vous demandons de mapper une structure d'héritage similaire dans votre modèle de domaine, telle que définie dans le schéma XML. Vous devrez également décider quels sous-types vous souhaitez mapper. Grâce à ces modifications, nous pouvons désormais prendre en charge les listes mixtes d'un certain type parent dans les mappages d'importation et d'exportation. Pour plus d'informations sur cette amélioration, je vous renvoie à cet article de blog dédié.

6.3 Amélioration des performances dans le modélisateur

Dans les versions précédentes, l'éditeur de mappage pouvait devenir lent lorsqu'il travaillait sur des mappages particulièrement volumineux de plus de 100 éléments. C'est désormais une amélioration et c'est important car les interfaces volumineuses et complexes sont courantes dans le paysage de l'entreprise et lors de l'intégration de systèmes ERP.

6.4 Mendix Menu contextuel de l'entité

Vous pouvez désormais également cliquer avec le bouton droit de la souris sur Mendix entité dans le document de mappage pour obtenir un menu contextuel comme on peut le voir dans la figure 13. Auparavant, ce menu n'était disponible qu'en cliquant avec le bouton droit sur l'élément XML.

menu contextuel

Figure 13. Menu contextuel des entités dans les documents de mappage

6.5 Mappages pliables

Il est possible que les documents de mappage soient assez volumineux, avec une imbrication profonde et de nombreux éléments et attributs XML. Dans ce cas, il peut être difficile de garder une vue d'ensemble de votre mappage pendant que vous travaillez dessus. Pour cette raison, nous avons rendu possible la réduction de certaines parties de votre mappage. La réduction masque une partie du mappage et peut être effectuée en cliquant sur le symbole moins sous le symbole de composition sous les éléments XML. Pour illustrer cela, j'ai réduit tout ce qui se trouve sous l'élément XML « Client » dans la figure 14.

Mappages en effondrement

Figure 14. Réduction d'une partie d'une cartographie

6.6 Importer un paramètre facultatif de mappage

Les mappages d'exportation doivent toujours avoir un paramètre d'entrée défini : le Mendix objet qui doit être exporté. Pour les mappages d'importation, la définition d'un paramètre d'entrée est facultative. Si vous choisissez d'en définir un pour un mappage, vous pouvez utiliser l'objet transmis de deux manières. Tout d'abord, vous pouvez l'utiliser comme paramètre lorsque vous appelez un microflow. Ensuite, vous pouvez définir une association entre les objets créés par le mappage et l'entité de paramètre. Dans les versions précédentes du Modeler, cette fonctionnalité était plutôt cachée dans la grille de propriétés, mais maintenant un espace réservé est dessiné pour le paramètre et une entité peut y être glissée comme pour tout autre espace réservé d'entité. Voir le coin supérieur gauche de la figure 1 pour un exemple d'un tel espace réservé pour une entité de paramètre facultative.

6.7 Mappages d'attributs entre les chaînes XML et Mendix Énumérations

Dans les mappages d'attributs, vous ne pouvez effectuer de mappage qu'entre des types de données compatibles. Les types de données sont compatibles lorsque le type de données à partir duquel vous effectuez le mappage peut être utilisé à la place du type de données vers lequel vous effectuez le mappage. Si vous souhaitez effectuer un mappage entre des attributs incompatibles, vous devez effectuer un microflow de conversion. Auparavant, si vous effectuiez un mappage entre des attributs XML de type chaîne et Mendix Pour les énumérations, vous auriez besoin d'un tel microflux. Étant donné que vous devrez le faire pour chaque énumération que vous souhaitez mapper, cela pourrait vous obliger à créer une grande quantité de ces microflux. Ce problème a été résolu et les attributs XML de type chaîne peuvent désormais être mappés à Mendix énumérations directement.

7. Conclusion

Dans cet article de blog, j'ai donné un aperçu des améliorations apportées aux documents de cartographie pour Mendix 6.1. J'espère que vous êtes aussi impatient que nous de les essayer. Nous pensons qu'il vous sera beaucoup plus facile de créer vous-même des mappages et de comprendre ceux créés par d'autres. Aimez-vous ces changements ? Avez-vous d'autres commentaires ? S'il vous plaît laissez-nous savoir.

Choisissez votre langue