Giter VIP home page Giter VIP logo

npa's Introduction

AVVISO:

Come da roadmap, si ricorda a tutti i soggetti che sono stati autorizzati all’accesso temporaneo agli eService della Piattaforma Contratti Pubblici, che a partire dal 9 ottobre 2023, per poter accedere agli eService attualmente disponibili che implementano il contesto di sicurezza, dovranno effettuare l’onboarding su PDND attraverso la richiesta di iscrizione tra le piattaforme certificate come indicato nelle regole tecniche emanate da AgID

Descrizione

Il repository contiene la documentazione tecnica dei servizi di cooperazione applicativa che le stazioni appaltanti possono utilizzare per integrarsi con la Nuova Piattaforma Appalti (NPA) e con il Fascicolo Virtuale dell'Operatore Economico (FVOE) messi a disposizione dall'Autorità Nazionale Anticorruzione (ANAC), per governare l'ecosistema nazionale di approvvigionamento digitale per la gestione degli appalti pubblici.

Documentazione

Specifiche delle interfacce

  • Il file YAML relativo alle specifiche dei servizi esposti dalla NPA per la gestione del Ciclo di vita dell'Appalto
  • Il file YAML relativo alle specifiche dei servizi esposti dalla NPA per la gestione del Fascicolo Virtuale dell'Operatore Economico e del Fascicolo Virtuale dell'Appalto
  • Il documento di sintesi di Specifica delle Interfacce redatto utilizzando il linguaggio di markup Markdown

JWS

  • Il documento riporta la struttura del token JWS che deve essere generato dal fruitore per l'interazione con gli eService esposti da ANAC. Qui è consultabile roadmap con la previsione dell'attivazione delle restrizioni all'accesso in seguito all'adozione del JWS.

Modello dati

Il modello dati di NPA rappresenta l'insieme di informazioni oggetto del monitoraggio dell'appalto. I dati che riguardano l'appalto sono organizzati in oggetti autoconsistenti denominati "Schede". Ogni evento significativo ai fini del monitoraggio di un appalto o ogni richiesta di azione (ad es la pubblicazione di un avviso) vengono notificati alla NPA tramite l'invio di una opportuna scheda. La superclasse dalla quale derivano tutte le schede è riportata di seguito:

AvvisoRequest{
  idAvviso* [...],
  idAppalto* [...],
    scheda SchedaGroupType{
      oneOf ->	
        SchedaPianificazioneType{
          _idScheda {...},
          codice* {...},
          versione* [...],
          _stato {...},
          _dataCreazione {...},
          body	{
            oneOf ->	
              SchedaPIN_1Type {...}
              SchedaPIN_2Type {...}
              ...
            }
        }
        SchedaComunicaAppaltoType{
          _idScheda {...},
          codice* {...},
          versione* [...],
          _stato {...},
          _dataCreazione {...},
          body	{
            oneOf ->	
              SchedaP1_10Type {...}
              SchedaP1_11Type {...}
              SchedaP1_12Type {...}
              SchedaP1_13Type {...}
              ...
          }
       }
       SchedaPostPubblicazioneType{
         _idScheda {...},
         codice* {...},
         versione* [...],
         _stato {...},
         _dataCreazione {...},
         body	{
           oneOf ->	
              SchedaA1_29Type {...}
              SchedaA1_30Type {...}
              ...
         }
      }
   }
 }

Durante l'esercizio della piattaforma NPA il processo di aggiornamento del modello dati sarà continuo, gli aggiornamenti verranno riportati nel presente repository e la loro efficacia è regolata secondo le specifiche del paragrafo Termini del servizio. Le piattaforme interoperabili con NPA sono tenute all'aggiornamento del payload inviato entro i tempi previsti.

La cartella modello-dati contenente la definizione dinamica del modello dati referenziato nelle specifiche dei servizi esposti dalla NPA. Esempio:

StatoAppaltoEnum:
  $ref: 'https://raw.githubusercontent.com/anticorruzione/npa/main/docs/modello-dati/modello-dati-npa.yaml#/components/schemas/StatoAppaltoEnum'

