WebServices4i. Copyright 2010 2013 JETLAB S.r.l. Tutti i diritti riservati



Documenti analoghi
SMS4i. Copyright JetLab S.r.l. Tutti i diritti riservati

WDT4i. Copyright JetLab S.r.l. Tutti i diritti riservati

SMS4i. Copyright JETLAB S.r.l. Tutti i diritti riservati

Skype4i. Copyright JetLab S.r.l. Tutti i diritti riservati

Twitter4i. Copyright JetLab S.r.l. Tutti i diritti riservati

R400. Copyright JetLab S.r.l. Tutti i diritti riservati

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Applicazione Mobile GPL4i

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Come convertire un file in Spool in un documento Pdf personalizzato

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

Punto Print Il programma per stampare. Documentazione Tecnica

MANUALE UTENTE Fiscali Free

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Capitolo 4 Pianificazione e Sviluppo di Web Part

Manuale Utente MyFastPage

BACKUP APPLIANCE. User guide Rev 1.0

DURC Client 4 - Guida configurazione Firma Digitale. DURC Client 4.1.7

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

DINAMIC: gestione assistenza tecnica

File, Modifica, Visualizza, Strumenti, Messaggio

Come creare un Pdf con un Barcode e una Immagine

SOMMARIO... 3 INTRODUZIONE...

Progetto SOLE Sanità OnLinE

GovPay 2.0. Manuale Installazione

Manuale Utente Albo Pretorio GA

SAP SRM 7 Manuale GARE ON LINE con cfolders FORNITORI INDICE

Guida all Installazione del ProxyFatturaPA

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

Integrazione InfiniteCRM - MailUp

Stampa Grafica Cud. Guida all Istallazione e all Uso. RICERCA INFORMATICA s.r.l.

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

1. Il Client Skype for Business

Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice

Licenza per sito Manuale dell amministratore

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Istruzioni per l installazione

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

GPL4i DMS-WEB. Copyright JetLab S.r.l. Tutti i diritti riservati

GUIDA ALL USO DEL PANNELLO DI GESTIONE SITO WEB

1) GESTIONE DELLE POSTAZIONI REMOTE

Servizio Telematico Paghe

Installazione e caratteristiche generali 1

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Introduzione. Installare EMAS Logo Generator

Registratori di Cassa

Mac Application Manager 1.3 (SOLO PER TIGER)

Sistema Informativo Veterinario Regionale. Applicazione Interrogazione per Allevatori

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

Aggiornamento del software

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

Procedura di abilitazione alla Rete di Lombardia Integrata

Outlook Plugin per VTECRM

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

SCARICO DATI ONETOUCH Verio per EuroTouch Home GUIDA ALL USO

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Manuale Utente Amministrazione Trasparente GA

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

Configurazione Client di Posta Elettronica

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

GateManager. 1 Indice. tecnico@gate-manager.it

Internet Explorer 7. Gestione cookie

Guida all installazione di Easy

Manuale LiveBox WEB ADMIN.

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

TUTORIAL PUBBLICARE e INVIARE CIRCOLARI (v 1.5) -- PRIMA FASE -- PUBBLICAZIONE DI UNA CIRCOLARE (e suoi eventuali allegati)

IBM SPSS Statistics - Essentials for Python- Istruzioni di installazione per Windows

19. LA PROGRAMMAZIONE LATO SERVER

MANUALE EDICOLA 04.05

InitZero s.r.l. Via P. Calamandrei, Arezzo

I file di dati. Unità didattica D1 1

Software di controllo per le denunce retributive e contributive individuali mensili - Ver.1.0

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

PROCEDURA ON-LINE PER L EROGAZIONE DEI VOUCHER FORMATIVI SULL APPRENDISTATO PROFESSIONALIZZANTE. AVVISO PUBBLICO N. 1 del 16 Aprile 2012

Licenza per sito Manuale dell amministratore

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Come usare P-touch Transfer Manager

TS-CNS. Tessera Sanitaria Carta Nazionale dei Servizi. Manuale di installazione e configurazione. Versione del

Guida Google Cloud Print

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

Studio Legale. Guida operativa

Quaderni di formazione Nuova Informatica

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

Esercitazione n. 10: HTML e primo sito web

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

GESCO MOBILE per ANDROID

Capitolo 1 Installazione del programma

Transcript:

Copyright 2010 2013 JETLAB S.r.l. Tutti i diritti riservati WebServices4i

Copyright 2010 2013 JETLAB S.r.l. Tutti i diritti riservati è un marchio di JETLAB S.r.l. Microsoft, Windows, Windows NT, Windows XP, Windows Vista, Windows 7 e il logo di Windows sono marchi o marchi registrati di Microsoft Corporation in U.S. e/o altri paesi. Java e tutti i marchi base di Java e loghi sono marchi o marchi registrati di SunMicrosystems, Inc. in the U.S. e/o altri paesi. UNIX è un marchio registrato in U.S. e in altri paesi rilasciati esclusivamente Attraverso X/Open Company Limited., IBM i5 iseries 400, OS/400, IBM i,, i5/os per Power Systems, AS/400 sonomarchi di IBM Corporation, U.S. Altri nomi di aziende, prodotti e servizi che devono essere rappresentati da un doppio asterisco (**), possono essere marchi o marchi di servizio o altro. Manuale WebService 2

Introduzione al manuale... 4 Scopo... 4 Note su versione e release... 4 Pubblicazioni correlate... 4 Convenzioni... 4 Dove è possibile trovare informazioni aggiornate... 4 Per i Vostri commenti... 4 Descrizione generale... 5 Requisiti... 5 Getting started... 5 Installazione... 6 Installazione tomcat nel Pase... 8 Assegnazione Tomcat al prodotto WebServices4i... 10 Attivazione Tomcat... 10 Creazione di un nuovo progetto... 11 Definizione dei parametri usati nel progetto... 15 Creazione di un servizio... 18 Creazione del sorgente Java... 24 Creazione del file WAR... 25 Pubblicazione del file WAR... 27 Verifica funzionamento del servizio... 28 Appendice... 31 Parametro di tipo *RECORD... 31 Integrazione con un servizio Interceptor4i... 35 3 Jet S.r.l. www.jetlab.com

