Esecuzione del flusso di lavoro di esempio per elaborare ordini recuperati dai servizi Web REST

Il flusso di lavoro RestfulServizioWebFL mostra come elaborare gli ordini recuperati dai servizi Web REST che simulano un sito Web per l'ordinazione di libri. Un dispositivo di input del servizio Web REST, una procedura CallRESTService e una notifica del servizio Web REST scambiano dati utilizzando i servizi Web. Il flusso di lavoro fornisce inoltre esempi relativi a queste procedure: ConvertiJSONInXML, ApplicaTrasformazioneXSL, CreaLavoriDaXML e ScaricaFile.

Questo flusso di lavoro utilizza questi oggetti e file di esempio:

  • Flusso di lavoro: RestfulServizioWebFL
  • Dispositivo di input: RestfulServizioWebEsempio

    Il dispositivo di input esegue una chiamata GET per recuperare gli ordini JSON da un servizio Web REST di esempio su http://localhost:15080/restapi/1.0/sample/order

  • Notifica: RestfulServizioWebNotificaEsempio

    La notifica esegue una chiamata POST ad un servizio Web di esempio su http://localhost:15080/restapi/1.0/sample/completeJobTicket

  • Ordini JSON

    Un ordine viene recuperato ogni 30 secondi dal servizio Web di esempio.

    Contenuto dell'ordine di esempio:

    {"Order": {"orderId": "ORDnumber", "customername": "Ricoh"}}

    Ogni ordine contiene un numero generato a caso, ad esempio: 1238875463.

  • File di stampa: Brochure.pdf e Cover.pdf

    Questi file vengono scaricati localmente da http://localhost:15080/restapi/

  • File del foglio di stile XSLT:

    • orderToOverrides.xslt

    • jobticketToOverrides.xslt

    I file sono nella directory restsample:

    • /aiw/aiw1/testfiles/restsample (Linux)
    • C:\aiw\aiw1\testfiles\restsample (Windows)

  • File PDF di notifica

    Un file PDF di notifica viene generato per ciascun ordine completato. Ogni file viene chiamato ORDER-ORDnumero, ad esempio: ORDER-ORD1238875463.

  • La proceduraCallRESTService esegue una chiamata GET per recuperare i ticket lavoro JSON da un servizio Web REST di esempio su http://localhost:15080/restapi/1.0/sample/jobTicket

    Nota:
  • I servizi Web di esempio sono disponibili localmente. Restituiscono dati di esempio in risposta a richieste specifiche trasmesse dal dispositivo di input di esempio, notifica e procedura CallRESTService. I servizi Web non supportano altre richieste.

  • Gli oggetti e i file di esempio, incluso il flusso di lavoro RestfulServizioWebFL, sono installati con la funzione Attivazione servizi Web.

