Scénario d'utilisation pour le traitement des commandes dans un fichier XML

Dans ce scénario, une imprimerie veut traiter des commandes dans des fichiers XML envoyés par des vendeurs d'impression sur le Web. Chaque fichier XML contient plusieurs commandes et chaque commande peut inclure des articles à imprimer et promotionnels, tels que des tasses à café et des casquettes de base-ball.

Dans ce scénario, l'administrateur RICOH ProcessDirector utilise un outil tiers (tel que Altova MapForce) pour créer des feuilles de style XSLT (Extensible Stylesheet Language Transformations). Pour avoir des exemples de fichiers d'entrée XML, d'expressions XPath, de feuilles de style XSLT et de fichiers de substitution RICOH ProcessDirector utilisés par ce scénario, consultez les références correspondantes.

Vérification et préparation au traitement du fichier XML

L'administrateur RICOH ProcessDirector vérifie le contenu des fichiers XML et détermine la méthode permettant de les traiter.

  1. L'administrateur identifie d'abord les éléments XML qui fournissent des valeurs pour les propriétés de travail RICOH ProcessDirector.

    Dans l'exemple du fichier d'entrée XML, deux éléments XML fournissent les informations requises pour suivre chaque article d'une commande. L'attribut number de l'élément order et l'élément customername indiquent le numéro de commande et le nom du client.

    Pour les articles à imprimer, l'élément printfile indique l'URL du fichier PDF à télécharger et à imprimer.

    Pour les articles promotionnels, l'attribut number de l'élément stock indique l'emplacement de l'article dans l'entrepôt.

    Pour tous les articles, l'élément quantity indique la quantité commandée.

    Ce tableau affiche les cinq éléments XML et les noms des propriétés de travail RICOH ProcessDirector correspondantes.

    Élément XML Nom de base de données de la propriété de travail Nom d'interface utilisateur de la propriété de travail
    <order number> Job.Info.Attr1 Personnalisé1
    <customername> Job.CustomerName Nom du client
    <printfile> Job.DownloadFile URL du fichier à télécharger
    <stock number> Job.Info.Attr2 Personnalisé2
    <quantity> Job.Copies Nombre de copies du travail requises

  2. L'administrateur divise le processus en cinq parties :
    • Créer un travail XML distinct pour chaque commande.
    • Attribuer les valeurs de commande (order number et customername) aux propriétés de travail.
    • Créer un travail XML distinct pour chaque article à partir de chaque commande.
    • Attribuer les valeurs des articles (printfile, stock number et quantity ) aux propriétés de travail.
    • Traiter les articles à imprimer et les articles en stock dans des flots de travaux distincts.
  3. L'administrateur choisit de définir quatre flots de travaux :
    • Le flot de travaux ExtractOrdersFromXML reçoit les commandes et effectue des travaux distincts pour chaque commande.
    • Le flot de travaux SplitOrderIntoPrintAndStockJobs sépare les articles de chaque commande en travaux d'impression et de stock.
    • Le flot de travaux ProcessPrintJobs traite les travaux d'impression.
    • Le flot de travaux ProcessStockJobs traite les travaux de stock.

    Une étape basée sur le modèle d'étape CreateJobsFromXML crée des travaux à partir d'éléments dans un fichier XML qui correspondent à une expression XPath. Cette étape soumet les travaux à un flot de travaux.

  4. L'administrateur choisit d'utiliser trois étapes CreateJobsFromXML, chacune avec une expression XPath (XML Path Language) différente :
    • La première étape crée un travail XML distinct pour chaque commande.

      L'expression Order Jobs identifie les éléments XML qui correspondent aux commandes : /seller/order

    • La deuxième étape crée un travail XML distinct pour chaque article à imprimer.

      L'expression Print Jobs identifie les éléments XML qui correspondent aux articles à imprimer : /order/item/printfile/ancestor::item

    • La troisième étape crée un travail XML distinct pour chaque article promotionnel.

      L'expression Stock Jobs identifie les éléments XML qui correspondent aux articles promotionnels : /order/item/stock/ancestor::item

    L'administrateur attribue les étapes CreateJobsFromXML aux flots de travaux :

    • La première étape passe dans le flot de travaux ExtractOrdersFromXML. L'étape soumet les travaux XML de chaque commande au flot de travaux SplitOrderIntoPrintAndStockJobs.
    • Les deuxième et troisième étapes passent dans le flot de travaux SplitOrderIntoPrintAndStockJobs. La deuxième étape soumet les travaux XML des articles à imprimer au flot de travaux ProcessPrintJobs. La troisième étape soumet les travaux XML des articles promotionnels au flot de travaux ProcessStockJobs.

    Une étape basée sur le modèle d'étape ApplyXSLTransform peut transformer le fichier XML en un fichier de substitution RICOH ProcessDirector qui spécifie les valeurs des propriétés de travail.

  5. L'administrateur choisit d'utiliser trois étapes ApplyXSLTransform. Chaque étape utilise une feuille de style XSLT. L'administrateur utilise un outil XSLT tiers pour créer les feuilles de style XSLT.
    • La première étape utilise la feuille de style XSLT Order Jobs. Elle convertit l'attribut name de l'élément order et l'élément customername en propriétés de travail Job.Info.Attr1 et Job.CustomerName.

      L'étape passe dans le flot de travaux SplitOrderIntoPrintAndStockJobs avant les deux étapes CreateJobsFromXML.

    • La deuxième étape utilise la feuille de style XSLT Print Jobs. Elle convertit l'élément printfile et l'élément quantity en propriétés de travail Job.DownloadFile et Job.Copies.

      L'étape passe dans le flot de travaux ProcessPrintJobs.

    • La troisième étape utilise la feuille de style XSLT Stock Jobs. Elle convertit l'attribut number de l'élément stock et l'élément quantity en propriétés de travail Job.Info.Attr2 et Job.Copies.

      L'étape passe dans le flot de travaux ProcessStockJobs.

  6. L'administrateur choisit d'utiliser une étape DownloadFile pour télécharger les fichiers PDF à partir d'une URL spécifiée.

    L'imprimerie utilisant un serveur proxy pour communiquer avec des sites Web externes, l'administrateur configure RICOH ProcessDirector pour utiliser le serveur proxy.