Introduzione al manuale Scopo Questo manuale descrive il modulo WebServices4i del prodotto WDT4i. L obiettivo del manuale è mostrare le funzionalità del prodotto attraverso la realizzazione di alcuni esempi. Note su versione e release Il manuale contiene informazioni compatibili con la versione V1R0M0 Pubblicazioni correlate Nessuna Convenzioni Elenco delle convenzioni che saranno impiegate in questo manuale: Il nome WebServices4i e le parti che lo compongono, sono indicate in rosso con carattere Times New Roman e stile bold-italic. ws4i è un abbreviativo di WebServices4i. I codici sorgente e i comandi System i sono rappresentati con il carattere Courier New. PC è un sinonimo di Personal Computer Windows. Dove è possibile trovare informazioni aggiornate Sul sito www.jetlab.com si possono trovare le ultime versioni del software e dei manuali. Per i Vostri commenti I Vostri commenti sono benvenuti all indirizzo jetlab@jetlab.com Manuale WebService 4

Descrizione generale Requisiti Il modulo permette ai programmatori RPG di creare e pubblicare dei web services RESTful su IBM i (AS400). Applicazioni scritte per Google App Engine, per WebSphere Application Server (o per qualsiasi application server in cloud pubblico o privato) potrebbero quindi chiamare questi web services e interagire con programmi IBM i. Questi sono i requisiti per installare il prodotto: Sistema operativo OS400 V5R3M0 o superiore VMJava 1.6: Programma su licenza 5761JV1 Opzione prodotto: 11 12 L utente che utilizzerà il prodotto deve avere un account Google Getting started In questo capitolo viene mostrato come poter realizzare un semplice Web Service utilizzando il prodotto WebService4i. L obiettivo è realizzare un servizio Web che mostra i lavori attivi si un sottosistema: Questi i macro punti da seguire: Installazione del prodotto Installazione Tomcat Assegnazione dell istanza Tomcat al prodotto Creazione di un progetto WebServices4i Definizione dei parametri usati dai servizi del progetto Creazione di un servizio Definizione parametri del servizio 5 Jet S.r.l. www.jetlab.com

Installazione Segue la procedura di installazione del prodotto WebServices4i: Passo 1: Verifica versione Java Per verificare la versione Java installata seguire i seguenti passi: QSH java version Deve essere mostrata la seguente versione: java version "1.6.0" Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0_11-b03) Classic VM (build 1.6, build JDK-1.6, native threads, jitc) Se la versione è diversa da 1.6.0 provare ad assegnare all utente as400 corrente la VM 1.6. Assumendo che si stia usando l utente QPGMR procedere con i seguenti comandi: md /home/qpgmr edtf /home/qpgmr/systemdefault.properties Aggiungere la seguente variabile java.version=1.6.0 F3 Riproporre la verifica della versione Java. Passo 1: Scaricare dal sito www.jetlab.com area prodotti il prodotto WebServices4i. Si tratta di un file.zip che contiene un file di salvataggio. Copiare il file di salvataggio in una directory temporanea. Ad esempio c:\temp I primi 4 caratteri del nome rappresentano la sigla del prodotto e gli ultimi 6 caratteri del nome del file indicano la versione del prodotto. Seguono le indicazioni per installare la versione 1.0.0, ossia la libreria JTWS010000. Passo 2: Creare un file di salvataggio temporaneo sul sistema AS400 CRTSAVF QGPL/JTWS010000 Trasferire il file di salvataggio sul sistema AS400. Esempio di trasferimento ftp: ftp <ip as400> Fornire utente e password bin Manuale WebService 6

hash put c:\temp\jtws010000.savf /QSYS.LIB/QGPL.LIB/JTWS010000.FILE Passo 3: Ripristinare la libreria JTWS010000 assegnando un nome anche diverso da quello origine, ad esempio JTWS100 RSTLIB SAVLIB(JTWS010000) DEV(*SAVF) SAVF(QGPL/JTWS010000) RSTLIB(JTWS100) Passo 4: Fornire al comando ITA se si vuole Italiano come lingua primaria o ENG per Inglese. ADDLIBLE JTWS100 CONFIG LANGID(ITA) 7 Jet S.r.l. www.jetlab.com

Installazione tomcat nel Pase Dopo l installazione del prodotto WebServices4i è stata caricata una directory /jetlab/proddata/<nome libreria> dove <nome libreria> è il nome assegnato alla libreria ripristinata dal file *SAVF del prodotto WebServices4i. In questa directory si trova il file di installazione Tomcat: /jetlab/proddata/<nome libreria>/apache-tomcat-7.0.41.zip Per installare una nuova istanza di Tomcat seguire i seguenti passi: Passo 1: Attivare la Shell e posizionarsi nella cartella QOpenSys QSH cd /QOpenSys Passo 2: Creare e posizionarsi nella directory dove installare Tomcat: mkdir opt cd opt mkdir tomcat0 cd tomcat0 Passo 2: Rimanendo posizionati nella dir /QOpenSys/opt/tomcat0 installare Tomcat lanciando il comando seguente: /QOpenSys/bin/jar xf /jetlab/proddata/<nome libreria>/apache-tomcat-7.0.41.zip Il comando decomprime il contenuto del file apache-tomcat-7.0.41.zip nella directrory /QOpenSys/opt/tomcat0, l operazione potrebbe richiedere qualche minuto di tempo. Ore è possibile uscire dal programma QSH. Passo 3: Fornire al Tomcat l indicazione di quale VM Java utilizzare: Deve essere creato nella directory tomcat un file chiamato setenv.sh contenente il path della VM Java. Con l installazione del prodotto è stato creato un template di questo file. Quindi copiare questo template nella directory Tomcat con il seguente comando: QSH CMD( cp /jetlab/proddata/<nome libreria>/setenv.sh /QOpenSys/opt/tomcat0/apachetomcat-7.0.41/bin ) Quindi modificare il file con il comando Edtf /QOpenSys/opt/tomcat0/apache-tomcat-7.0.41/bin/setenv.sh Inserire il riferimento alla VM Java AS400 da utilizzare come mostra l esempio seguente: export JAVA_HOME=/QOpenSys/usr/local/java/jdk626_64/jre Passo 4: Manuale WebService 8

