WSC è un web service consumer universale Rpg nativo per IBM-i.
Consiste in due parti , una per la configurazione dei servizi, l’altra per l’utilizzo nei programmi:
Parte 1: Il programma interattivo serve per configurare ed eseguire le chiamate ai Web service, consente di impostare l’url del web service, così come le header necessarie, il tipo di richiesta, le autorizzazioni e la query string piuttosto che il payload Post, a seconda del tipo di websevice. E possibile quindi eseguire la chiamata e verificare il risultato. La configurazione quindi può essere salvata per essere utilizzata dai programmi Rpg tramite la chiamata descritta al punto 2.
- Può essere utilizzato sia per web service SOAP che REST
- È possibile impostare le headers specifiche, i parametri di query, e nel caso di POST, il body da inviare, che può essere testuale modificabile, oppure un file IFS, oppure un file di database che verrà convertito nel formato richiesto (XML o JSON) dal tool.
- Dopo aver eseguito la chiamata è possibile visualizzare la risposta informato testo, o salvarla in un file IFS, o convertire il formato (XML o JSON) in un file di database. Lo stesso vale per le richieste Post.
- In caso di errore sono visualizzabili gli errori di risposta del webservice.
- L’intera configurazione può essere memorizzata con la logica NOME_WEBSERVICE, NOME_API, in modo da raggruppare diverse chiamate appartenenti ad un unico servizio.
- Una funzione consente di assegnare nome, tipo e dimensione alle variabili dei flussi XML e JSON in modo tale che siano facilmente richiamabili dalle api di cui al punto 2
Parte 2: Un service program da utilizzare in bind con le proprie applicazioni contiene le funzioni per poter richiamare i web service configurati con il programma del punto 1, secondo la seguente sintassi:
- Istanza=WSC_use(nome_webservice:Nome_Api): apre il web service
- WSC_setBodyValue(Istanza ,nome variabile,valore), oppure WSCsetQueryValue(Istanza ,chiave,valore), consentono di impostare le variabili di richiesta del web service, sia per chiamate Post che Get
- WSC_exec(Istanza): L’api esegue la chiamata al webservice
- WSC_getResponseValue(nome variabile, valore): reperisce i valori di risposta dalla chiamata web service; se la chiamata è stata configurata per ottenere un file, esso sarà disponibile in queto momento.
- Il file di log, se attivato in configurazione tiene traccia delle chiamate ed eventuali errori
Un sottoinsieme del tool consente inoltre di gestire sia le richieste e risposte di webservices, sia file XML e JSON locali, convertendoli automaticamente in file di database , e viceversa consente di generare flussi xml partendo da un file DB
Il tool utilizza tre tipi di connettori http:
- Funzioni Sql V7R1
- Api IWS (incluse nel s.o) per versioni < V7R1
- Libreria opensource LIBHTTP
VANTAGGI
- Moltiplica in modo esponenziale la produttività degli sviluppatori Ibm-i
- E’ nativa OS-i
- SI azzerano i tempi di test e debug delle applicazioni.
- Si risparmia il 90% di scrittura codice
- E’ necessaria una conoscenza basica delle chiamate Http
- Non vi dovrete preoccupare di dover manipolare stringhe JSON o XML, se ne occupa il tool, risparmiando molto tempo e mali di testa
- Il client interattivo consente di eseguire la chiamata e verificare i risultati in tempo reale, di memorizzare la configurazione corretta, e di permetterne il riutilizzo a programma tramite le api, facendovi risparmiare l’estenuante fase di test e correzione chiamate dei web service
- Integrare un servizio e le sue chiamate è molto semplice: si configura, si prova, si salva.
- Potrete configurare ed utilizzare infiniti web services nei vostri programmi: dall’ archiviazione e reperimento nei sistemi documentali, alla fatturazione elettronica, ai servizi B2B, legali, informativi, tracking etc… etc.. per elevare con minimo sforzo la vostra azienda al ruolo di azienda digitale.
- In caso di cambio di versione di un web service, l’adeguamento delle proprie applicazioni è questione di attimi, senza modificare alcun sorgente.
Il tool può essere fornito su richiesta con diversi webservices pre-configurati, ad esempio:
- Servizi 2cSolution, per fatturazione elettronica e archiviazione documentale
- Cambi del giorno
- Tracking TNT
- Watson:
- traduzioni,
- riconoscimento immagini e documenti
- Linguaggio naturale
- Google:
- Traduttore
- Riconoscimento vocale
- …
- …
- …