Per eseguire il flusso di lavoro di esempio:

  1. Fare clic sulla scheda Principale.
  2. Nel portlet Stampanti, fare clic con il tasto destro del mouse sulla stampante Esempio e selezionare Abilita.
  3. Nel portlet del Dispositivo di input, fare clic con il tasto destro del mouse sul dispositivo di input del servizio Web REST RestfulEsempioServizioWeb e selezionare Abilita e Connetti.

    Nella tabella lavori viene visualizzato un lavoro.

  4. Fare clic con il tasto destro del mouse sul dispositivo di input RestfulEsempioServizioWeb e selezionare Disabilita.
  5. Fare clic nuovamente con il tasto destro del mouse sul dispositivo di input e selezionare Disconnetti.

    Nota: Il dispositivo di input di esempio esegue un polling per gli ordini ogni 30 secondi e recupera un lavoro JSON. Se il dispositivo di input non viene disabilitato e disconnesso, nella tabella lavori compare un nuovo lavoro ogni 30 secondi.

    Ogni volta che il dispositivo di input RestfulEsempioServizioWeb recupera un lavoro JSON:

    • Il lavoro viene inviato mediante la sezione Principale del flusso di lavoro.

    • La procedura ImposProprDaFile di Testo imposta la proprietà Nome Cliente su RicohSample e la proprietà Cliente 1 su RicohCustom.

    • La procedura ConvertiJSONInXML converte il lavoro in XML.

    • La funzione ApplicaTransformXSL usa il foglio di stile XSLT orderToOverrides.xslt per convertire 2 elementi XML in 2 RICOH ProcessDirector proprietà di lavoro in un file di sovrascrittura:

      Elemento XML Proprietà di lavoro
      orderId Job.Info.Attr3
      customername Job.CustomerName

      Contenuti di un esempio di file di sovrascrittura:

      Job.Info.Attr3=ORD1238875463 Job.CustomerName=Ricoh

      La procedura posiziona il file di sovrascrittura nella directory di spool per il lavoro. RICOH ProcessDirector utilizza i valori nel file di sovrascrittura per impostare i valori delle proprietà per il lavoro.

    • La funzione AssegnValoriLavoro imposta la proprietà relativa al valore del Nome lavoro su ORDER-${Job.Info.Attr3}, ad esempio: ORDER-ORD1238875463.

    • La procedura CallRESTService esegue una chiamata GET ad uno dei servizi Web di esempio che simulano il sito Web per ordinare libri. La procedura specifica l'ID ordine in quanto valore della proprietà dei Parametri di richiesta: orderId:${Job.Info.Attr3}.

      Il servizio Web restituisce le informazioni di ticket di lavoro JSON per l'ordine a RICOH ProcessDirector.

      Contenuti di informazioni di ticket di lavoro di esempio:

      {"JobTicket": [{ "itemnumber": "1182563839", "copies":"4","media" : "Letter Plain","file" : "http://localhost:15080/restapi/Brochure.pdf","type" : "Brochure","title" : "RPDBestSeller"}, { "itemnumber": "1934194376", "copies":"4","media" : "Letter Preprinted","file" : "http://localhost:15080/restapi/Cover.pdf","type" : "Cover" ,"title" : "RPDBestSeller" }]}

    • La procedura ConvertiJSONInXML converte le informazioni del ticket di lavoro JSON in XML.

    • L'operazione CreateJobsFromXML utilizza l'espressione XPath //JobTicket per analizzare le informazioni del ticket di lavoro XML. La procedura rileva 2 ticket di lavoro e crea 2 lavori secondari.

      Contenuti di lavori secondari di esempio:

      <?xml version="1.0" encoding="UTF-8"?><JobTicket><copies>4</copies><file>http://localhost:15080/restapi/Brochure.pdf</file><itemnumber>2112076335</itemnumber><media>Letter Plain</media><type>Brochure</type><title>RPDBestSeller</title></JobTicket><?xml version="1.0" encoding="UTF-8"?><JobTicket><copies>4</copies><file>http://localhost:15080/restapi/Cover.pdf</file><itemnumber>1418780325</itemnumber><media>Letter Preprinted</media><type>Cover</type><title>RPDBestSeller</title></JobTicket>

      La procedura invia i 2 lavori secondari al flusso di lavoro RestfulServizioWebFL.

      La regola sul connettore [2] Secondario determina se i lavori sono secondari controllando la presenza o meno di un punto decimale nel numero di lavoro. Il connettore invia i lavori secondari mediante la sezione Secondario del flusso di lavoro.

      Il lavoro JSON originario continua attraverso la sezione Principale fino alla procedura AttivaApplicazioneHotFolder. Tale procedura inserisce il lavoro JSON in una hot folder:

      • /aiw/aiw1/testfiles/restsample/sending (Linux)

      • C:\aiw\aiw1\testfiles\restsample\sending (Windows)

      Uno dei servizi web di esempio che simula il sito web per l'ordinazione di libri esegue il pooling delle hot folders per i lavori. Il servizio Web elabora ciascun lavoro JSON quando riceve una richiesta dalla notifica RestfulServizioWebNotificaEsempio. Per ulteriori informazioni, fare riferimento agli elementi contenuti nell'elenco relativo alla procedura ConservLavoriCompletati.

    • La procedura ApplicaTrasformazioneXSL2 utilizza il foglio di stile XSLT ticketlavorePerSovrascrittura.xslt per convertire 6 elementi XML per ciascun lavoro secondario in proprietà di lavoro RICOH ProcessDirector in un file di sovrascrittura:

      Elemento XML Proprietà di lavoro
      file Job.Info.Attr2
      itemnumber Job.Info.Attr1
      type Job.Info.Attr4
      title Job.Info.Attr5
      copies Job.Copies
      media Job.Media

      Contenuti di un esempio di file di sovrascrittura:

      Job.Info.Attr2=http://localhost:15080/restapi/Brochure.pdf Job.Info.Attr1=1182563839 Job.Info.Attr4=Brochure Job.Info.Attr5=RPDBestSeller Job.Copies=4 Job.Media=Letter Preprinted

    • La procedura DownloadFile scarica sia il Cover.pdf sia il Brochure.pdf file da http://localhost:15080/restapi/ impostando il valore della proprietà URL for download file su ${Job.Info.Attr2}.

    • La procedura AssegnJobValues2 stabilisce il valore di 3 proprietà di lavoro:

      • Stampante richiesta: Esempio

      • Flusso di dati input: PDF

      • Nome lavoro: ${Job.Info.Attr5}-${Job.Info.Attr4}

      TI nomi dei lavori secondari per il file Brochure.pdf e per il file Cover.pdf sono ora RPDBestSeller-Brochure e RPDBestSeller-Cover.

    • Le procedure OttimizzazionePDF, ConteggioPagine, CreazionePageRanges, e StampaLavori elaborano e stampano i lavori secondari RPDBestSeller-Brochure e RPDBestSeller-Cover sulla stampante Esempio.

    • Quando ciascun lavoro secondario di stampa arriva alla procedura ConservaLavoriCompletati la notifica del servizio web RestfulServizioWebNotificaEsempio esegue una chiamata POST a uno dei servizi web di esempiohttp://localhost:15080/restapi/1.0/sample/completeJobTicket. Il valore della proprietà Richiesta parametri è:

      jobTicket:${Job.Info.Attr1} jobId:${Job.ID}

      Il servizio Web attende fino a quando tutti i lavori secondari del lavoro JSON originario sono nello stato lavoro Conservato. Il servizio Web crea quindi un file PDF con il numero di lavoro e il numero di elemento per ciascun ticket di lavoro nell'ordine. Ad esempio:

      10000001.2 with item number 278955095 has been processed10000001.1 with item number 913895452 has been processed

      Il servizio Web inserisce il file PDF nella hot folder di recupero per la procedura AttivaApplicazioneHotFolder :

      • /aiw/aiw1/testfiles/restsample/retrieval (Linux)

      • C:\aiw\aiw1\testfiles\restsample\retrieval (Windows)

      La procedura AttivaApplicazioneHotFolder esegue un polling della hot folder, identifica il file PDF e invia il lavoro alla procedura successiva.

    • L'operazione AssignJobValues imposta il valore della proprietà Flusso di dati di input su PDF e invia il lavoro PDF all'operazione RetainCompletedJobs.

  6. Nella tabella lavori, fare di nuovo clic con il tasto destro su ORDER-ORDnumero lavoro e selezionare Visualizza.

    Nel visualizzatore viene visualizzato il file PDF. L'informazione contenuta nel file PDF conferma che 2 lavori secondari sono stati elaborati.