Gérer la croissance et les volumes importants de données
Révision : Oct. 2023
Acumatica, positionné comme un ERP (Enterprise Resource Planning) de milieu de gamme, peut être déployé pour une grande variété d'entreprises - grandes, moyennes ou petites. Au fur et à mesure que les entreprises se développent, la quantité de données qu'elles doivent gérer augmente. Cependant, dans mon expérience de développement de codes personnalisés sur la plateforme Acumatica, je constate qu'un grand nombre d'organisations avec lesquelles je travaille sont trop exigeantes en matière de gestion et de traitement des données.
Acumatica dispose d'une grande variété d'écrans de traitement pour effectuer diverses tâches "en masse", et dispose en outre d'un cadre robuste mais facile à suivre pour mettre en œuvre vos propres écrans de traitement. Cependant, les enregistrements sont traités de manière séquentielle (1,2,3, etc.). Heureusement, il est possible d'activer le traitement parallèle pour les clients ayant des besoins importants en matière de traitement des données.
Comprendre le traitement parallèle
Le traitement parallèle tire parti du fait que les applications peuvent utiliser plus d'un fil de traitement à la fois. Pensez à l'époque où, avant les ordinateurs, les employés de bureau traitaient les transactions à la main. Comment accélérer le nombre de transactions que vous pouvez enregistrer ? Soit vous cherchiez à tout prix l'employé extraordinaire qui est super rapide, soit vous engagiez simplement plus d'employés et vous répartissiez le travail de manière égale entre eux. Acumatica peut être configuré de la même manière.
Activation du traitement parallèle dans le fichier web.config
Pour activer le traitement parallèle, vous devez ajouter les clés suivantes au fichierweb.config, sous le nœud Configuration/Appsettings :
Création d'un écran de traitement de base
Pour vérifier cela, ajoutons ces clés au fichier web.config et créons un écran de traitement simple qui traite une liste d'enregistrements :
Bien que nous ayons ajouté les clés, l'écran de traitement renvoie toujours la liste complète des lots GL lorsque l'option "Traiter tout" est sélectionnée.
Activer le traitement parallèle à l'écran
Cela s'explique par le fait que ces clés ne définissent qu'une règle globale au niveau du traitement. Il faut encore l'activer sur votre écran personnalisé lui-même.
Analyse des résultats
Essayons maintenant de traiter le bouton "tout" :
Lorsque vous regardez le résultat de l'écran de traitement, vous pouvez voir que tous les enregistrements ont été traités, même si le thread que nous avons attrapé n'en a vu que 10 :
Voici un diagramme illustrant la différence entre les deux et l'endroit où le point d'arrêt est pris dans le code :
Traitement séquentiel vs traitement parallèle
Dans le cadre du traitement séquentiel, le thread (ou « commis ») avait accès à la liste complète des éléments à traiter. Dans le cadre du traitement parallèle, le thread n'avait accès qu'au nombre maximal d'éléments (spécifié au niveau « max » dans le fichierweb.configet, en outre, dans les options de traitement parallèle au niveau de l'écran).
Le traitement parallèle, bien qu'il ne soit pas une solution miracle, peut considérablement augmenter la capacité de traitement des utilisateurs d'Acumatica qui traitent de grands volumes de données. En apportant simplement quelques modifications au fichierweb.config, vous pouvez facilement l'activer aussi bien sur le code ERP de base que sur votre code personnalisé. Vous n'avez pas besoin de gérer vous-même les threads ni les autres complexités qui en découlent.
J'espère que cet article vous aidera à faire face au volume de traitement des données qui augmente de plus en plus rapidement dans ce monde en pleine transformation numérique.
Bon codage !