Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 09-Feb-2017 09:49 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 164 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
!!! Costruttore A38\\
Il costruttore A38 ha lo scopo di mettere a disposizione una configurazione, e la relativa interfaccia per l'utilizzo, che permette di definire e dichiarare connettori verso servizi (in prima istanza HTTP-based, ma non solo) esposti da esterni esterni.\\
Il caso principale è il consumo di web service SOAP o REST.\\
\\
!! La configurazione\\
La configurazione si basa sugli script con prefisso LOA38_ contenuti nel file SCP_SET.\\
ereditando la struttuta dagli script dei LOA, la struttura riproposta è quella di Sezione e Subsezione.\\
\\
!! La sezione\\
Nella sezione, viene definito chi è l'interlocutore esterno, quindi il plugin che verrà attivato.\\
Es: Operazioni tramite Socialmailer per l'infrastuttura di web marketing, operazioni tramite Gulliver per l'infrasturttura offline, etc.\\
Nella sezione è presente la specifica __A38.CLSSEZ__ attraverso il quale viene definito il "driver" da attivare. Il driver non è altro che una classe java che implementa le operazioni definite nelle varie subsezioni attestate in questa sezione.\\
Es: ::A38.CLSSEZ Class="Smeup.smeww.webservices.client.socialmailer.SocialMailerConnectorAdapter" Pgm=""\\
\\
!! La subsezione\\
Nella subsezione ci sono diversi tipi di istruzioni.\\
Nella istruzione che la definisce è presente il timeout di attesa del completamento dell'istruzione. Al raggiungimento del timeout la richiesta viene considerata persa.\\
Es: ::SUB Cod="B00" Txt="Richiesta Messaggi" Timeout="300"\\
C'è poi l'istruzione che definisce il nome dell'operazione\\
Es: ::A38.SUBMET Value="MSGLIS" Txt="Nome che identifica la funzione"\\
Poi una serie di definizioni dei parametri necessari all'operazione che si sta definendo\\
Es: ::A38.SUBVAR Name="Token" Value="" Txt="Token di autenticazione" DftVal=""\\
Con questa istruzione si definisce il nome del parametro, il valore (qualora questo valore si volgia passarlo "cablato" o ereditato da una variabile), la sua descrizione ed il valore di default (qualora lo si volgia impostare)\\
Infine esiste, tramite l'istruzione A38.MSGOGG, la possibilità di gestire i parametri di risposta. Quindi oggettizzare le colonne della matrice che costituitrà la risposta piuttosto che gestire degli alias per ovviare ai limite del campo Col della colonna.\\
Es: ::A38.MSGOGG Name="newsletter_messenger" Ogg="V2SI/NO" Alias="NWLMSGR"\\
\\
\\
!!! Connettori disponibili\\
\\
Con il client Looc.UP vengono distribuiti dei connettori predefiniti, disponibili per l'uso senza la necessità di installare software integrativo.\\
\\
!!! WS: Connettore per invocazione di Web Service su Smeup Provider remoto\\
\\
Consente l'accesso a funzioni Smeu.Up esposte come web service su uno Smeup Provider remoto\\
\\
Esiste in due versioni:\\
\\
!! Connettore LOA38_WS di tipo stateless\\
\\
Esegue accessi al web service remoto di tipo stateless.\\
Ogni richiesta è pertanto gestita in 3 fasi distinte, eseguite in sequenza:\\
\\
# Connessione al webservice remoto e autenticazione sul server di riferimento con le credenziali fornite (utente, password, ambiente)\\
# Esecuzione della FUN passata e lettura XML di risposta\\
# Disconnessione\\
\\
Esempio di script (vedi LOA38_WS su server sviluppo):\\
\\
::SEZ Cod="S00" Txt="Accesso a Smeup Provider remoto tramite Web Service"::A38.CLSSEZ Class="_h_Smeup.smeui.loa38.smeupprovider.SLWSLOA38Connector_n_" Pgm=""::A38.CNFSEZ Name="HTTPS" Value="0"::A38.CNFSEZ Name="SERVICE" Value="127.0.0.1"::A38.CNFSEZ Name="PORT" Value="9090"::SUB Cod="B00" Txt="Invocazione WS" Timeout="100000"::A38.SUBMET Value="SLWSINVOKE" Txt="Nome che identifica la funzione"::A38.SUBVAR Name="SYSTEM" Value="" Txt="Server di destinazione della FUN" DftVal=""::A38.SUBVAR Name="USR" Value="" Txt="Utente" DftVal=""::A38.SUBVAR Name="PWD" Value="" Txt="Password" DftVal=""::A38.SUBVAR Name="ENV" Value="" Txt="Ambiente" DftVal=""::A38.SUBVAR Name="FUN" Value="" Txt="FUN richiesta (deve tornare matrice XML)" DftVal=""\\
\\
!! Connettore LOA38_WS con gestione del pool di connessioni\\
\\
Consente l'accesso utilizzando un pool di connessioni predefinite e create in fase di inizializzazione del connettore\\
La gestione è pertanto del seguente tipo:\\
\\
* All'avvio del connettore WS vengono create N connessioni con lo Smeup Provider remoto che fornisce il web service\\
* Quando viene richiesta una FUN, viene allocata una delle connessioni attive e viene usata per l'invocazione su web service della FUN richiesta. Alla risposta la connessione viene tornata al pool.\\
* Se nessuna connessione è disponibile, la richiesta di esecuzione viene messa in coda.\\
\\
Le connessioni che appartengono al pool sono tutte dello stesso tipo e pertanto condividono le stesse credenziali,\\
definire nella configurazione a livello di sezione. Il richiamo della singola funzione deve quindi specificare la sola\\
FUN da eseguire.\\
\\
Esempio di script (vedi SCP_SET/LOA38_WS su server sviluppo)\\
\\
::SEZ Cod="S01" Txt="Esempio connettore WS pooled"::A38.CLSSEZ Class="_h_Smeup.smeui.loa38.smeupprovider.WSLOA38Connector_n_" Pgm=""::A38.CNFSEZ Name="SIZE" Value="3"::A38.CNFSEZ Name="HTTPS" Value="0"::A38.CNFSEZ Name="SERVICE" Value="127.0.0.1"::A38.CNFSEZ Name="PORT" Value="9090"::A38.CNFSEZ Name="SYSTEM" Value="srvlab01.smeup.com"::A38.CNFSEZ Name="USR" Value="FORDAR"::A38.CNFSEZ Name="PWD" Value="dario0316"::A38.CNFSEZ Name="ENV" Value="0010"::A38.CNFSEZ Name="TIMEOUT" Value="300"::SUB Cod="B00" Txt="Invocazione WS" Timeout="100000"::A38.SUBMET Value="WSINVOKE" Txt="Nome che identifica la funzione"::A38.SUBVAR Name="FUN" Value="" DftVal="" Txt="FUN richiesta (deve tornare matrice XML)"\\
si noti il parametro __SIZE__ che iodentifica il numero di connessioni create nel pool in fase di inizializzazione e il parametro\\
__TIMEOUT__ che definisce il tempo di attesa (in secondi) di una risposta da parte del web service remoto prima che la\\
richiesta sia considerata fallita e la connessione ritornata al pool.\\
\\
\\
\\
!!! 39: Connettore per invocazione di servizi A39 su Smeup Provider remoto\\
\\
Consente l'accesso a funzioni A39 esposte da uno Smeup Provider remoto\\
\\
Esiste in due versioni:\\
\\
!! Conettore LOA38_39 di tipo stateless\\
\\
Esegue richieste A39 allo Smeup Provider remoto senza mantenere a connessione attiva\\
Ogni richiesta è pertanto gestita in 3 fasi distinte, eseguite in sequenza:\\
\\
# Connessione allo Smeup Provider remoto e autenticazione sul server di riferimento con le credenziali fornite (utente, password, ambiente)\\
# Esecuzione della funzione A39 richiesta e lettura XML di risposta\\
# Disconnessione\\
\\
Esempio di script (vedi SCP_SET/LOA38_39 su server sviluppo):\\
\\
-- Accesso A39 remoto di tipo stateless (connessione-call-disconnessione)\\
\\
::SEZ Cod="A39SL" Txt="Accesso a Smeup Provider remoto tramite A39 stateless"::A38.CLSSEZ Class="_h_Smeup.smeui.loa38.smeupprovider.SLA39LOA38Connector_n_" Pgm=""::A38.CNFSEZ Name="HTTPS" Value="0"::A38.CNFSEZ Name="SERVICE" Value="127.0.0.1"::A38.CNFSEZ Name="PORT" Value="9090"::A38.CNFSEZ Name="SYSTEM" Value="" Txt="Server di destinazione della FUN" DftVal=""::A38.CNFSEZ Name="USR" Value="" Txt="Utente" DftVal=""::A38.CNFSEZ Name="PWD" Value="" Txt="Password" DftVal=""::A38.CNFSEZ Name="ENV" Value="" Txt="Ambiente" DftVal=""::SUB Cod="DEC" Txt="Lettura DEC di un oggetto" Timeout="3000"::A38.SUBMET Value="DEC" Txt="Decodifica oggetto"::A38.SUBVAR Name="FUN" Value="" DftVal="DEC" Txt="DEC su A39_MU"::A38.SUBVAR Name="TIPO" Value="" Txt="Tipo oggetto"::A38.SUBVAR Name="PARAMETRO" Value="" Txt="Parametro oggetto"::A38.SUBVAR Name="CODICE" Value="" Txt="Codice oggetto"\\
__N.B.:__Si noti che la variabile di sezione FUN deve essere inizializzata con un valore di default uguale al nome della funzione A39 che\\
si vuole invocare. Nell'esempio si la sezione DEC è pensata per il richiamo della funzione A39 remota con nome "DEC"\\
\\
__N.B.:__Le variabili successive alla FUN sono le stesse variabili attese dalla funzione A39 remota. In questo esempio la funzione\\
remota DEC esegue la decodifica di un oggetto quindi si attende le varibili TIPO, PARAMETRO e CODICE. Ovviamente funzioni\\
remote diverse hanno un set di parametri diversi, quindi la parte di script successiva al campo FUN ha una struttura che dipende\\
dalla funzione A39 chiamata. Il connettore è in grado di leggere tutte le variabili successive alla FUN e\\
passarle correttamente alla funzione A39 invocata.\\
\\
!! Connettore LOA38_39 con gestione del pool di connessioni\\
\\
Consente l'accesso ai servizi A39 offerti da uno Smeup Provider remoto utilizzando un pool di connessioni\\
predefinite e create in fase di inizializzazione del connettore.\\
La gestione è pertanto del seguente tipo:\\
\\
* All'avvio del connettore WS vengono create N connessioni con lo Smeup Provider remoto che fornisce il web service\\
* Quando viene richiesta una funzione A39, una delle connessioni disponibili viene allocata ed utilizzata per la\\
comunicazione con il servizio A39 remoto. Eseguita la richiesta la connessione viene liberata per utilizzi futuri.\\
* Se nessuna connessione è disponibile, la richiesta di esecuzione viene messa in coda.\\
\\
Le connessioni che appartengono al pool sono tutte dello stesso tipo e pertanto condividono le stesse credenziali,\\
definire nella configurazione a livello di sezione. Il richiamo della singola funzione deve quindi specificare la sola\\
FUN da eseguire.\\
\\
Esempio di script (vedi SCP_SET/LOA38_39 su server sviluppo):\\
\\
-- Accesso A39 remoto con pool di connessioni\\
\\
::SEZ Cod="A39" Txt="Esempio connettore A39"::A38.CLSSEZ Class="_h_Smeup.smeui.loa38.smeupprovider.A39LOA38Connector_n_" Pgm=""::A38.CNFSEZ Name="SIZE" Value="3"::A38.CNFSEZ Name="HTTPS" Value="0"::A38.CNFSEZ Name="SERVICE" Value="127.0.0.1"::A38.CNFSEZ Name="PORT" Value="9090"::A38.CNFSEZ Name="SYSTEM" Value="srvlab01.smeup.com"::A38.CNFSEZ Name="USR" Value="USER"::A38.CNFSEZ Name="PWD" Value="PASSWORD"::A38.CNFSEZ Name="ENV" Value="0010"::A38.CNFSEZ Name="TIMEOUT" Value="300"::SUB Cod="DEC" Txt="Lettura DEC di un oggetto" Timeout="3000"::A38.SUBMET Value="DEC" Txt="Decodifica oggetto"::A38.SUBVAR Name="FUN" Value="" DftVal="DEC" Txt="DEC su A39_MU"::A38.SUBVAR Name="TIPO" Value="" Txt="Tipo oggetto"::A38.SUBVAR Name="PARAMETRO" Value="" Txt="Parametro oggetto"::A38.SUBVAR Name="CODICE" Value="" Txt="Codice oggetto"\\
\\
si noti il parametro __SIZE__ che iodentifica il numero di connessioni create nel pool in fase di inizializzazione e il parametro\\
__TIMEOUT__ che definisce il tempo di attesa (in secondi) di una risposta da parte del web service remoto prima che la\\
richiesta sia considerata fallita e la connessione ritornata al pool.\\
\\
__N.B.:__Si noti anche che la variabile di sezione FUN deve essere inizializzata con un valore di default uguale al nome della funzione A39 che\\
si vuole invocare. Nell'esempio si la sezione DEC è pensata per il richiamo della funzione A39 remota con nome "DEC"\\
\\
__N.B.:__Le variabili successive alla FUN sono le stesse variabili attese dalla funzione A39 remota. In questo esempio la funzione\\
remota DEC esegue la decodifica di un oggetto quindi si attende le varibili TIPO, PARAMETRO e CODICE. Ovviamente funzioni\\
remote diverse hanno un set di parametri diversi, quindi la parte di script successiva al campo FUN ha una struttura che dipende\\
dalla funzione A39 chiamata. Il connettore è in grado di leggere tutte le variabili successive alla FUN e\\
passarle correttamente alla funzione A39 invocata.\\
\\
!!! UP: Connettore per l'upload di file su Smeup Provider remoto\\
\\
Consente di effettuare l'uload di un file su uno Smeup Provider remoto. Il file uloadato può essere salvato sia sul file system\\
dello SmeupProvider (o di un server da esso accessibile) sia nel IFS del sistema iSeries a cui è connesso il provider.\\
\\
Esempio di script (vedi SCP_SET/LOA38_UP su server sviluppo):\\
\\
::SEZ Cod="S00" Txt="Upload di un file su Smeup Provider remoto"::A38.CLSSEZ Class="_h_Smeup.smeui.loa38.smeupprovider.FileUploadLOA38Connector_n_" Pgm=""::A38.CNFSEZ Name="HTTPS" Value="0"::A38.CNFSEZ Name="SERVICE" Value="127.0.0.1"::A38.CNFSEZ Name="PORT" Value="9090"::SUB Cod="B00" Txt="File upload" Timeout="100000"::A38.SUBMET Value="UPLOAD" Txt="Nome che identifica la funzione"::A38.SUBVAR Name="SYSTEM" Value="srvlab01.smeup.com"::A38.SUBVAR Name="USR" Value="USER"::A38.SUBVAR Name="PWD" Value="PASSWORD"::A38.SUBVAR Name="ENV" Value="0010"::A38.SUBVAR Name="FILE" Value="" Txt="Path del file da caricare" DftVal=""::A38.SUBVAR Name="FS_DEST" Value="" Txt="Destinazione su FS" DftVal=""::A38.SUBVAR Name="IFS_DEST" Value="" Txt="Destinazione su IFS" DftVal=""::A38.SUBVAR Name="OVERWRITE" Value="" Txt="Sovrascrivi (0/1) (opt.)" DftVal=""::A38.SUBVAR Name="CRC32" Value="" Txt="CRC file (opt, per controllo)" DftVal=""::A38.SUBVAR Name="FILE_SIZE" Value="" Txt="Dimensione file (opt, per controllo)" DftVal=""::A38.SUBVAR Name="LAST_MODIFIED" Value="" Txt="Last mod. file (opt, per controllo)" DftVal=""::A38.SUBVAR Name="DES_TYPE" Value="" Txt="Tipo destinazione (opt.)" DftVal=""\\
Le variabili vanno valorizzate opportunamente a seconda dell'operazione desiderata\\
\\
* Se si valorizza la variabile FS_DEST, il file uploadato verrà salvato nel file system dello Smeup Provider nella posizione\\
definita dal valore passato\\
* Se si valorizza la variabile IFS_DEST, il file uploadato verrà salvato nel file IFS del sistema iSeries connesso allo Smeup Provider nella posizione\\
definita dal valore passato\\
\\
Ovviamente solo una delle variabili FS_DEST e IFS_DEST deve essere valorizzata, se entrambe son definite verrà considerata la\\
sola variabile FS_DEST.\\
\\
Le variabili con __opt__ nella descrizione sono da considerare opzionali.\\
\\
La funzione di upload di un file risponde con un file XML di conferma spedizione oppure, in caso di errore, con un\\
messaggio di warning.\\
\\
This page has only one version
«