Configuration de l'unité d'entrée et des flots de travaux

L'administrateur configure une unité d'entrée de dossier prioritaire afin de recevoir des fichiers XML et quatre flots de travaux pour les traiter.

  1. Le flot de travaux ExtractOrdersFromXML crée un travail pour chaque commande dans le fichier d'entrée XML.

    Après les étapes SetJobPropsFromTextFile et DetectInputDataStream, l'administrateur ajoute l'étape CreateJobsFromXML. L'administrateur définit la valeur de l'expression XPath sur /seller/order et la valeur du flot de travaux des nouveaux travaux sur SplitOrderIntoPrintAndStockJobs. L'administrateur précise que les nouveaux travaux ne sont pas créés en tant que travaux enfants. Chaque commande est un travail indépendant.

  2. Le flot de travaux SplitOrderIntoPrintAndStockJobs reçoit chaque travail de commande, crée des fichiers XML pour les articles à imprimer et promotionnels et les soumet en tant que travaux enfants au flot de travail approprié.

    Après les étapes SetJobPropsFromTextFile et DetectInputDataStream, l'administrateur ajoute une étape ApplyXSLTransform. L'étape utilise la feuille de style XSLT Order Jobs.

    Après l'étape ApplyXSLTransform, l'administrateur ajoute deux étapes CreateJobsFromXML :

    • Pour la première étape, l'administrateur définit la valeur de l'expression XPath sur /order/item/printfile/ancestor::item et la valeur du flot de travaux des nouveaux travaux sur ProcessPrintJobs.
    • Pour la deuxième étape, l'administrateur définit la valeur de l'expression XPath sur /order/item/stock/ancestor::item et la valeur du flot de travaux des nouveaux travaux sur ProcessStockJobs.
    • Pour les deux étapes, l'administrateur précise que les nouveaux travaux sont créés en tant que travaux enfants. L'administrateur précise également que les travaux parents continuent à l'étape suivante lorsqu'aucun travail enfant n'est créé. Par exemple, les travaux enfants ne sont pas créés dans la première étape CreateJobsFromXML si un travail de commande ne possède pas d'articles à imprimer.

    Après la deuxième étape CreateJobsFromXML, l'administrateur ajoute une étape basée sur le modèle d'étape WaitForRelatedJobs. Cette étape contient les travaux parents jusqu'à ce que tous les travaux enfants des articles à imprimer et promotionnels aient été traités.

  3. Le flot de travaux ProcessPrintJobs reçoit chaque travail d'un article à imprimer et imprime les articles.

    Après les étapes SetJobPropsFromTextFile et DetectInputDataStream, l'administrateur ajoute une étape ApplyXSLTransform. L'étape utilise la feuille de style XSLT Print Jobs.

    Après l'étape ApplyXSLTransform, l'administrateur ajoute une étape basée sur le modèle d'étape DownloadFile pour télécharger le fichier PDF spécifié par la valeur de la propriété Job.DownloadFile. L'administrateur définit la valeur de la propriété Chemin du fichier téléchargé sur ${getFileName(print,pdf,write)} afin que le fichier PDF soit téléchargé dans le répertoire spoule du travail.

    Après l'étape DownloadFile, l'administrateur ajoute les étapes que l'imprimerie utilise pour traiter les travaux PDF.

    Après la dernière étape qui traite les travaux d'impression, l'administrateur ajoute une étape basée sur le modèle d'étape ManualStepWithAutoStart. Cette étape donne à un préparateur de commandes le temps d'ajouter le travail d'impression à la commande dans le service de livraison.

    Après l'étape ManualStepWithAutoStart, l'administrateur ajoute une étape basée sur le modèle d'étape WaitForRelatedJobs. Cette étape contient chaque travail d'un article à imprimer d'une commande jusqu'à ce que tous les travaux de la commande aient été traités.

  4. Le flot de travaux ProcessStockJobs reçoit chaque travail d'un article promotionnel et comptabilise le temps nécessaire pour récupérer un article promotionnel à partir de l'entrepôt.

    Après les étapes SetJobPropsFromTextFile et DetectInputDataStream, l'administrateur ajoute une étape ApplyXSLTransform. L'étape utilise la feuille de style XSLT Stock Jobs.

    Après l'étape ApplyXSLTransform, l'administrateur ajoute une étape basée sur le modèle d'étape ManualStepWithAutoStart. Cette étape donne à un préparateur de commandes le temps d'obtenir l'article promotionnel et de l'ajouter à la commande dans le service de livraison.

    Après l'étape ManualStepWithAutoStart, l'administrateur ajoute une étape basée sur le modèle d'étape WaitForRelatedJobs. Cette étape contient chaque travail d'un article promotionnel d'une commande jusqu'à ce que tous les travaux de la commande aient été traités.