Gestione del processo

La gestione del processo di appalto è demandata al componente NPA di orchestrazione che, tramite il suo motore di regole, ha il compito di gestire il flusso di informazioni (schede) che caratterizzano il singolo appalto. Il modulo di ochestrazione è un componente di backend che non espone servizi in interoporabilità ma ha il compito di:

  • effettuare la validazione sintattica e semantica dei dati di input
  • verificare se la scheda dati passata in input è coerente con lo stato dell’Appalto.
  • attivare uno o più servizi di backend per soddisfare le richieste avanzate dal fruitore (ad es. pubblicazione di un avviso, richiesta di documenti ad altri Enti)
  • In caso non siano rilevate anomalie, far avanzare il processo allo stato successivo.

Lo schema delle regole di orchestrazione è consultabile nella cartella orchestratore. Le piattaforme fruitrici dei servizi di NPA sono tenute ad adeguare la sequenza di invio delle informazioni al flusso descritto.

Le regole di validazione sintattica (tipo e obbligatorietà del campo) sono definite nelle specifiche dei servizi dettagliate al paragrafo Specifiche delle interfacce. La validazione sintattico/semantica è completata tramite regole espresse con annotazione DMN, definite nella cartella regole, leggibili attraverso un qualunque interprete DMN come ad esempio demo.bpmn.io

Al pari del modello dati le regole che gestiscono il flusso delle informazioni sono soggette a variazioni continue in adeguamento alla normativa di settore, gli aggiornamenti verranno riportati nel presente repository e la loro efficacia è regolata secondo le specifiche del paragrafo Termini del servizio. Le piattaforme interoperabili con NPA sono tenute all'aggiornamento del flusso di lavoro entro i tempi previsti.

Modello statico e dinamico

I diagrammmi di contesto, di sequenza e di transizione di stato per l'intero Ciclo di Vita dell'Appalto sono consultabili nella cartella diagrammi-drawio e, sono stati disegnati mediante l'utilizzo di Draw.io. Gli stessi sono anche disponibili in formato immagine nella nella cartella immagini.

Termini del servizio

Le specifiche di interoperabilità per NPA sono presenti esclusivamente su questo repository. L'aggiornamento della documentazione può avvenire in qualsiasi momento e non verrà pubblicizzata in altro modo, gli utenti fruitori sono tenuti a consultare periodicamente il repository per ottenere le nuove specifiche.

Tempi di adozione delle nuove specifiche

Nella tabella seguente sono disciplinati i tempi massimi e minimi per l'adozione da parte di NPA delle nuove specifiche e la conseguente eventuale deprecazione delle precedenti. In casi specifici, di particolare urgenza o in adempimento a normative di settore, ANAC può indicare tempi più ristretti ripetto a quelli standard.

  • Nuovi servizi o operazioni: non prima di 90 giorni dal rilascio della specifica;
  • Aggiornamento di servizi esistenti con deprecazione e mantenimento della versione precedente: non prima di 90 giorni dal rilascio della specifica;
  • Mantenimento della versione deprecata di un servizio: non meno di 180 giorni dal rilascio della specifica della nuova versione;
  • Aggiornamento di servizi esistenti con radiazione della versione precedente: non prima di 180 giorni dal rilascio della specifica;
  • Aggiornamento modello dati: non meno di 30 giorni e non più di 90 giorni dal rilascio della specifica
  • Aggiornamento del flusso di monitoraggio*: non meno di 30 giorni e non più di 90 giorni dal rilascio della specifica

NB: l'aggiornamento del flusso di monitoraggio può includere l'aggiornamento o l'estensione del modello dati anche mediante l'introduzione di nuove schede.

Standard adottati

  • eForms sdk versione 1.9.0;
  • ESPD versione 2.1.1;

NB: nel momento in cui il sistema sarà in esercizio, l'upgrade delle versioni utilizzate sarà pubblicato con almeno 90 giorni di anticipo.

Domande, chiarimenti e ulteriori infomazioni

Il canale di comunicazione con ANAC è rappresentato dall'apposita sezione Issues nella quale sarà possibile inserire una richiesta.

