| At line 1 added 173 lines |
| %%(display:none) |
| {{{ |
| WikiUp |
| }}} |
| /% |
| [{TableOfContents }]\\ |
| !!! Introduzione\\ |
| \\ |
| La modalità "providerles" indica la configurazione di Webup che gli permette di funzionare senza la dipendenza da Sme.UP Provider.\\ |
| \\ |
| !!! Documentazione generale AS400-Proxy\\ |
| \\ |
| Con AS400-Proxy intendiamo il modulo software che permette a Webup di gestire la comunicazione con Sme.UP ERP.\\ |
| \\ |
| !! Dove scaricare AS400-Proxy\\ |
| \\ |
| Il file .war è possibile reperirlo dal nostro repository Nexus\\ |
| [https://repo.smeup.com/nexus/]\\ |
| \\ |
| Se si scrive as400-proxy nella barra di ricerca è poi selezionare la versione desiderata.\\ |
| In alternativa attraverso il menù di ricerca, per una ricerca più dettagliata, aggiungendo la colonna "Name" cliccando sul pulsante "More criteria" e scegliendo la voce "Name".\\ |
| \\ |
| \\ |
| [{Image src='immagini/MBDOC-WEBASE_015/WEBASE_062.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
| \\ |
| Così facendo si avrà a disposizione un campo aggiuntivo con cui filtrare. Scrivere "*as400-proxy*" per avere la lista di tutte le istanze salvate su Nexus.\\ |
| \\ |
| [{Image src='immagini/MBDOC-WEBASE_015/WEBASE_063.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
| \\ |
| Attenzione che vi sono sia versioni stabili che versioni "snapshot" denominate come tali.\\ |
| \\ |
| Per poter scaricare il file, basterà cliccare sul file voluto (solitamente la versione release stable denominata senza la scritta SNAPSHOT) , verrà visualizzata la pagina della lista dei files, e cliccare sul file .war. Inizierà così lo scaricamento del file selezionato.\\ |
| \\ |
| [{Image src='immagini/MBDOC-WEBASE_015/WEBASE_064.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
| \\ |
| \\ |
| !! Come installare\\ |
| L'installazione può avvenire in 2 contesti differenti:\\ |
| \\ |
| 1. Senza l'utilizzo di Docker\\ |
| 2. Mediante l'utilizzo di Docker\\ |
| \\ |
| __Senza l'utilizzo di docker__\\ |
| \\ |
| Senza l'utilizzo di docker e quindi dei container, l'installazione dell'AS400-proxy si traduce nella mera installazione di un application server. Noi raccomandiamo l'installazione di payara-micro (scaricabile da [qui](https://www.payara.fish/products/downloads/all-downloads/)) .\\ |
| \\ |
| [{Image src='immagini/MBDOC-WEBASE_015/WEBASE_067.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
| \\ |
| \\ |
| Una volta scaricato e scompattato payara in una cartella a piacere (che potrebbe essere _/home/payara_ per gli utenti Linux based e _C:\Users\<NomeUtente>\\payara\_ per gli utenti Windows) , ed aver scaricato il .war come indicato nel punto precedente, bisognerà passare alla configurazione dei parametri di inizializzazione dell'AS400-proxy, che vengono impostati sotto forma di variabili di sistema.\\ |
| Le variabili da impostare sono:\\ |
| \\ |
| * USER: utente con cui accedere al sistema iSeries\\ |
| * PASSWORD: password con cui accedere al sistema iSeries\\ |
| * SERVER: indirizzo a cui l'AS400-proxy si collegherà\\ |
| * TOKEN_DURATION: durata in minuti del token di connessione, dopodichè scadenza sessione; (OPZIONALE)\\ |
| * SECRET: stringa condivisa per la generazione di un hash per la protezione dello scambio dei dati. (OPZIONALE)\\ |
| \\ |
| Per gli utenti Unix-based per impostare le variabili di sistema basterà aprire un terminale e lanciare i comandi (dove xxx è il valore della variabile corrispondente):\\ |
| \\ |
| \\ |
| $ export USER=xxx\\ |
| $ export PASSWORD=yyy\\ |
| $ export SERVER=xxx\\ |
| $ export SECRET=xxx\\ |
| \\ |
| Mentre per gli utenti Windows la stessa cosa è possibile farla aprendo un terminale e lanciare i comandi:\\ |
| \\ |
| > setx USER "xxx"\\ |
| > setx PASSWORD "xxx"\\ |
| > setx SERVER "xxx"\\ |
| > setx SECRET "xxx"\\ |
| \\ |
| Ipotizzando di aver messo nella stessa cartella sia payara-micro che il .war dell'AS400-proxy ed aver già configurato tutte le variabili di ambiente, il comando per lanciare l'AS400-proxy è:\\ |
| \\ |
| $ java -jar payara-micro.jar --port NNNN --deploy AS400-proxy.war\\ |
| \\ |
| Dove con NNNN si indica il numero di porta voluto. Per esempio 9998.\\ |
| \\ |
| __Con l'utilizzo di Docker__\\ |
| Nel caso decidessimo di installarlo su una macchina per utilizzarlo all'interno di un container docker il procedimento cambia un poco.\\ |
| Nel caso di questa scelta, si consiglia vivamente di utilizzare una macchina Unix-based.\\ |
| \\ |
| Per prima cosa bisogna scaricare docker ed averlo installato sulla macchina (cosa che si da già per scontato che funzioni).\\ |
| \\ |
| Dopodichè si può pensare di installare il container della versione micro o la versione full di payara.\\ |
| * Payara-micro visionabile [qui](https://hub.docker.com/r/payara/micro)\\ |
| * Payara-full visionabile [qui](https://hub.docker.com/r/payara/server-full)\\ |
| \\ |
| Tra i due si consiglia comunque l'installazione di payara micro ed il procedimento per il deploy dell'as400-proxy.war è il seguente:\\ |
| \\ |
| Innanzitutto, per avere la possibilità di analizzare i log dall'esterno del container è necessario creare e modificare le autorizzazioni a due cartelle:\\ |
| \\ |
| $ sudo mkdir -p ~/etc/as400-proxy/nomeFileWar\\ |
| $ sudo chown -R 1000:1000 ~/etc/as400-proxy/nomeFileWar\\ |
| \\ |
| $ sudo mkdir -p ~/var/as400-proxy/nomeFileWar\\ |
| $ sudo chown -R 1000:1000 ~/var/as400-proxy/nomeFileWar\\ |
| \\ |
| Dopodichè si può procedere con il deploy:\\ |
| \\ |
| $ sudo docker run -p 9998:8080 -d --name "as400-proxy" -e SERVER="XXX" -e USER="YYY" -e PASSWORD="ZZZ" -e TOKEN_DURATION="240" -v ~/percorso/che/vuoi/tu/sulla/macchina/ospitante:/opt/payara/deployments payara/micro -v ~/etc/as400-proxy/nomeFileWar:/opt/payara/etc/as400-proxy/as400-proxy -v ~/var/as400-proxy/nomeFileWar:/opt/payara/var/as400-proxy/as400-proxy\\ |
| \\ |
| dove:\\ |
| * -p 9998:8080 espone la porta 8080 come 9998. Payara internamente al container risponde sulla 8080;\\ |
| * --name "as400-proxy" è il nome dell'immagine docker visibile a fronte del comando docker ps o docker image da utilizzare con docker start. Questo può essere creato al momento della build del container appendendo l'argomento "-t <etichetta>" dove <etichetta> è il nome che si vuole dare al container.\\ |
| * -e SERVER contiene l'indirizzo dell server iSeries a cui collegarsi;\\ |
| * -e USER contiene utente iSeries;\\ |
| * -e PASSWORD contiene password utente iSeries;\\ |
| * -e TOKEN_DURATION durata in minuti del token di connessione, dopodichè scadenza sessione;\\ |
| * -v ~/percorso/che/vuoi/tu/sulla/macchina/ospitante è il path locale in cui depositare il war di cui farà il deploy payara;\\ |
| * payara/micro è il nome dell'immagine docker di partenza, scaricata dal docker hub;\\ |
| \\ |
| Un'ulteriore accorgimento che si potrebbe adottare è quello di aggiungere anche un'ulteriore parametro per visualizzare i log di payara sulla macchina ospitante per avere sotto controllo cosa sta succedendo all'interno del container, che è:\\ |
| \\ |
| -v /percorso/che/vuoi/tu/sulla/macchina/ospitante:/opt/payara/glassfish/domains/domain1/log\\ |
| \\ |
| \\ |
| !! Come testare\\ |
| \\ |
| Come testare se tutta l'installazione è andata a buon fine?\\ |
| Ci sono in sostanza 2 metodi:\\ |
| * tramite login da Looc.UP o Web.UP\\ |
| * tramite chiamate curl da terminale verso le API-REST di AS400-proxy\\ |
| \\ |
| __Login da Looc.UP o Web.UP__\\ |
| \\ |
| Un ottimo metodo è quello di provarlo all'interno di un Web.UP (o Looc.UP) che permette l'immissione del parametro "Sme.UP Provider" che solitamente è disponibile nel modulo "Free-Login".\\ |
| \\ |
| Per aver ancor meglio il riscontro di quanto fatto è possibile anche installare sul proprio pc una versione di Web.UP e testare in locale il funzionamento del lavoro svolto (potendo così modificare a piacere i moduli di login).\\ |
| \\ |
| Per installare un Web.UP in locale è possibile seguire questa comodissima guida\\ |
| [http://blog.smeup.com/localwebup/]\\ |
| \\ |
| Dopo aver inserito tutti i parametri di configurazione la buona riuscita sarà garantita dall'effettivo login all'interno del modulo scelto.\\ |
| \\ |
| [{Image src='immagini/MBDOC-WEBASE_015/WEBASE_066.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
| \\ |
| __Chiamate curl da terminale verso le API-REST di AS400-proxy__\\ |
| \\ |
| Ulteriori informazioni possono essere ricavate sfruttando le API-REST fornite dall'as400-proxy:\\ |
| \\ |
| __Esempio di login__\\ |
| \\ |
| \\ |
| $ time curl -v -s -X POST -d 'usr=XXX&pwd=YYY4&env=ZZZ' http://localhost:8081/as400-proxy/AuthenticateService > /dev/null\\ |
| L'applicazione restituirà nel header "Authorization" il token nella forma: Bearer <JWT_TOKEN>\\ |
| \\ |
| \\ |
| __Esempio di fun__\\ |
| \\ |
| $ time curl -X POST -H "Authorization: Bearer <JWT_TOKEN>" -d 'fun=F(EXD;*SCO;) 1(CN;COL;SCIMAM)' http://localhost:8081/as400-proxy/fun\\ |
| \\ |
| __Esempio di disconnessione__\\ |
| \\ |
| $ time curl -X POST -H "Authorization: Bearer <JWT_TOKEN>" http://localhost:8081/as400-proxy/DisconnectService\\ |
| \\ |
| Questi gli endpoint interrogabili sfruttando magari l'utilizzo ad esempio del software\\ |
| [https://swagger.io/swagger-ui/]\\ |
| \\ |
| [{Image src='immagini/MBDOC-WEBASE_015/WEBASE_065.png' caption='' width='100%' style='max-width: 100%;'}]\\ |
| \\ |
| !! Documentazione sui servizi interni implementati\\ |
| \\ |
| [Servizi interni con AS400-Proxy](servizi-interni-as400Proxy)\\ |
| \\ |
| !!! Nota bene\\ |
| \\ |
| E' stato definito l'insieme di funzionalità e come gestire la loro configurazione per permettere di impostare un'intera configurazione Web.UP senza Sme.UP Provider.\\ |
| \\ |
| La questione coinvolge sì il collegamento all'AS400, ma anche tutti i servizi interni che, originariamente, erano implementati all'interno del Provider.\\ |
| \\ |
| Si va dalla /copy H80 ed i relativi servii JA_00_05, fino alla H53.\\ |