Cette figure montre les quatre flots de travaux. Les lignes vertes indiquent le flot de travaux auquel chaque étape CreateJobsFromXML soumet des travaux XML.

Traitement des travaux via les flots de travaux

Lorsque l'administrateur active les flots de travaux et soumet un fichier XML à l'unité d'entrée, RICOH ProcessDirector traite le travail via les quatre flots de travaux.

Le flot de travaux ExtractOrdersFromXML reçoit le travail XML de l'unité d'entrée et crée un fichier XML pour chaque élément order qui correspond à l'expression XPath Order Jobs. Le flot de travaux soumet chaque fichier XML en tant que travail au flot de travaux SplitOrderIntoPrintAndStockJobs.

Le flot de travaux SplitOrderIntoPrintAndStockJobs effectue le traitement suivant :

  • Il reçoit chaque travail de commande.
  • Il utilise la feuille de style XSLT Order Jobs pour convertir les éléments et valeurs order number et customername en propriétés et valeurs de travail.
  • Il enregistre les propriétés et les valeurs de travail dans un fichier de substitution.
  • Il crée un fichier XML pour chaque élément item qui correspond à l'expression XPath Print Jobs. Le flot de travaux soumet chaque fichier XML en tant que travail enfant au flot de travaux ProcessPrintJobs. Une copie du fichier de substitution est envoyée avec chaque travail enfant.

    Il crée un fichier XML pour chaque élément item qui correspond à l'expression XPath Stock Jobs. Le flot de travaux soumet chaque fichier XML en tant que travail enfant au flot de travaux ProcessStockJobs. Une copie du fichier de substitution est envoyée avec chaque travail enfant.

  • Il contient le travail parent de chaque commande jusqu'à ce que tous les travaux enfants aient été traités.

Le flot de travaux ProcessPrintJobs effectue le traitement suivant :

  • Il reçoit chaque travail d'un article à imprimer.
  • Il utilise la feuille de style XSLT Print Jobs pour convertir les éléments et valeurs printfile et quantity en propriétés et valeurs de travail.
  • Il enregistre les propriétés et les valeurs de travail en écrasant le contenu du fichier de substitution soumis avec le travail.
  • Il utilise la valeur de la propriété Job.DownloadFile pour télécharger le fichier PDF de chaque article à imprimer.
  • Il imprime le fichier PDF.
  • Il attend pendant qu'un préparateur de commandes vérifie les valeurs des propriétés Personnalisé1 (numéro de commande) et Nom du client du travail. Le préparateur ajoute alors l'article à imprimer à la commande dans le service de livraison.

    Pour déplacer le travail vers l'étape suivante du flot de travaux, l'employé utilise l'action Manuel Terminer.

  • Il contient chaque travail d'un article à imprimer jusqu'à ce que le traitement des commandes soit terminé.

Le flot de travaux ProcessStockJobs effectue le traitement suivant :

  • Il reçoit chaque travail d'un article promotionnel.
  • Il utilise la feuille de style XSLT Stock Jobs pour convertir les éléments et valeurs stock number et quantity en propriétés et valeurs de travail.
  • Il enregistre les propriétés et les valeurs de travail en écrasant le contenu du fichier de substitution soumis avec le travail.
  • Il attend pendant qu'un préparateur de commandes effectue les tâches suivantes :
    • Recherche le numéro de nomenclature de l'article en vérifiant la valeur de la propriété Personnalisé2.
    • Obtient le nombre requis d'articles promotionnels de l'entrepôt.
    • Vérifie la valeur des propriétés Personnalisé1 (numéro de commande) et Nom du client du travail.
    • Ajoute les articles promotionnels à la commande dans le service de livraison.

    Pour déplacer le travail vers l'étape suivante du flot de travaux, l'employé utilise l'action Manuel Terminer.

  • Il contient chaque travail d'un article promotionnel jusqu'à ce que le traitement des commandes soit terminé.

Lorsque tous les travaux des articles à imprimer et promotionnels d'une commande ont atteint l'étape WaitForRelatedJobs, le traitement de la commande est terminé. RICOH ProcessDirector déplace le travail parent de la commande et tous les travaux enfants des articles vers les étapes basées sur le modèle d'étape RetainCompletedJobs.