Configurare le porte di accesso del Tomcat. Lanciare su AS400 il seguente comando: Edtf /QOpenSys/opt/tomcat0/apache-tomcat-7.0.41/conf/server.xml Cercare la seguente stringa di caratteri 8005 e sostituirla con un numero a propria scelta, ad esempio 9005. Cercare la seguente stringa di caratteri 8080 e sostituirla con un numero a propria scelta, ad esempio 9080. Cercare la seguente stringa di caratteri 8009 e sostituirla con un numero a propria scelta, ad esempio 9009. Uscire dal programma Edit con F3. Passo 5: Configurare un utente di accesso al tomcat dall interfaccia Web. Lanciare su AS400 il seguente comando: EDTF STMF('/QOpenSys/opt/tomcat0/apache-tomcat-7.0.41/conf/tomcatusers.xml ) Eliminare la riga di inizio commento e fine commento dei nodi role e user. <!-- --> Aggiungere la riga <role rolename="manager-gui"/> E modificare la riga username=tomcat come segue: <user username="tomcat" password="tomcat" roles="tomcat,manager-gui"/> Il file dovrà essere simile al seguente contenuto: <role rolename="manager-gui"/> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat,manager-gui"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> 9 Jet S.r.l. www.jetlab.com

Assegnazione Tomcat al prodotto WebServices4i Dopo aver installato il prodotto WebServices4i è possibile assegnargli una istanza Tomcat installata nel Pase. La procedura seguente fa riferimento ai path e alla nomenclatura descritta nei capitoli di installazione prodotto e installazione Tomcat. Passo 1: Collegarsi con un utente con credenziali *SECOFR. Passo 2: Lanciare il comando che crea il sottosistema che controlla una istanza Tomcat: ADDLIBLE JTWS100 INSTTOMCAT USRPRF(*DFT) TOMCATHOME('/QOpenSys/opt/tomcat0/apache-tomcat-7.0.41') STARTUP(*DFT) Per convenzione viene fornito un nome utente gestore del sottosistema che coincide con il nome della libreria di prodotto: JTWS100. Il comando crea un sottosistema chiamato JTWS100 la cui definizione si trova nella libreria JTWS100. Attivazione Tomcat Dopo aver assegnato una istanza Tomcat al prodotto WebServices4i è possibile attivarla semplicemente attivando il sottosistema omonimo alla libreria del prodotto. Seguire i seguenti comandi per attivare il sottosistema: Passo 1: Per attivare il tomcat assegnato alla libreria di prodotto sarà sufficiente attivare il sottosistema con il comando seguente: STRSBS JTWS100/JTWS100 Passo 2: Per verificare che l installazione l assegnazione consultare la pagia seguente da un Browser: http://<ip as400>:9080/examples/servlets/servlet/helloworldexample 9080 è la porta scelta nella fase di installazione tomcat Passo 3: Per disattivare il tomcat assegnato alla libreria di prodotto sarà sufficiente chiudere il sottosistema con il comando seguente: ENDSBS SBS(JTWS100) OPTION(*CNTRLD) DELAY(30) Non utilizzare *IMMED nel campo OPTION Manuale WebService 10

Creazione di un nuovo progetto I Servizi Web creati con il prodotto WebServices4i sono organizzati in progetti. Creare un nuovo progetto significa creare una omonima libreria e directory in cui vengono archiviati i sorgenti dei Servizi Web. Ogni progetto fa riferimento alla libreria prodotto da cui è stato creato. Nella documentazione che segue di fa riferimento ai nomi utilizzati nella procedura di installazione: JTWS100. Per creare un nuovo progetto seguire i seguenti passi: Passo 1 (Attivazione del gestore dei progetti): Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di gestione progetti: ADDLIBLE JTWS100 WRKWPRJ Passo 2 (Creazione di un nuovo progetto): Viene mostrato l elenco dei progetti presenti. Se non ci sono progetti viene proposto di crearne uno nuovo altrimenti premere il tasto F6=Nuovo progetto: Fornendo solo il Nome progetto e premendo Invio vengono assunti dei valori di default per tutti gli altri parametri. 11 Jet S.r.l. www.jetlab.com

Questo il significato dei parametri richiesti: Nome progetto E' il nome assegnato al progetto. Creando un progetto viene generata una libreria e una directory omonima Descrizione progetto Una breve descrizione Package Java Il generatore dei sorgenti Java organizzerà i sorgenti all'interno di questo package Class Java E' il nome della classe Java in cui vengono generati i servizi del progetto Nome file WAR E' il nome da assegnare al file WAR Path dei servizi E' il path che il programma chiamante dei servizi deve conoscere per raggiungere i servizi di questo progetto quando il war è stato distribuito nell'application Server Manuale WebService 12

Passo 3 (Creazione programma di inizializzazione servizi): Il Servizio Web, prima di attivare il programma RPG chiama un comando AS400 di inizializzazione ambiente. In questo passo viene creato un CLP che predispone la Lista delle librerie prima che venga chiamato il programma RPG. Seguire le seguenti operazioni: CRTSRCPF FILE(JTWSUTIL/QCLLESRC) RCDLEN(132) STRSEU SRCFILE(JTWSUTIL/QCLLESRC) SRCMBR(INIT) TYPE(CLLE) Inserire le seguenti righe di codice: PGM ADDLIBLE MONMSG ADDLIBLE MONMSG ADDLIBLE MONMSG LIB(JTJT010000) MSGID(CPF0000) LIB(JTWS100) MSGID(CPF0000) LIB(JTWSUTIL) MSGID(CPF0000) ENDPGM Salvare il sorgente e compilarlo CRTBNDCL PGM(JTWSUTIL/INIT) SRCFILE(JTWSUTIL/QCLLESRC) SRCMBR(INIT) REPLACE(*YES) Passo 4 (Definizioni delle credenziali di accesso al sistema AS400): I servizi inseriti nel progetto dovranno collegarsi al sistema AS400 fornendo le corrette credenziali. In questo passo viene generato un file in cui vengono cifrate le credenziali di accesso al sistema AS400. Tutti i servizi faranno riferimento a questo file a meno che sono state forniti credenziali personalizzate a livello di servizio. Per creare il file di accesso al sistema as400 selezionare il progetto con l opzione C=Cred.accesso al servizio Appare la seguente schermata: 13 Jet S.r.l. www.jetlab.com

Inserire le credenziali di accesso al sistema AS400 e un comando da attivare prima dell attivazione del servizio come mostra l immagine seguente: Il comando di inizializzazione servizio potrebbe essere anche più lungo per cui viene proposta una schermata con un campo più capiente. Manuale WebService 14

Definizione dei parametri usati nel progetto Nella documentazione che segue di fa riferimento ai nomi utilizzati nella procedura di creazione progetto: JTWS100 è la libreria di prodotto JTWSUTIL è il nome del progetto. In questa fase devono essere censiti nel progetto l elenco dei parametri che saranno poi utilizzati dai servizi di progetto. Ogni parametro è identificato da un oggetto *FILE usato come definizione dati. A fini dell esempio avremo bisogno di due parametri: Un parametro con il quale il servizio riceve il nome del sottosistema di cui si vuole elencare i lavori attivi Un parametro con il quale viene descritto un lavoro nel sottosistema Per realizzare questi due parametri seguire le seguenti istruzioni: Passo 1: Creare il file sorgente dei file che descrivono i parametri lanciano il comando seguente: CRTSRCPF FILE(JTWSUTIL/QPFSRC) RCDLEN(132) MBR(*NONE) Passo 2: Aggiunta parametro di input: ADDPFM FILE(JTWSUTIL/QPFSRC) MBR(PSBS) SRCTYPE(PF) STRSEU SRCFILE(JTWSUTIL/QPFSRC) SRCMBR(PSBS) OPTION( 2) Codificare nel sorgente PF i seguenti campi: R PSBS SBSNAME 10A TEXT('sbsName') Compilare il sorgente nella libreria di progetto CRTPF FILE(JTWSUTIL/PSBS) SRCFILE(JTWSUTIL/QPFSRC) SRCMBR(PSBS) Passo 3: Aggiunta parametro di output: ADDPFM FILE(JTWSUTIL/QPFSRC) MBR(PJOB) SRCTYPE(PF) STRSEU SRCFILE(JTWSUTIL/QPFSRC) SRCMBR(PJOB) OPTION( 2) Codificare nel sorgente PF i seguenti campi: R PJOB JOB 10A TEXT('jobName') USER 10A TEXT('userName') NUMBER 6A TEXT('jobNumber') 15 Jet S.r.l. www.jetlab.com TYPE 10A TEXT('type')

STATUS 10A TEXT('state') CURUSER 10A TEXT('currentUser') PERCUSE 5S 2 TEXT('percUse') PRIORITY 3S 0 TEXT('priority') Compilare il sorgente nella libreria di progetto CRTPF FILE(JTWSUTIL/PJOB) SRCFILE(JTWSUTIL/QPFSRC) SRCMBR(PJOB) Passo 4: Ora è possibile censire i due parametri nel progetto. Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di gestione progetti: ADDLIBLE JTWS100 WRKWPRJ Viene mostrato l elenco dei progetti presenti. Selezionando il progetto con l opzione P=Parametri vengono mostrati tutti i parametri utilizzabili nel progetto. Se non esiste neanche un parametro viene proposto di censirne uno nuovo altrimenti premere F6=Nuovo parametro: Manuale WebService 16

Inserire i due parametri come mostra la schermata seguente: Seguono le informazioni sul parametro Nome parametro Coincide con il nome dell'oggetto *FILE depositato nella libreria di progetto e utilizzato per descrivere un parametro del servizio. Descrizione Una breve descrizione del parametro Nome classe Java Il sistema produrrà una classe Java per descrivere attraverso i suoi attributi i campi del file ossia del parametro. In questo campo viene definito il nome di tale classe Java. Per ognuno dei parametri inseriti accedere ai campi con l opzione F=Gestione Campi Viene mostrato l elenco dei campi del file: 17 Jet S.r.l. www.jetlab.com

Qui è possibile assegnare un nome all attributo java diverso da quello poroposto. Viene proposto il contenuto della parola chiave TEXT se è stata fornita nel sorgente dell oggetto *FILE altrimenti viene proposto il nome del campo. Fld Name Nome del campo nell'oggetto *FILE usato per descrivere un parametro utilizzabile dai servizi del progetto. Java attribute name Creazione di un servizio Indica il nome che il campo deve assumere nella classe Java che descrive il parametro Nella documentazione che segue di fa riferimento ai nomi utilizzati nella procedura di creazione progetto e definizione parametri: JTWS100 è la libreria di prodotto JTWSUTIL è il nome del progetto. PSBS è il parametro di input del servizio PJOB è il parametro di output del servizio In questo capitolo viene aggiunto un nuovo servizio nel progetto JTWSUTIL. Seguire i seguenti passi: Passo 1 (Attivazione del gestore dei progetti): Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di gestione progetti: ADDLIBLE JTWS100 WRKWPRJ Viene mostrato l elenco dei progetti presenti. Manuale WebService 18

Passo 2 (Creazione della definizione del servizio): Selezionare il progetto con l opzione S=Servizi. Viene mostrato l elenco dei servizi presenti nel progetto. Se non esiste neanche un servizio viene proposto di censirne uno altrimenti premere F6=Nuovo servizio: Inserendo il nome del programma RPG e premendo invio viene censito il servizio e vengono assunti dei default per tutte le altre proprietà. 19 Jet S.r.l. www.jetlab.com

Segue il significato delle proprietà del servizio: Nome pgm RPG E'il nome da assegnare al servizio. Coincide con il nome del programma RPG Lib/File sorgente Si tratta della libreria e del file dove depositare il sorgente del servizio Descrizione Breve descrizione del servizio Metodo Java Per ogni sorgente RPG viene prodotto un metodo in una classe Java il cui nome e definito da questo attributo POST/GET E' la modalità con cui il servizio deve essere chiamato Path E' il path che il programma chiamante dei servizi deve conoscere per raggiungere i servizi di questo progetto quando il war è stato distribuito nell'application Server. Questo path si accoda al path di progetto Scambio File Nell'interfaccia del servizio vengono aggiunti dei parametri utili per riceve ed inviare un file. Manuale WebService 20

*NONE - Non è necessario scambiare file con il chiamante *INPUT - Il servizio riceve un file dal chiamante *OUTPUT- Il servizio invia un file dal chiamante *BOTH - Il servizio invia e riceve un file con il chiamante Credenziali di accesso Future estensioni Autenticazione Future estensioni Passo 3 (Assegnazione parametri al servizio): Selezionando il servizio con l opzione P=Parametri vengono mostrati tutti i parametri del servizio. Se non esiste neanche un parametro viene proposto di assegnarne uno nuovo altrimenti premere F6=Nuovo parametro: Inserire i due parametri come mostra la schermata seguente: Questo il significato dei parametri richiesti: File def.parametro 21 Jet S.r.l. www.jetlab.com E' il nome del parametro censito nel progetto. Il nome del parametro coincide con il nome dell'oggetto *FILE che ne descrive i campi. Inserendo? si accede all'elenco di tutti i parametri disponibili nel progetto. Da qui si potrà selezionare il parametro ad assegnare al servizio Nome var.rpg E' il nome da assegnare alla varibile RPG per identificare il parametro Nome attr.java E' il nome da assegnare all'attributo Java per identificare il parametro

I/O Stabilisce il il parametro è di I=Input o di O=Output Tipo Descrive la tipologia del parametro *NONE Parametro semplice *ARRAY Dim Schiera Il parametro viene trattato come una lista la cui dimensione massima è definita da "Dim Schiera" *RECORD Il parametro viene trattato come una lista la cui dimensione massima non può essere definita. Il programma RPG deve scandagliare la lista attraverse alcune funzioni del prodotto. Nel caso il parametro fosse di tipo *ARRAY identifica la dimensione della lista Passo 4 (Creazione del sorgente RPG): Selezionare il servizio con l opzione R=Crea sorgente RPG. Verrà prodotto un sorgente RPG nel file QRPGLESRC nella libreria di progetto JTWS100. Il sorgente viene anche compilato l oggetto *PGM viene creato nella libreria stessa. Il sorgente RPG generato è solo una interfaccia. Il programmatore dovrà completare la codifica. Per questo motivo il sistema non sovrascrive mai questo sergente se è già presente. Segue il sorgente generato: * strutture dati dei parametri del servizio DPJOB E DS extname(pjob ) qualified DPSBS E DS extname(psbs ) qualified * parametri generici di servizio DreqInfo ds likeds(rqinfo) DresInfo ds likeds(rsinfo) dhandle s 20a * parametri di input al servizio Dsbs DS likeds(psbs) * parametri di output al servizio Djob DS likeds(pjob) dim(1000) C *entry plist C parm reqinfo Manuale WebService 22

C parm resinfo C parm handle C PARM sbs C PARM job C PARM jobdim Passo 5 (Codifica del sorgente RPG): Nel sorgente RPG dobbiamo leggere il nome del sottosistema di cui dobbiamo elencare i lavori attivi e caricare tale lista nel parametro di output. Per favorire questa codifica la funzione che carica il parametro di output è stata creata nella libreria di prodotto: <libreria prodotto>/qrpglecpy(loadjobs) Introdurre nel sorgente le seguenti righe di codice: DloadJobs Pr 10i 0 EXTPROC('loadJobs') dsbsname 10a value Dp_jobs * value DmaxDim 10i 0 value c eval jobdim = c c c loadjobs( sbs.sbsname : %addr(job) c : 1000 c ) Passo 6 (Compilazione del sorgente RPG): Prima di compilare copiamo il sorgente che carica l elenco dei lavori nel parametro di output del servizio. Lanciare i seguenti comandi per compilare il sorgente: CPYSRCF FROMFILE(JTWS100/QRPGLESRC) TOFILE(JTWSUTIL/QRPGLESRC) FROMMBR(LOADJOBS) TOMBR(LOADJOBS) CRTRPGMOD MODULE(JTWSUTIL/LOADJOBS) SRCFILE(JTWSUTIL/QRPGLESRC) SRCMBR(LOADJOBS) DBGVIEW(*ALL) REPLACE(*YES) CRTRPGMOD MODULE(JTWSUTIL/LISTJOBS) SRCFILE(JTWSUTIL/QRPGLESRC) SRCMBR(LISTJOBS) DBGVIEW(*ALL) REPLACE(*YES) CRTPGM PGM(JTWSUTIL/LISTJOBS) MODULE(JTWSUTIL/LISTJOBS JTWSUTIL/LOADJOBS) BNDSRVPGM((S4I)) Passo 7 (Definizioni delle credenziali di accesso al sistema AS400): I servizi inseriti nel progetto dovranno collegarsi al sistema AS400 fornendo le corrette credenziali. 23 Jet S.r.l. www.jetlab.com

Selezionando il servizio con l opzione C=Cred.accesso al servizio viene modificato il file contenente le credenziali di accesso utilizzato per tutti i servizi del progetto e viene generata una credenziale specifica per questo servizio. Ai fini dell esercizio non è necessario creare una credenziale specifica per questo servizio. Creazione del sorgente Java Nella documentazione che segue di fa riferimento ai nomi utilizzati nella procedura di creazione progetto: JTWS100 è la libreria di prodotto JTWSUTIL è il nome del progetto. Dopo avere creato i servizi nel progetto potrà essere generato un sorgente Java che conterrà tutte le interfacce di chiamata ai servizi del progetto. Per produrre il sorgente Java seguire i seguenti passi: Passo 1 (Attivazione del gestore dei progetti): Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di gestione progetti: ADDLIBLE JTWS100 WRKWPRJ Viene mostrato l elenco dei progetti presenti. Passo 2 (Creare il sorgente Java): Selezionare il progetto con l opzione J=Crea sorgente Java. L operazione potrebbe richiedere alcuni minuti. Potrebbero apparire a video dei messaggi che possono essere ignorati. Manuale WebService 24

Creazione del file WAR Nella documentazione che segue di fa riferimento ai nomi utilizzati nella procedura di creazione progetto: JTWS100 è la libreria di prodotto JTWSUTIL è il nome del progetto. Dopo avere creato il sorgente Java che conterrà tutte le interfacce di chiamata ai servizi del progetto potrà essere generato un file.war contenente la definizione dei servizi web. Questo file dovrà essere distribuito su un Application Server. Per produrre il file.war seguire i seguenti passi: Passo 1 (Attivazione del gestore dei progetti): Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di gestione progetti: ADDLIBLE JTWS100 WRKWPRJ Viene mostrato l elenco dei progetti presenti. Passo 2 (Creare il file War): Selezionare il progetto con l opzione W=Crea War. L operazione potrebbe richiedere alcuni minuti. Potrebbero apparire a video dei messaggi che possono essere ignorati. Al termine apparirà una schermata che mostra dove il file.war è stato posizionato 25 Jet S.r.l. www.jetlab.com

Manuale WebService 26

Pubblicazione del file WAR Dopo aver ottenuto il file.war potrà essere installato su un qualsiasi Application Server. In questo capitolo viene mostrato come installare il WAR in Tomcat installato nell ambiente Pase del sistema AS400. Per pubblicare il WAR seguire i seguenti passi: Passo 1 (Attivare il gestore dell Application Server): Attivare un Browser e accedere alla pagina http://<ip as400>:9080/ Premere il tasto Manager App e collegarsi con l utente tomcat e password tomcat 27 Jet S.r.l. www.jetlab.com

Passo 2 (Caricamento dell applicazione): Riempire i seguenti campi: Content path: /jtwsutil WAR or Directory URL: /jetlab/userdata/jtws100/jtwsutil/jtwsutil/dist/jtwsutil.war E premere il tasto Deploy Al termine dell operazione l applicazione jtwsutil è stata caricata nell application server Passo 3 (Caricamento delle credenziali di accesso): Prima di poter attivare i servizi deve essere pubblicato nell application server il file contenente le credenziali di accesso al sistema AS400. Lanciare i seguenti comandi: qsh cmd('cp /jetlab/userdata/jtws100/jtwsutil/jtwsutil.config /QOpenSys/opt/tomcat0/apache-tomcat-7.0.41/webapps/jtwsutil/WEB-INF/classes') Questa operazione deve essere svolta ogni volta che vengono cambiate le credenziali di accesso al sistema Verifica funzionamento del servizio Per verificare che il servizio creato funzioni dovremmo creare un programma che attiva il servizio Web. Tuttavia sono disponibili diversi strumenti che consento di verificare un servizio web anche senza dover realizzare un programma. Manuale WebService 28

Ai fini dell esercizio useremo Postman Rest Client Attivando l estensione (Visita sito Web) come mostrato nell immagine potremo accedere al programma: Inserire nel campo Enter request URL here il seguente indirizzo: http://<ip as400>:9080/jtwsutil/rest/jtwsutil/listjobs Sostituire <ip as400> con l indirizzo Ip dell Application Server (in questo esercizio coincide con l IP dell AS400) Premere il tasto Headers per inserire la variabile Content-Type = application/json;charset=utf-8 come mostra l immagine seguente: Premere il tasto URL params, raw, JSON per fornire i parametri di Input: {"requestinfo":{"requestid":"","languageid":"","countryid":"","fileinput":""},"sbs":{ "sbsname":"jtws100"}} Vedi immagine seguente: 29 Jet S.r.l. www.jetlab.com

Premendo il tasto SEND viene attivato il Web Service che chiama il servizio RPG LISTJOBS. L output del servizio viene mostrato in forma JSON: Manuale WebService 30

Appendice Seguono una serie di capitoli utili a descrivere alcune caratteristiche del prodotto WebServices4i non descritte nella procedura Getting Started Parametro di tipo *RECORD Il parametro di tipo *RECORD è utile quando il servizio richiede la fornitura di un lista o la ricezione di una lista di informazioni per le quali in programmatore non può stabilire un numero massimo di elementi. Questo tipo di parametro è necessario quando la somma di tutte le righe supera 65536 byte. Riprendendo l esempio Getting Started trasformiamo il parametro da tipo *ARRAY(1000) a *RECORD. Passo 1 (Cancellare il sorgente RPG): Eliminare il sorgente precedentemente creato lanciando il comando: RMVM FILE(JTWSUTIL/QRPGLESRC) MBR(LISTJOBS) Passo 12 (Modificare i parametri del servizio): Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di gestione progetti: ADDLIBLE JTWS100 WRKWPRJ Viene mostrato l elenco dei progetti presenti. 31 Jet S.r.l. www.jetlab.com

Selezionare il progetto con l opzione S=Servizi. Appare l elenco dei servizi del progetto: Selezionare il servizio con l opzione P=Parametri. Viene mostrato l elenco dei parametri: Sostituire il tipo di parametro *ARRAY con *RECORD ed eliminare Dim schiera come mostra l immagine seguente: Tornare alla lista dei servizi Passo 3 (Generare il nuovo sorgente RPG): Selezionare il servizio con l opzione R=Crea sorgente RPG. Viene generato il nuovo sorgente: * parametri di output al servizio Djob DS likeds(pjob) C *entry plist C parm reqinfo C parm resinfo C parm handle C PARM sbs A differenza di quello precedente il parametro job non è fornito nella lista parametri ma dichiarato nel sorgente come variabile globale. Inoltre è stata prodotta una procedura di servizio utile per registrare il record: *------------------------------------------------------------------------- Manuale WebService 32

Pwritejob B Dwritejob Pi 10i 0 Drrn 10i 0 value D* -------------- * c return S4I_WriteRec( c handle c :'PJOB ' c :'job ' c :%len(job ) c :rrn c :%addr(job ) c ) P E Questa procedura raccoglie il record in un area condivisa con il Web Service chiamante molto più capiente della possibile dimensione di un parametro fornito al programma RPG. La procedura S4I_WriteRec si trova nel Service Program S4I. Riceve in input: handle PJOB job %len(job) Rrn %addr(job) 33 Jet S.r.l. www.jetlab.com Parametro riservato utile per identificare la sessione di scambio dati con il chiamante E il nome del *FILE che definisce il parametro e si trova nella libreria di progetto JTWSUTIL E il nome assegnato alla variabile RPG che identifica il parametro E la dimensione del record E il numero del record che si stà scrivendo E l indirizzo in memoria del record da scrivere. Passo 4 (Modifica del nuovo sorgente RPG): Modificare il sorgente RPG per introdurre il codice necessario per caricare il parametro in modalità *RECORD: Per favorire questa codifica la funzione che carica il parametro di output è stata creata nella libreria di prodotto: <libreria prodotto>/qrpglecpy(writejobs) Introdurre nel sorgente le seguenti righe di codice: DwriteJobs Pr 10i 0 EXTPROC('writeJobs') dsbsname 10a value Dp_job * value

Dhandle 20a c eval dim = c c c c writejobs( sbs.sbsname : %addr(job) : handle c ) Passo 6 (Compilazione del sorgente RPG): Prima di compilare copiamo il sorgente che carica l elenco dei lavori nel parametro di output del servizio. Lanciare i seguenti comandi per compilare il sorgente: CPYSRCF FROMFILE(JTWS100/QRPGLESRC) TOFILE(JTWSUTIL/QRPGLESRC) FROMMBR(WRITEJOBS) TOMBR(WRITEJOBS) CRTRPGMOD MODULE(JTWSUTIL/WRITEJOBS) SRCFILE(JTWSUTIL/QRPGLESRC) SRCMBR(WRITEJOBS) DBGVIEW(*ALL) REPLACE(*YES) CRTRPGMOD MODULE(JTWSUTIL/LISTJOBS) SRCFILE(JTWSUTIL/QRPGLESRC) SRCMBR(LISTJOBS) DBGVIEW(*ALL) REPLACE(*YES) CRTPGM PGM(JTWSUTIL/LISTJOBS) MODULE(JTWSUTIL/LISTJOBS JTWSUTIL/WRITEJOBS) BNDSRVPGM((S4I)) Passo 7 (Ripubblicazione del servizio): Seguire le procedure: Creazione del sorgente Java Creazione del file WAR Pubblicazione del file WAR Verifica funzionamento del servizio Manuale WebService 34

Integrazione con un servizio Interceptor4i Nella documentazione che segue di fa riferimento ai nomi utilizzati nella procedura di creazione progetto: JTWS100 è la libreria di prodotto JTWSUTIL è il nome del progetto. Manuale "JTIN010000-Interceptor4i-Getting Started" Si assume inoltre che tutta la procedura descritta nel capitolo Getting Started sia stata completata. Il modulo Intercptor4i consente la realizzazione di un programma RPG capace di riutilizzare una tranzazione 5250. Attraverso WebService4i è possibile registrare un servizio che chiama il servizio Interceptro4i. Il seguente capitolo mostra come registrare un servizio Interceptro4i in un progetto WebServices4i. Passo 1 (Interceptor4i Getting Started): Seguire il manuale JTIN010000-Interceptor4i-Getting Started per produrre un servizio Interceptor4i che riutilizza una transazione 5250 che mostra lo stato del sistema (comando WRKSYSSTS) e rende in output l'asp utilizzato. Passo 2 (Copia definizioni parametri nel progetto): Nel passo precedente è stato creato un servizio Interceptor4i chiamato SYSSTS. E' stato creato un sorgente RPG omonimo e sono stati creati alcuni file di definizione parametri. Dunque compiare questi file di definizione nella libreria di progetto WebService4i con i seguenti comandi: CRTDUPOBJ OBJ(JTINHDR) FROMLIB(JTIN100) OBJTYPE(*FILE) TOLIB(JTWSUTIL) Si tratta del file che definisce il parametro Header. Si trova nella libreria di prodotto JTIN100 e va copiato nella libreria di progetto JTWSUTIL. CRTDUPOBJ OBJ(JTRESULT) FROMLIB(JTJT010000) OBJTYPE(*FILE) TOLIB(JTWSUTIL) Si tratta del file che definisce il parametro Result. Si trova nella libreria di prodotto JTJT010000 e va copiato nella libreria di progetto JTWSUTIL. CRTDUPOBJ OBJ(SYSSTSI) FROMLIB(JTINUTIL) OBJTYPE(*FILE) TOLIB(JTWSUTIL) CRTDUPOBJ OBJ(SYSSTSO) FROMLIB(JTINUTIL) OBJTYPE(*FILE) TOLIB(JTWSUTIL) Si tratta dei file che definiscono i parametri di Input e di Output del servizio Inteceptor4i SYSSTS. Si trovano nella libreria di progetto JTINUTIL e vanno copiati nella libreria di progetto JTWSUTIL. Passo 3 (Attivazione del gestore dei progetti): 35 Jet S.r.l. www.jetlab.com

Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di gestione progetti: ADDLIBLE JTWS100 WRKWPRJ Viene mostrato l elenco dei progetti presenti. Passo 4 (Censimento dei parametri nel progetto): Selezionare il progetto con l'opzione 'P=Parametri' e dopo aver premuto 'F6=Aggiungi parametro' censire i nuovi parametri (JTINHDR,JTRESULT,SYSSTSI,SYSSTSO) come mostra l'immagine seguente: Preme F3=Fine e tornare all'elenco dei progetti Passo 5 (Censimento nuovo servizio): Selezionare il progetto con l'opzione 'S=Servizi' e dopo aver premuto 'F6=Aggiungi servizio' aggiungere un nuovo servizio (SYSASP) come mostra l'immagine seguente: Manuale WebService 36

Passo 6 (Assegnazione parametri al nuovo servizio): Selezionare il servizio SYSASP con l'opzione 'P=Gestione parametri' e dopo aver premuto 'F6=Aggiungi parametri' inserire i parametri come mostra l'immagine seguente: Passo 7 (Creazione /modifica/compilazione del sorgente RPG): Selezionare il servizio SYSASP con l'opzione 'R=Crea sorgente RPG'. Viene prodotto l seguente sorgente RPG: JTWSUTIL/QRPGLESRC(SYSASP) Da un'altra sessione 5250 modificare il sorgente prodotto inserendo la chiamata al servizio Inteceptor4i: D/COPY *LIBL/QRPGLECPY,S4I * strutture dati dei parametri del servizio DJTINHDR E DS extname(jtinhdr ) qualified DJTRESULT E DS extname(jtresult ) qualified DSYSSTSI E DS extname(sysstsi ) qualified DSYSSTSO E DS extname(sysstso ) qualified * parametri generici di servizio DreqInfo ds likeds(rqinfo) DresInfo ds likeds(rsinfo) dhandle s 20a * parametri di input al servizio Dhdr DS likeds(jtinhdr) Dresult DS likeds(jtresult) Dpinput DS likeds(sysstsi) * parametri di output al servizio Dpoutput DS likeds(sysstso) ddim s 10i 0 37 Jet S.r.l. www.jetlab.com

C *entry plist C parm reqinfo C parm resinfo C parm handle C PARM hdr C PARM result C PARM pinput C PARM poutput c call 'SYSSTS' C PARM hdr C PARM result C PARM pinput C PARM poutput C eval *inlr = '1' C return Compilare il sorgente da con il seguente comando: ADDLIBLE JTWSUTIL CRTRPGMOD MODULE(JTWSUTIL/SYSASP) SRCFILE(JTWSUTIL/QRPGLESRC) SRCMBR(SYSASP) DBGVIEW(*ALL) REPLACE(*YES) CRTPGM PGM(JTWSUTIL/SYSASP) MODULE(JTWSUTIL/SYSASP) BNDSRVPGM((S4I)) Passo 8 (Modifica programma di inizializzazione servizi): Il Servizio Web, prima di attivare il programma RPG chiama un comando AS400 scelto dall'utente di inizializzazione ambiente. Questo programma è già stato scritto e censito nel progetto JTWSUTIL nei capitolo precedenti. Ora lo modifichiamo per aggiungere nella lista delle librerie anche la libreria di prodotto Interceptor4i (JTIN100) e la libreria di progetto Interceptor4i (JTINUTIL). Il sorgente è il seguente: JTWSUTIL/QCLLESRC(INIT) Inserire le seguenti righe di codice: PGM ADDLIBLE MONMSG ADDLIBLE MONMSG ADDLIBLE MONMSG ADDLIBLE MONMSG LIB(JTJT010000) MSGID(CPF0000) LIB(JTWS100) MSGID(CPF0000) LIB(JTWSUTIL) MSGID(CPF0000) LIB(JTIN100) MSGID(CPF0000) Manuale WebService 38

ADDLIBLE MONMSG LIB(JTINUTIL) MSGID(CPF0000) ENDPGM Salvare il sorgente e compilarlo CRTBNDCL PGM(JTWSUTIL/INIT) SRCFILE(JTWSUTIL/QCLLESRC) SRCMBR(INIT) REPLACE(*YES) Passo 9 (Produzione sorgente Java e War): Ora che il servizio è stato censito nel progetto dobbiamo rigenerare il sorgente Java per inserirvi il nuovo servizio. Selezionare il progetto con l'opzione "J=Crea sorgente Java' per generare i sorgenti Java. Al termine di questa operazione selezionare il progetto con l'opzione 'W=Crea War' per produrre il file.war da installare sull'application server Passo 10 (Attivazione Tomcat): Seguire il capitolo Attivazione Tomcat Passo 11 (Undeploy del War da Tomcat): Il war prodtto nei passi precedenti è già stato caricato nel Tomcat durante la procedura seguita nel capitolo Getting Started. In questo passo deve essere disinstallata l'appliazione: Attivare un Browser e accedere alla pagina http://<ip as400>:9080/ Premere il tasto Manager App e collegarsi con l utente tomcat e password tomcat 39 Jet S.r.l. www.jetlab.com

Premere il tasto Stop ed a seguire li tasto Undeploy in corrispondenza dell'applicazione /jtwsutil Passo 12 (Caricamento dell applicazione): Riempire i seguenti campi: Content path: /jtwsutil WAR or Directory URL: /jetlab/userdata/jtws100/jtwsutil/jtwsutil/dist/jtwsutil.war E premere il tasto Deploy Al termine dell operazione l applicazione jtwsutil è stata caricata nell application server Passo 13 (Caricamento delle credenziali di accesso): Prima di poter attivare i servizi deve essere pubblicato nell application server il file contenente le credenziali di accesso al sistema AS400. Lanciare i seguenti comandi: qsh cmd('cp /jetlab/userdata/jtws100/jtwsutil/jtwsutil.config /QOpenSys/opt/tomcat0/apache-tomcat-7.0.41/webapps/jtwsutil/WEB-INF/classes') Questa operazione deve essere svolta ogni volta che vengono cambiate le credenziali di accesso al sistema Passo 14 (Attivazione del sottosistema Interceptor4i) Aggiungere in lista librerie la libreria del prodotto e lanciare il comando di attivazione sottosistema: ADDLIBLE JTIN100 WRKR4SBS ACTION(*START) SRVNUM(005) SRVNAME(SYSSTS) Il comando WRKR4SBS viene usato per ACTION(*START) attivare il sottosistema JTIN100 ACTION(*STOP) disattivare il sottosistema JTIN100 ACTION(*ADDSRV) pre-startare un certo numero di servizi Interceptor4i nel sottosistema. Con il comando suddetto sono stati prestartati 5 servizi SYSSTS con l'attivazione del sottosistema. wrkactjob sbs(jtin100) Manuale WebService 40

Passo 15 (Verifica funzionamento del servizio) Per verificare che il servizio creato funzioni dovremmo creare un programma che attiva il servizio Web. Tuttavia sono disponibili diversi strumenti che consento di verificare un servizio web anche senza dover realizzare un programma. Ai fini dell esercizio useremo Postman Rest Client Attivando l estensione (Visita sito Web) come mostrato nell immagine potremo accedere al programma: Inserire nel campo Enter request URL here il seguente indirizzo: http://<ip as400>:9080/jtwsutil/rest/jtwsutil/sysasp 41 Jet S.r.l. www.jetlab.com