WikiUp

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".


!(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.

!(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.


(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/)) .


(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.

!(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/

!(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.

Add new attachment

Only authorized users are allowed to upload new attachments.
«