Scenari di esempio

La cartella scenari-di-esempio contiene una sequenza di operazioni da eseguire per ottenere l'aggiudicazione di un appalto

Disclaimer

L’Autorità Nazionale Anticorruzione si riserva la facoltà di non fornire risposta puntuale a tutte le issues ricevute ed è sollevata da eventuali responsabilità dovuta:

  • alla mancanza di risposta per richieste pervenute al di fuori dell'unico canale di comunicazione con ANAC rappresentato dalla sezione Issues
  • alla possibile mancanza di risposta per tutte le richieste pervenute nell'apposita sezione Issues o che potrebbero essere di competenza di organizzazioni esterne.

Roadmap del progetto

Le scadenze principali del progetto (milestones) sono consultabili nella Roadmap. Fermo restando le scadenze principali la roadmap può essere aggiornata in qualunque momento

npa's People

Contributors

supportoanac avatar domaltomare avatar mpizziconi avatar mfortini avatar pakozack avatar pb14702 avatar federicasicchiero avatar anac-uscp avatar

npa's Issues

https://github.com/vintra73/npa/blob/main/docs/specifiche-interfacce/documento-specifiche-servizi-npa.md: FVA completezza info

In merito a quanto indicato in https://github.com/vintra73/npa/blob/f990d80d949cd4a49ab91d702e9057fab4a8190c/docs/specifiche-interfacce/documento-specifiche-servizi-npa.md?plain=1#LL47C1-L47C196 andrebbe chiarito se le informazioni registrate sono esaustive per il change della Piattaforma di approvigionamento durante l'implementazione di una specifica procedura di procurement.

https://github.com/vintra73/npa/blob/main/docs/specifiche-interfacce/documento-specifiche-servizi-npa.md: chiarimenti su ModI

In

La nuova architettura prevede la dematerializzazione dei flussi attraverso l’adozione degli standard e delle regole tecniche di interoperabilità tra le piattaforme, come ad esempio ModI, eForms, ESPD Request (European Single Procurement Document) per la parte di definizione ed avvio della procedura e, a seguire, ESPD Response per la componente di negoziazione.
ModI è indicato come "Piattaforma", si precisa che ModI non è una piattaforma tecnologica ma un'insieme di regole per dare seguito all'interoperabilità machine-to-machine tra sistemi informatici.

In ModI è altresi individuata la PDND Interoperabilità quale authorization authorization & authentication server per abilitare le interazioni machine-to-machine basata su API tra PA e tra queste e Imprese/Cittadini.

https://github.com/vintra73/npa/blob/main/README.md: Condivisione dei tempi per l'aggiornamento delle specifiche

In merito ai tempi di aggiornamento delle specifiche indicato nel documento https://github.com/vintra73/npa/blob/main/README.md al paragrafo https://github.com/vintra73/npa/blob/f990d80d949cd4a49ab91d702e9057fab4a8190c/README.md?plain=1#LL63C1-L70C120, consideranto l'impatto che le stesse hanno per le Piattaforme di approvigionamento sarebbe opportuno la condivisione con tutti gli stakeholder.

https://github.com/vintra73/npa/blob/main/README.md: Utilizzare OpenAPI al posto di YAML

è opportuno indicare OpenAPI e non YAML in quanto:

  • OpenAPI è lo standard utilizzato e referenziato nel ModI per la descrizione degli e-service in tecnologia REST
  • YAML è una delle due rappresentazione ammesse per lo standard OpenAPI

nel documento https://github.com/vintra73/npa/blob/main/README.md tale necessità si evidenzia in:

  • - Il [file YAML](/docs/specifiche-interfacce/specifiche-servizi-appalto.yaml) relativo alle specifiche dei servizi esposti dalla NPA per la gestione del Ciclo di vita dell'Appalto
  • - Il [file YAML](/docs/specifiche-interfacce/specifiche-servizi-fvoe-fva.yaml) relativo alle specifiche dei servizi esposti dalla NPA per la gestione del Fascicolo Virtuale dell'Operatore Economico e del Fascicolo Virtuale dell'Appalto

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.