Autostrade eProcurement

Portale Bandi e Gare ASPI — Integrazione Liferay ↔ Jaggaer

Autostrade per l’Italia gestisce le proprie procedure di gara sulla piattaforma di e-procurement Jaggaer (versione eProcurement). Il pubblico — imprese fornitrici, operatori economici, stampa — consulta invece bandi, avvisi ed esiti sul portale istituzionale ASPI.

Il modulo aspi-procurement collega i due sistemi: pubblica sul sito istituzionale, in modo automatico e in tempi prossimi al real-time, le informazioni di gara che risiedono nel gestionale interno. L’obiettivo è eliminare il data entry manuale tra i due ambienti, tenere il portale allineato al gestionale e rispettare le classificazioni previste dal D.Lgs. 36/2023 e dal D.Lgs. 50/2016. Gli allegati di gara vengono archiviati su cloud storage aziendale. La sincronizzazione è incrementale e sopravvive ai riavvii del sistema, con controllo operativo dalla console di amministrazione.

Come funziona

Il modulo è strutturato come set di bundle OSGi su Liferay DXP, secondo il pattern API / Service / Web.

Sincronizzazione automatica da Jaggaer. Un job schedulato (cron configurabile, default ogni 5 minuti) interroga le API REST di Jaggaer eProcurement con autenticazione OAuth2 client-credentials. Il token JWT viene memorizzato e riutilizzato fino a scadenza, riducendo il traffico di autenticazione. A ogni esecuzione il job esegue quattro fasi:

    1. Bandi (Progetti) — scarica i bandi nuovi o modificati, li filtra per tipologia e area di procurement, archivia gli allegati documentali su bucket AWS S3.
    1. Procedure (RFX) — sincronizza le procedure di gara collegate ai bandi, includendo CIG, importi, strategia di aggiudicazione e riferimento al buyer responsabile.
    1. Aggiudicazioni (Contratti) — aggiorna le procedure chiuse con vincitore, importo finale e data di aggiudicazione. Gestisce anche gli affidamenti diretti privi di RFX formale.
    1. Pulizia — rimuove localmente le procedure marcate come cancellate lato Jaggaer.

Il meccanismo è delta-based: per ogni web service invocato viene persistito il timestamp dell’ultima chiamata andata a buon fine, usato come filtro alla successiva. Il sistema non perde aggiornamenti quando il server viene riavviato o quando si verificano interruzioni temporanee. Un flag di configurazione consente di forzare un import completo al primo avvio o in caso di resync manuale, operabile da script Groovy sulla console Liferay senza interventi su codice o database.

Portlet di frontend. Il portlet di visualizzazione alimenta le viste del portale — procedure in corso, avvisi, gare scadute, procedure aggiudicate — con filtri interattivi su CIG, oggetto della gara, tipologia di procedura, società e range temporale. Le query sono costruite in SQL nativo con CTE, per gestire in modo performante la deduplicazione delle procedure e mappare correttamente le classificazioni normative previste dal nuovo e dal vecchio codice dei contratti pubblici.

Stack tecnologico

Liferay DXP 7.3 · OSGi Declarative Services · Service Builder · Java · OkHttp3 · AWS S3 SDK · Spring NamedParameterJdbcTemplate · Liferay Scheduler Engine · PostgreSQL · OAuth2 / JWT · API REST Jaggaer eProcurement.

Informazioni
Category:

Mapo Studio

Data:

Febbraio 18, 2026

Tags:

Liferay, MySQL