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%;'}]![](TACPG-PD000149/AS400ProxyNexus.PNG)\\ |
\\ |
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%;'}]![](TACPG-PD000149/AS400ProxyNexus1.PNG)\\ |
\\ |
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%;'}]\\ |
![](TACPG-PD000149/AS400ProxyNexus2.PNG)\\ |
\\ |
!! 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%;'}]\\ |
![](TACPG-PD000149/PayaraMicro.PNG)\\ |
\\ |
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%;'}]![](TACPG-PD000149/AS400ProxyWebUP.PNG)\\ |
\\ |
__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%;'}]![](TACPG-PD000149/AS400ProxySwagger.PNG)\\ |
\\ |
!! 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.\\ |