Fermer

mars 16, 2020

Mise à niveau du système de catalogue de PIM vers Sitecore pour l'application de commerce Websphere


Le projet consistait à mettre à niveau et à maintenir le système de catalogue de PIM vers Sitecore:

Des données de catalogue antérieures, comme la catégorie, le produit et les skus, arrivaient au système de commerce à partir du serveur PIM.

C'est un système qui fonctionnait depuis un certain temps sous un autre fournisseur avec le code dont nous avons hérité. Les choses sont comme elles sont parce que les données sont dans un certain format qui ne peut pas être changé, nous devons donc les contourner pour les amener à ce que nous voulons

Infrastructure pour effectuer la mise à niveau du système de catalogue de PIM vers Sitecore :

Pour réaliser la mise à niveau du système de catalogue, l'architecture suivante est en place.

Serveur PIM-> Serveur Sitecore-> Serveur d'intégration-> Serveur de commerce-> Persistance de la base de données de commerce.

Anciennes données de catalogue transférées depuis PIM serveur vers le serveur Sitecore.

Serveur Sitecore: Publiez la nouvelle catégorie, les attributs, le produit et les données skus et envoyez au serveur d'intégration.

Serveur d'intégration: Il reçoit le données de catalogue du serveur sitecore, formatant ces données en fonction de la demande fournie par le commerce, et envoyez-les au serveur de commerce via MQ au format xml.

Commerce Server: Acceptez les données de catalogue du serveur d'intégration. Traitez, transformez et stockez les informations dans la base de données WebSphere Commerce .

Voici quelques problèmes et résolutions que nous avons faits,

  1. Le client envoyait un flux de groupe d'attributs pour la catégorie séparément, en raison de ce message MQ supplémentaire qui était obligatoire. Par conséquent, nous avons indiqué le groupe d'attributs du club avec le flux de structure de catégorie uniquement. Pour cette raison, nous avons pu enregistrer un message MQ supplémentaire et aucun code distinct n'était requis pour le groupe d'attributs, l'analyse, le traitement et l'enregistrement dans la base de données.
  2. Nous avons certains attributs pour les produits et les articles pour afficher des informations à leur sujet sur site comme la marque, le volume, la capacité, etc. Nous avons rencontré le problème avec ces attributs pour le produit et les articles. Sitecore envoyait les détails des attributs pour le produit non seulement pour les articles, mais notre ancien code pour le frontend attendait également les attributs au niveau de l'article. Par conséquent, nous avons dit d'envoyer les attributs au niveau du produit et de l'article à la fois. Donc, que nous avons pu les associer de manière appropriée.
  3. Comme nous l'avons vu au point 2, nous devons montrer une description du produit et des articles, pour cela nous recevons certains attributs et leurs valeurs dans le flux de produits de Sitecore. [19659015] Pour chaque attribut, un identificateur de valeur lui est associé dans la base de données de commerce, qui est de nature unique. Dans la base de données de commerce contre cet identificateur de valeur, nous stockons la valeur de l'attribut, que nous obtenons du flux sitecore.

    Le problème était que sitecore n'envoyait pas d'identificateur de valeur pour les attributs, c'est pourquoi l'unicité n'était pas maintenue dans la base de données, et chaque fois que le flux arrivait, dans la base de données un nouvel identifiant de valeur a été créé. C'était une surcharge de la base de données. Ensuite, nous avons demandé à l'équipe d'intégration de sitecore de nous envoyer l'identifiant de valeur.

    Pour cela, nous leur avons demandé de créer de la valeur comme identifiant de valeur et de nous les envoyer, afin que l'unicité de la valeur soit conservée dans la base de données. La longueur du champ d'identifiant de valeur dans la base de données est limitée à 256 caractères, c'est pourquoi nous leur avons demandé de couper la valeur à 250 caractères et d'en faire un identificateur de valeur.

    Exemple d'extrait de code,

    ART_16

    Produits de noms génériques

    <value id = ” SOUFFLEUR | SOUFFLEUR À MAIN “> SOUFFLEUR | VENTILATEUR À MAIN

    Le texte en gras est l'identificateur de valeur.

    1. Dans l'ancien système PIM si le client voulait supprimer certains produits ou articles, ils étaient ne pas les envoyer dans le flux suivant. Après avoir transformé le nouveau flux, le commerce le comparait avec les produits et articles existants dans la base de données du commerce, et si le nouveau flux ne contenait pas ces produits et articles, ils étaient supprimés de la base de données du commerce. Mais ce processus était sujet aux erreurs, donc lors de l'intégration de Sitecore, nous avons dit au client d'envoyer un indicateur au niveau du produit et de l'article qu'il voulait supprimer. Ainsi, nous pouvons supprimer ces produits et articles du catalogue de vente. Ils envoient maintenant sous la valeur des drapeaux dans le flux Sitecore au niveau du produit et au niveau de l'article respectivley,

    1

    1

    1. Les problèmes étaient liés aux images des produits et des articles. Sitecore envoyait des images au niveau de l'élément, pas au niveau du produit. Ils voulaient utiliser les images de l'article comme image de produit. Mais le problème était que, notre ancien code que nous avons hérité du fournisseur précédent, ils tiraient des images pour le produit séparément et l'article séparément. Par conséquent, nous avons demandé à l'équipe d'intégration de sitecore d'envoyer des images pour le produit et l'article à la fois.

    Cela nous aide également lorsque ces derniers voulaient des images différentes pour le produit et les articles.




Source link