Scenario di utilizzo per l'elaborazione di ordini JSON con servizi Web
La Attivazione servizi Web caratteristica include oggetti di esempio che illustrano il funzionamento dello scenario:
- flusso di lavoroRestfulServizioWebFL
- Dispositivo di input del servizio Web RESTRestfulServizioWebEsempio
- Ordini JSON e ticket di lavoro
- Espressione XPath
- Fogli di stile XSLT
- RICOH ProcessDirector file di sovrascrittura
- Notifica del servizio web REST RestfulServizioWebNotificaEsempio
Per analizzare il flusso di lavoro RestfulServizioWebFL, fare riferimento alle attività correlate relative alla gestione di un flusso di lavoro per l'elaborazione di ordini recuperati da servizi web REST.
Requisiti di un sito web per l'ordinazione di libri
L'azienda tipografica deve imparare a conoscere i requisiti necessari per comunicare con i servizi web REST relativi al sito web per l'ordinazione di libri. RICOH ProcessDirector deve chiamare 3 siti web:
- Una chiamata ad un sito web recupera le informazioni JSON riguardanti ciascun ordine.
Se gli ordini sono in attesa, il servizio web rimanda un ordine JSON in risposta a
ciascuna chiamata GET. Nel caso in cui non ci siano ordini in attesa, il servizio
web non risponde alla chiamata:
Contenuti di un ordine JSON di esempio:
{"Order": {"orderId": "ORD1238875463", "customername": "Ricoh"}}
- Una chiamata ad un altro servizio web recupera un'informazione JSON relativa ai ticket
di lavoro per il libro e per la copertina.
Esempio di informazione di ticket di lavoro JSON:
{"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" }]}
- Una chiamata ad un terzo servizio web inoltra il numero dell'articolo a ciascun ticket
di lavoro completato relativo ad un ordine. Quando entrambi i numeri dell'articolo
relativi ad un ordine sono stati inviati, il servizio web crea un file PDF che elenca
i numeri di lavoro e dell'articolo. Il servizio web inserisce il file PDF in una directory.
Contenuti di un file PDF di esempio:
10000001.2 with item number 1182563839 has been processed10000001.1 with item number 1934194376 has been processed
- Nota:
- I 3 servizi web di esempio simulano i servizi web di un sito di prenotazione di libri. Tuttavia, essi sono disponibili localmente in quanto parte della caratteristica Attivazione servizi Web. Essi forniscono dati di esempio in risposta a specifiche richieste provenienti dal dispositivo di input RestfulServizioWebEsempio, dalla funzione ChiamataServizioREST nel flusso di lavoro RestfulServizioWebFL e dalla notifica RestfulServizioWebNotificaEsempio.
- I servizi web di esempio generano ordini di esempio con ID diversi e stabiliscono i ticket di lavoro di esempio con differenti numeri di articolo. Il resto dei dati negli esempi è lo stesso.
Per effettuare le chiamate ai servizi web, l' RICOH ProcessDirector amministratore deve conoscere:
- I valori richiesti per autenticarsi con il sito web di prenotazione di libri.
- I valori necessari per richiedere dati a ciascun servizio web.
- Il formato dei dati forniti in risposta a ciascun sito web.
L'amministratore usa un plug-in del browser per effettuare test manuali che richiedono una risposta dai servizi web REST. Esempi di plug-in includono RESTClient per Mozilla Firefox e Boomerang per Google Chrome.
Come elaborare il JSON
L'amministratore rivede i contenuti degli ordini JSON e dei ticket di lavoro forniti dai servizi web REST e identifica le informazione che RICOH ProcessDirector richiede. Successivamente, l'amministratore valuta le RICOH ProcessDirector capacità che chiamano i servizi web ed elaborano XML e JSON. L'amministratore decide rispetto agli oggetti RICOH ProcessDirector e alle procedure per l'elaborazione degli ordini e dei ticket di lavoro ed estrae le informazioni richieste. L'amministratore definisce poi le espressioni XPath e i fogli di stile XSLT richiesti dagli oggetti e dalle procedure.
- Al fine di elaborare ordini e ticket di lavoro in RICOH ProcessDirector, l'amministratore identifica gli oggetti JSON che forniscono le informazioni richieste.
L'amministratore assegna i valori degli oggetti alle RICOH ProcessDirector proprietà di lavoro.
- Per chiamare il servizio web che recupera le informazioni JSON relative ai ticket
di lavoro, l'amministratore deve fornire l'ID dell'ordine. L'amministratore deve anche
rintracciare il nome del cliente in RICOH ProcessDirector.
Due membri dell'oggetto ordine JSON forniscono i seguenti valori: orderId e customername.
Questa tabella mostra i 2 membri JSON e il nome delle RICOH ProcessDirector proprietà di lavoro che l'amministratore utilizza per estrarre le informazioni.
JSON membro Nome database della proprietà di lavoro Nome della proprietà di lavoro visualizzato nell'interfaccia utente orderId Job.Info.Attr3 Personalizzato 3 customername Job.CustomerName Nome cliente - Per creare lavori separati per ciascun ticket di lavoro, l'amministratore deve usare
il numero dell'articolo. Per scaricare e stampare i file PDF per libri e copertine,
l'amministratore deve utilizzare il file, le copie e le informazioni sui supporti
contenute nel ticket di lavoro. L'amministratore deve anche rintracciare la tipologia
di libro e il titolo nel RICOH ProcessDirector.
Sei membri del ticket di lavoro JSON forniscono i seguenti valori: file, itemnumber, type, title, copies e media.
Questa tabella mostra i 6 membri JSON e i nomi delle RICOH ProcessDirector proprietà di lavoro.
JSON membro Nome database della proprietà di lavoro Nome della proprietà di lavoro visualizzato nell'interfaccia utente itemnumber Job.Info.Attr1 Personalizzato 1 file Job.Info.Attr2 Personalizzato 2 type Job.Info.Attr4 Personalizzato 4 title Job.Info.Attr5 Personalizzato 5 copies Job.Copies Copie di lavoro richieste media Job.Media Supporto
- Per chiamare il servizio web che recupera le informazioni JSON relative ai ticket
di lavoro, l'amministratore deve fornire l'ID dell'ordine. L'amministratore deve anche
rintracciare il nome del cliente in RICOH ProcessDirector.
- Prima di stabilire il RICOH ProcessDirector processo, l'amministratore deve esaminare gli RICOH ProcessDirector oggetti e il modello di procedura che chiamano i servizi web REST:
- Dispositivo di input del servizio Web REST
- Notifica servizio Web REST
- Modello procedura CallRESTService
Ognuno di loro può fare chiamate DELETE, GET, GET, PATCH, POST o PUT ed elaborare JSON o XML.
Il dispositivo di input può creare un lavoro da ogni risposta oppure può valutare la risposta per un JSONPath o un'espressione XPath. Nel caso in cui il dispositivo di input effettui una valutazione, questo può creare un lavoro ogni volta che si rileva un'espressione.
- L'amministratore deve anche esaminare RICOH ProcessDirector le procedure modello che elaborano XML:
- Una procedura basata su una procedura modello ApplicaTransformXSL è in grado di convertire l'input in un formato in un output in un altro formato.
Ad esempio, la procedura può convertire XML in un output di questo tipo:
- Un file di testo contenente un lavoro RICOH ProcessDirector o proprietà di documento.
- Un file con XML in un altro formato per input nella procedura CreaLavoroDaXML.
- Una procedura basata su un modello CreaLavoroDaXML è in grado di creare uno o più lavori XML valutando i contenuti di un file di input XML. La procedura è in grado di inoltrare i lavori in quanto lavori indipendenti o secondari ad un flusso di lavoro specifico.
Poiché ApplicaTransformXSL e CreaLavoro DaXML non sono in grado di elaborare JSON, una procedura basata sul modello ConvertiJSONToXML può trasformare JSON in XML per l'input di tali procedure.
- Una procedura basata su una procedura modello ApplicaTransformXSL è in grado di convertire l'input in un formato in un output in un altro formato.
Ad esempio, la procedura può convertire XML in un output di questo tipo:
- L'amministratore deve decidere i componenti base dei RICOH ProcessDirector processi.
- Al fine di recuperare ordini JSON dal sito web per la prenotazione di libri, l'amministratore
deve scegliere il dispositivo di input del servizio web REST.
Dato che ogni risposta contiene un ordine singolo, l'amministratore deve impostare il dispositivo di input al fine di creare un lavoro da ogni risposta.
- Per recuperare i ticket di lavoro JSON per ciascun ordine, l'amministratore deve scegliere
3 procedure:
- Una procedura ConvertiJSONToXML per convertire gli ordini JSON in XML per l'input ad una procedura ApplicaTransformXSL.
- La procedura ApplicaTransformXSL converte i valori dell'ID dell'ordine e del nome cliente negli ordini XML nelle proprietà di lavoro RICOH ProcessDirector Cliente 3 e Nome cliente.
- Utilizzando i valori della proprietà Cliente 3, una procedura ChiamaServizioREST recupera i ticket di lavoro JSON.
- Per creare un lavoro da ogni ticket di lavoro, l'amministratore sceglie 2 procedure:
- Una procedura ConvertiJSONToXML converte un ticket di lavoro JSON in XML per input ad una procedura CreaLavoro DaXML.
- La procedura CreaLavoroDaXML crea un lavoro separato per ogni ticket di lavoro valutando la risposta attraverso l'uso di un'espressione XPath.
- Per estrarre l'informazione dai ticket di lavoro e per usarla al fine di scaricare
i file di stampa PDF, l'amministratore sceglie 3 procedure:
- Una procedura ApplicaTransformXSL per convertire i valori nei ticket di lavoro XML in RICOH ProcessDirector proprietà di lavoro. Ad esempio, l'URL del file da scaricare viene convertito nel valore della proprietà di lavoro Cliente 2.
- Usando il valore della proprietà di lavoro Cliente 2, una procedura di ScaricaFile scarica i file di stampa PDF.
- Una procedura AssegnValoriLavoro imposta il flusso dei dati di input al PDF al fine di comunicare alle altre fasi del flusso di lavoro la tipologia di file che stanno elaborando.
- Quando entrambi i lavori PDF di un ordine sono stati stampati, l'amministratore deve comunicare al sito web di prenotazione di libri che l'ordine è pronto per essere spedito. Dato che il sito web utilizza REST, l'amministratore deve scegliere una notifica al sito web di tipo REST.
- Al fine di recuperare ordini JSON dal sito web per la prenotazione di libri, l'amministratore
deve scegliere il dispositivo di input del servizio web REST.
- Per la procedura CreaLavoriDaXML, l'amministratore ha bisogno di un'espressione XML Path language (XPath) per l'identificazione dei ticket di lavoro. Per definire tale espressione, l'amministrazione deve analizzare l'XML per i ticket di lavoro.
- Per ogni procedura ApplicaTransformXSL, l'amministratore necessita di un foglio di stile XSLT per convertire gli elementi
XML nelle proprietà di lavoro. L'amministratore utilizza lo strumento XSLT (come Altova
MapForce) per creare 2 fogli di stile XSLT:
- Un foglio di stile XSLT del tipo ordine-per-file-di sovrascrittura converte l'ID dell'ordine e il nome cliente in proprietà di lavoro.
- Un foglio di stile XSLT del tipo ticket-lavoro-per-file-di sovrascrittura converte il file, il numero dell'articolo, la tipologia, le copie e il supporto del ticket di lavoro in proprietà di lavoro.
Ogni procedura ApplicaTransformXSL riporta le proprietà di lavoro su di un file di testo. Il valore di ciascun File di output specifica la presenza di un file di sovrascrittura nella directory spool per il lavoro.
RICOH ProcessDirector utilizza i valori nel file di sovrascrittura per impostare i valori delle proprietà per il lavoro. I valori contenuti negli ordini sono usati per recuperare i ticket di lavoro. I valori dai ticket di lavoro sono usati per scaricare ed elaborare i file.
Impostazione del flusso di lavoro
L'amministratore imposta il flusso di lavoro in 2 fasi.
- L'amministratore crea un flusso di lavoro denominato ElaborazioneOrdiniLibri ed imposta le proprietà della procedura ImpostaProprLavoroDaFilediTesto.
- L'amministratore aggiunge 10 procedure al flusso di lavoro nel seguente ordine:
- DetectInputDataStream
Tale procedura imposta le proprietà Flusso dati di Input su JSON.
- ConvertiJSONToXML
Questa procedura usa i valori predefiniti per il file di input JSON e il file di output XML.
- ApplyXSLTransform
Questa procedura usa il foglio di stile XSLT ordine-per-file-di sovrascrittura per creare un file di testo che stabilisce i valori per le proprietà Cliente 3 e Nome cliente. La procedura restituisce il file di testo sotto forma di testo di sovrascrittura nella directory spool relativa al lavoro. RICOH ProcessDirector utilizza il file di sovrascrittura per impostare i valori delle proprietà Cliente 3 e Nome cliente per il lavoro.
- AssignJobValues
Questa procedura imposta il valore della proprietà Nome lavoro su ORDER-order ID.
- ChiamataServizioREST
Tale procedura fa una chiamata GET ad un altro servizio web per il sito di prenotazione dei libri. La procedura specifica l'ID ordine in quanto valore della proprietà dei Parametri di richiesta:
orderId:${Job.Info.Attr3}
Il servizio web restituisce informazioni sul ticket di lavoro JSON.
- ConvertiJSONToXML
Questa procedura usa i valori predefiniti per il file di input JSON e il file di output XML.
- CreateJobsFromXML
L'amministratore imposta i valori dell'espressione XPath su //JobTicket e il valore del flusso di lavoro relativo ai lavori nuovi su ProcessBookOrders. Al fine di mantenere il collegamento tra i nuovi lavori e quello originale per l'ordine, l'amministratore deve impostare il valore della proprietà Crea lavori secondari su Si. Per specificare l'ID dell'ordine in quanto nome del lavoro, l'amministratore deve impostare il valore della proprietà Nome della nuova proprietà su ${Job.Info.Attr3}.
I lavori XML che entrano in tale fase passano a quella successiva mentre i nuovi lavori secondari vengono inviati in una fase separata del flusso di lavoro.
- RunHotFolderApplication
L'amministratore deve aggiungere questa fase al fine di comunicare con il servizio web che crea i file PDF e li colloca in una hot folder. Per prima cosa, il servizio web esegue una polling della hot folder per i lavori. Dopo aver ricevuto 2 richieste per ogni ordine dalla notifica RestfulServizioWebNotificaEsempio, il servizio web colloca il file PDF in un'altra folder. La procedura AttivaApplicazioneFolder specifica la hot folder per i lavori sotto forma di valore della proprietà Cartella di invio. La procedura specifica la hot folder con i file PDF sotto forma del valore della proprietà Cartella di ricerca.
- Nota:
- Questo scenario include una procedura AttivaApplicazioneFolder poiché il flusso di lavoro RestfulWebServiceWF utilizza questa procedura per scambiare dati con il servizio web di esempio. Invece di restituire un file PDF una volta completato l'ordine, il servizio web potrebbe utilizzare un'altra funzione. Ad esempio, il servizio web potrebbe inviare un messaggio via mail per comunicare al dipartimento di imballaggio che l'ordine è pronto per essere preso a carico.
- AssignJobValues
Questa procedura imposta il valore della proprietà Flusso di dati di input su PDF in modo che i file PDF creati dal servizio web possano essere visualizzati nel flusso di lavoro.
- RetainCompletedJobs
- DetectInputDataStream
- L'amministratore collega la procedura ConservaLavoroCompletato a quella RimuoviLavori.
- L'amministratore deve creare un secondo gruppo di lavori secondari per i libri e per
le copertine.
- L'amministratore deve impostare una regola sul connettore tra le procedure ImpostaProprLavoroDaFilediTesto e IndividuaFlussoDatidiInput:
- Nome regola: Parent
- Ordine di esecuzione: 1
- Proprietà: Numero lavoro
- Confronto: Diverso
- Valore: *.*
La regola invia i lavori JSON recuperati dal dispositivo di input alla procedura IndividuaFlussoDatiInput.
- L'amministratore aggiunge una procedura ApplivaXSLTransform2 alla fase Ricevi e la collega alla procedura ImpostaProprLavoroDaFilediTesto.
La procedura utilizza un foglio di stile XSLT del tipo ticket-lavoro-per-file-di sovrascrittura per creare un file di sovrascrittura che imposta i valori per le proprietà Cliente 2, Cliente 1, Cliente 4, Cliente 5, Copie lavoro richieste e Supporti. Cliente 2, Cliente 1, Cliente4 e Cliente 5 sono rispettivamente file, numero di articolo, tipologia e titolo.
- L'amministratore deve impostare una regola sul connettore tra le procedure ImpostaProprLavoroDaFilediTesto e ApplicaXSLTransform2:
- Nome regola: Child
- Ordine di esecuzione: 2
- Proprietà: Numero lavoro
- Confronto: Simile a
- Valore: *.*
La regola invia i lavori secondari che la procedura CreaLavoriDaXML crea alla procedura ApplicaXSLTransform2.
- Dato che questo scenario si concentra sui servizi web, la parte dedicata alla stampa è semplice. Un processo di produzione può mandare i libri e le copertine attraverso vari flussi di lavoro o sezioni a diverse stampanti.
- L'amministratore deve impostare una regola sul connettore tra le procedure ImpostaProprLavoroDaFilediTesto e IndividuaFlussoDatidiInput:
- L'amministratore aggiunge 6 procedure al flusso di lavoro nel seguente ordine:
- DownloadFile
Tale procedura scarica i file PDF per il libro e per la copertina da un sito web. La procedura imposta il valore URL per la procedura di download del file Cliente 2 che contiene le informazioni relative al file da scaricare dal ticket di lavoro.
- AssignJobValues
Questa procedura imposta il valore di 3 proprietà di lavoro:
- Stampante richiesta
- Flusso di dati di input
- Nome lavoro
Il valore del Nome lavoro è ${Job.Info.Attr5}-${Job.Info.Attr4}: il titolo del libro, un trattino e il tipo di stampa (libro o copertina).
- OptimizePDF
- CountPages
- CreatePageRanges
- PrintJobs
- Nota:
- Dato che questo scenario si concentra sui servizi web, la sezione dedicata alla stampa si compone soltanto di 4 procedure. Un processo di produzione può mandare i libri e le copertine attraverso molteplici procedure in sezioni separate (o flussi di lavoro separati) a diverse stampanti.
- DownloadFile
- L'amministratore competa il flusso di lavoro collegando la procedura StampaLavori a quella ConservaLavoriCompletati.
La figura mostra il dispositivo di input, il flusso di lavoro e la notifica. La linea nera indica che l'operazione CreateJobsFromXML invia i lavori secondari al flusso di lavoro ProcessBookOrders.
Impostazione del dispositivo di input
Sulla scheda generale del dispositivo di input del servizio web REST, l'amministratore imposta il valore della proprietà del flusso di lavoro secondario ElaboraOrdiniLibri. Il dispositivo di input invia gli ordini JSON recuperati dal servizio web per il sito web di prenotazione di libri a quel flusso di lavoro. L'amministratore deve impostare l'intervallo di polling su 30 secondi al fine di recuperare gli ordini velocemente quando ce ne sono molti in attesa sul sito. Altre proprietà vengono impostate per adeguarsi all'ambiente dell'azienda tipografica.
Sulla scheda di richiesta, l'amministratore deve specificare i valori richiesti per recuperare gli ordini JSON dal servizio web REST. Poiché ogni risposta contiene un ordine JSON, l'amministratore deve impostare il valore della proprietà Crea lavoro da risposta su Sempre. La rete dell'azienda tipografica non richiede un server proxy.
- Nota:
- Per utilizzare un server proxy, impostare la proprietà Uso server proxy su Si. Le proprietà del server proxy sono impostate sulla scheda Proxy server della pagina delle Impostazioni di Sistema.
Sulla scheda di autenticazione, l'amministratore deve specificare i valori richiesti per autenticarsi con il resto del servizio web REST.
- Nota:
- Il dispositivo di input fornito RestfulServizioWebNotificaEsempio mostra come impostare il dispositivo di input del servizio web REST per questo scenario. Il dispositivo di input chiama un servizio web che non necessita di n. Per maggiori informazioni riguardo l'autenticazione con un servizio web REST, fare riferimento all'argomento attività correlato.
Impostazione della notifica
Sulla scheda di richiesta della notifica del servizio web REST, l'amministratore deve specificare i valori richiesti dal servizio web REST che riceve la notifica. La rete dell'azienda tipografica non richiede un server proxy.
- Nota:
- Per utilizzare un server proxy, impostare la proprietà Uso server proxy su Si.
Sulla scheda di autenticazione, l'amministratore deve specificare i valori richiesti per autenticarsi con il resto del servizio web REST.
- Nota:
- La notifica fornita RestfulWebNotificaEsempioServizio mostra come impostare una notifica del servizio web REST per questo scenario. La notifica chiama un servizio web che non necessita di autenticazione. Per maggiori informazioni riguardo l'autenticazione con un servizio web REST, fare riferimento all'argomento attività correlato.
Sulla Scheda Evento, l'amministratore deve specificare le informazioni relative alla notifica:
- Tipo evento: Lavoro
- Proprietà: Stato del lavoro corrente
- Azione: Cambia in
- Valore: Conservato
Sulla scheda delle Condizioni, l'amministratore deve specificare le informazioni delle condizioni di notifica:
- Applicare una o tutte le seguenti condizioni = Tutte
- Proprietà 1: Flusso di lavoro
- Confronto 1: =
- Valore 1: ProcessBookOrders
- Proprietà 2: Numero lavoro
- Confronto 2: Simile a
- Valore 2: *.*
Il riassunto dell'istruzione delle condizioni è il seguente:
Job.JobType = 'RestfulWebServiceWF' AND Job.ID like '*.*'
Quando tutti i lavori secondari relativi ad un ordine raggiungono la procedura ConservaLavoriCompletati, la notifica chiama il servizio web. Il servizio web crea un fila PDF che contiene il numero dell'articolo di ciascun ticket di progetto nell'ordine. Il servizio web inserisce il file in una hot folder monitorata dalla procedura AttivaApplicazioneFolder. Il file PDF viene visualizzato come lavoro nella tabella Lavori. Il personale dell'azienda tipografica può visualizzare il file PDF per confermare che il libro e la copertina relativi all'ordine sono stati stampati.
Elaborazione dei processi attraverso il flusso di lavoro
Il flusso di lavoro RestfulServizioWebFL fornito con Attivazione servizi Web la caratteristica è simile al flusso di lavoro ElaborazioneOrdiniLibro. Per vedere come sono elaborati i lavori attraverso il flusso di lavoro ElaborazioneOrdiniLibro, attivare il flusso di lavoro RestfulServizioWebFL. Per maggiori informazioni, fare riferimento all'argomento attività correlato riguardante il flusso di lavoro che elabora gli ordini recuperati dai servizi web REST.