Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 28-Aug-2023 16:05 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 113 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
\\
L?indirizzo per accedere all?interfaccia swagger relativo alle SmeUP Rest API e all?A39Service è:\\
http://address:port/apiservice/swagger/index.html\\
\\
!! Tipologia di API\\
\\
Esponiamo due tipologia di API. Un API che permette di interagire con un CRUD sugli oggetti applicativi (REST Api), l?altro che permette configurare funzioni da esporre come API Http (A39Service). In questo documento vedremo soprattutto la tipologia relativa all?A39Service.\\
\\
!! Elenco degli endpoint (A39Service)\\
\\
! Get all actions:\\
Address: http://address:port/apiservice/api/services/action-management/actions\\
Method: GET\\
\\
Restituisce la lista di tutti gli alias e le corrispettive FUN (Azioni) definite all'interno degli script LOA39 presenti su AS400.\\
\\
! Get a single action:\\
Address: http://address:port/apiservice/api/services/action-management/action/{key-field}\\
Method: GET\\
\\
Restituisce il dettaglio di un singolo alias che andiamo a richiamare.\\
\\
! Run a single action:\\
Address: http://address:port/apiservice/api/services/action-management/runAction/{key-field}\\
Method: POST\\
\\
Permette di lanciare una FUN a tutti gli effetti, richiamando il suo alias. A questa chiamata va eventualmente poi passato un oggetto JSON, contenente in formato chiave-valore tutte le variabili della FUN che vanno risolte.\\
\\
Esempio:\\
{\\
"parameters": [\\
{\\
"tipo": "H3"\\
},\\
{\\
"parametro": "£TDO"\\
},\\
{\\
"codice": "£TDO207032"\\
}\\
]\\
\\
}\\
\\
! Reload actions:\\
Address: http://address:port/apiservice/api/services/action-management/reloadActions\\
Method: GET\\
\\
Ricarica gli script presenti su AS400, utile quando creiamo un nuovo script o effettuiamo una modifica ad uno script esistente.\\
\\
!! Autenticazione tramite API Key\\
\\
È stato utilizzato un sistema di autenticazione tramite API Key per l'accesso agli endpoint A39 e smeup-api (N.B.: verranno chiamati "smeup-api" tutti gli endpoint NON A39 supportati da smeup-rest-api).\\
Le API key vengono inizialmente lette dalle variabili d'ambiente "A39KEY" e "RESTAPIKEY". Nel caso in cui la lettura da variabile d'ambiente non fosse possibile (variabili inesistenti o = null), verrà eseguito un tentativo di lettura da file di configurazione, sotto chiave "smeup.restApiKey" e "smeup.a39Key".\\
Se entrambi i tipi di lettura delle API key falliscono, sarà impossibile accedere a uno o ad entrambe le tipologie di endpoint. Questa feature può essere utilizzata nel caso in cui si voglia rendere accessibile solo una tipologia di endpoint.\\
L'ordine di priorità per ciascun endpoint è quindi il seguente: 1. Variabile d'ambiente 2. File di configurazione 3. (in caso di mancanza dei primi 2) endpoint non accessibile con alcuna chiave.\\
N.B. SICUREZZA API KEYS: cancellare completamente le chiavi-valori relative alle APIKEY dal file di configurazione smeup.properties renderà l'endpoint relativo inaccessibile, mentre lasciare le chiavi senza valore nel seguente modo:\\
smeup.a39Key=\\
smeup.restApiKey=\\
renderà gli endpoint accessibili utilizzando una stringa vuota "" come autenticazione.\\
\\
!! Transformer\\
Per il momento è stata implementato un solo tipo di transformer:\\
TransformerCDATAFromXML\\
Per poter richiamare questo post transformer, va definito correttamente nello script SCP_SET LOA39_XX.\\
\\
::A39.PSTTRS Name="Transformer Post" Value="com.smeup.api.apiservice.models.actions.TransformerCDATAFromXML"\\
!! Deployment tramite docker\\
È stata preparata una directory con un file bash di setup (setup.sh) che andrà a preparare l?ambiente corretto per il deploy di questa applicazione.\\
Dopo aver lanciato il file di setup dovremo prima compilare correttamente il file di configurazione (smeup.properties) che si presenta così:\\
\\
smeup.system=\\
smeup.user=\\
smeup.pwd=\\
smeup.env=\\
smeup.ccsid=1144\\
smeup.rowsPerPage=300\\
smeup.minIdle=2\\
smeup.maxIdle=8\\
smeup.maxTotal=32\\
smeup.a39Key=\\
smeup.restApiKey=\\
\\
Poi dovremo scaricare l?immagine docker dal docker-registry di smeup, seguendo i seguenti passi:\\
\\
- Eseguire un docker login:\\
docker login docker-registry.smeup.cloud\\
- Eseguire un docker pull dell'immagine:\\
docker pull docker-registry.smeup.cloud/smeup/a39-api\\
Lanciamo poi il docker run:\\
docker run -dp 6090:8080 --name api-container -e A39KEY="a39" -e RESTAPIKEY="api" -v $(pwd)/smeup.properties:/opt/payara/etc/smeup-rest-api/smeup.properties -v $(pwd)/logs:/opt/payara/var/smeup-rest-api/api/log docker-registry.smeup.cloud/smeup/a39-api\\
Per effettuare cambiamenti al file di configurazione (cambiare API keys, ambiente o utente per la connessione ad AS400), basterà eliminare il vecchio container (se presente), cambiare le configurazioni nel file smeup.properties, ed eseguire nuovamente il comando docker run scritto qua sopra.\\
\\
!! Deployment tradizionale\\
In alternativa si può scaricare il file .war da Nexus a questo link:\\
[http://mauer.smeup.com/nexus/service/rest/v1/search/assets/download?repository=releases&group=com.smeup.api&name=apiservice&sort=version&maven.extension=war]\\
Per poi deployarlo normalmente in un application Server Payara. Per fare questo è necessario creare il file di configurazione dell?applicazione sotto il path: {USER-HOME}/etc/smeup-rest-api/smeup.properties e compilarlo correttamente.\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
This page has only one version
«