Simplify your Life with Liferay
Ivano Carrara - Note e considerazioni durante la mia attività di Liferay Solutions Architect

domenica 4 novembre 2012

Simplify your life with Liferay: How Liferay Portal assists IBM i to send SMS

Liferay Portal è una potente piattaforma ricca di strumenti di sviluppo, che rendono agevole creare nuove applicazioni in ambiente Enterprise, anche molto complesse e integrate con il Sistema Informativo presente in Azienda.

IBM i è il nome attuale della piattaforma midrange di IBM nata con il nome di AS/400, e quindi passata per le denominazioni di iSeries e System i. E' forse la piu' potente e versatile piattaforma al mondo per le applicazioni "business".

E' in mezzo a questi due sistemi che entra in gioco la Integration Platform for Liferay, un prodotto commerciale in grado di agevolare lo sviluppo, ed in alcuni casi offrire "out-of-the-box", idonei strumenti di integrazione tra la piattaforma IBM i e Liferay Portal.

Un egregio esempio di tale integrazione è fornito dall'allestimento di un servizio di invio automatico di SMS che qualche tempo fa ho progettato per la Associazione Artigiani della Provincia di Brescia 

L'esigenza è quella di inviare SMS ai propri Utenti, per avvisare dell'avvenuto inoltro al Sistema Bancario dei moduli F24, in occasione dell'addebito dei Tributi dovuti allo Stato.

In sostanza, a seguito della produzione sul sistema centrale (IBM i) dell'emissione degli F24 a carico di un certo soggetto (Persona fisica o Società), il Portale deve inviare un SMS sul telefono cellulare della persona responsabile del pagamento, sia essa la stessa persona fisica ovvero il Legale Rappresentante della Società che deve provvedere al pagamento.

Descrizione del Progetto


Due sono i punti di criticità:

1) Il corretto abbinamento tra le "persone fisiche" presenti nel Portale come Utenti, e la Azienda che rappresentano all'interno del Sistema Informativo basato sull'IBM i.

2) La necessità di trasformare in messaggi facilmente comprensibili agli Utenti che ricevono gli SMS, i dati prodotti dall'IBM i che sono:

- il Codice della Ditta
- la Data di scadenza
- l'importo da pagare

Ad esempio, a fronte del seguente dato:

AVIT001 | 2.335,19 | 16.11.2012

Deve essere prodotto il seguente testo SMS:

"Signor VITALE ROSSI, inviamo in banca un F24 di Eur. 2.335,19 con scadenza 16.11.2012"

Nell'immagine seguente uno schema generale dello scenario applicativo:



Elementi impiegati della IPL – Integration Platform for Liferay:


IPL Base: Tramite Data Services forniti da WSO2 Data Services Server provvede ad estrarre i dati anagrafici delle Aziende presenti sull IBM i e a creare o aggiornare i corrispondenti Utenti nel Portale


IPL Comm: Provvede a collegarsi alle IBM Data Queues e a leggere i dati variabili da inserire nel testo degli SMS (Codice della Ditta, Data di scadenza, Importo da pagare) - ad invio avvenuto provvede a restituire all'IBM i l'esito dell'invio del messaggio SMS


IPL Comm: Provvede a trasformare i dati ricevuti dall'IBM i, a scegliere il testo del messaggio più opportuno e ad eseguire il "merge" dei contenuti. Quindi inserisce il messaggio in una Coda di invio SMS, consentendo il monitoraggio del messaggio stesso durante il suo ciclo di vita. Consente anche all'Amministratore del Portale di ripetere l'invio in caso di necessità.





Il modulo IPL Comm della IntegrationPlatform for Liferay fornisce anche completa visibilità sull'esito dell'invio dell'SMS sul telefono dell'Utente finale – il trasporto è assicurato dalla piattaforma Clickatell Bulk SMS Gateway