e.Toscana Compliance 
Request for Comments: (NUMERO DA STABILIRE) 
Del: 27/03/2009 
Categoria: Applicativa
Destinatari: Regione Toscana, Enti

Monitoraggio Gateway di protocollo
 
Indice
------
1. Contesto di riferimento	
2. Obiettivi	
3. Lo strumento per integrare i sistemi informativi	
4. Interazioni previste tra Regione ed Enti
4.1. CU1: Regione Toscana e gli altri Enti notificano i dati a Regione Toscana
5. Prodotti attesi
5.1 Codifica lettura campo : stato

1. Contesto di riferimento
--------------------------
Regione Toscana deve riuscire a monitorare le comunicazioni che avvengono nel protocollo interoperabile. 
E' dunque necessario realizzare un servizio che notifichi gli aggiornamenti dello stato delle comunicazioni che avvengono su protocollo.

2. Obiettivi
------------
Obiettivo di questa RFC  quello di definire un formato con cui vengono notificati gli stati delle comunicazioni che avvengono su protocollo.
Nel contesto sopra indicato l'uso dell'infrastruttura di cooperazione applicativa consente agli Enti di inviare a Regione Toscana le proprie informazioni sul monitoraggio del loro sistema di Protocollo Informatico Interoperabile;

3. Lo strumento per integrare i sistemi informativi
---------------------------------------------------
Regione Toscana ha realizzato l'infrastruttura CART (Cooperazione Applicativa Regionale Toscana) utilizzabile al fine di integrare il database del monitoraggio del Protocollo Informatico Interoperabile di Regione Toscana. 
L'obiettivo dell'infrastruttura  la creazione di una comunit di Soggetti che espongono un proprio agent che pubblica le informazioni del proprio monitoraggio che Regione Toscana dovr integrare.

4. Interazioni previste tra Regione e Enti
------------------------------------------
Da una breve analisi risulta che l'unici attore che deve cooperare sono Regione Toscana e gli Enti dotati di Protocollo Informatico Interoperabile. 
* Regione Toscana: Soggetto che pubblica e riceve le informazioni relative al proprio monitoraggio di Protocollo Informatico Interoperabile.
* Ente: Soggetto che pubblica le informazioni relative al proprio monitoraggio di Protocollo Informatico Interoperabile.

Da questa breve analisi si individua un solo caso d'uso: 
* Regione Toscana e Enti notificano gli stati delle comunicazioni del proprio Protocollo Informatico Interoperabile.

4.1. CU1: Regione Toscana e gli altri Enti notificano i dati a Regione Toscana
------------------------------------------------
Il sistema informativo della Regione Toscana e degli altri Enti notificano le proprie informazioni relative agli stati delle comunicazioni del proprio Protocollo Informatico Interoperabile.
1.Invio del messaggio
2.Lettura del messaggio


4.1.1. Formato messaggio NotificaAOO
------------------------------------
La notifica delle informazioni da parte della Regione e degli altri Enti avviene tramite messaggi XML conformi al seguente XML-Schema:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="monitoraggioGatewayPEC">
    <xs:complexType>
      <xs:sequence>
      	<xs:element ref="protocollo" minOccurs="1" maxOccurs="1"/>
      	<xs:element ref="protocollo" minOccurs="0" maxOccurs="1"/>
      	<xs:element ref="mittente" minOccurs="1" maxOccurs="1"/>
      	<xs:element ref="destinatario" minOccurs="1" maxOccurs="1"/>
      	<xs:element ref="dataElaborazione" minOccurs="1" maxOccurs="1"/>
      	<xs:element ref="modalita" minOccurs="1" maxOccurs="1"/>
      	<xs:element ref="stato" minOccurs="1" maxOccurs="1"/>
      	<xs:element ref="errore" minOccurs="0" maxOccurs="1"/>
      	<xs:element ref="riferimento" minOccurs="0" maxOccurs="1"/>
      	<xs:element ref="componente" minOccurs="1" maxOccurs="1"/>
	   	<xs:element ref="componente_destinatario" minOccurs="0" maxOccurs="1"/>
	   	<xs:element ref="nal" minOccurs="0" maxOccurs="1"/>
	   	<xs:element ref="note" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>

<xs:element name="protocollo" type="xs:string">
	<xs:annotation>
  	<xs:documentation>
  		numero di protocollo del messaggio
  	</xs:documentation>
	</xs:annotation>
</xs:element>

<xs:element name="protocollo_destinatario" type="xs:string">
	<xs:annotation>
  	<xs:documentation>
  		numero di protocollo del destinario del messaggio
  	</xs:documentation>
	</xs:annotation>
</xs:element>

<xs:element name="mittente">
	<xs:annotation>
  	<xs:documentation>
  		riferimenti del mittente
  	</xs:documentation>
	</xs:annotation>
	<xs:complexType>
		<xs:sequence>
		    <xs:element name="AOO" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
		    <xs:element name="mail" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
		    <xs:element name="ade" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="destinatario">
	<xs:annotation>
  	<xs:documentation>
  		riferimenti del destinatario
  	</xs:documentation>
	</xs:annotation>
	<xs:complexType>
		<xs:sequence>
		    <xs:element name="AOO" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
		    <xs:element name="mail" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
		    <xs:element name="ade" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:element name="dataElaborazione" type="xs:dateTime">
	<xs:annotation>
  	<xs:documentation>
  		data di elaborazione del messaggio nel formato (yyyy-mm-ddThh:mm:ss)
  	</xs:documentation>
	</xs:annotation>
</xs:element>

<xs:element name="modalita">
	<xs:annotation>
  	<xs:documentation>
  		azione che il componente effettua sul messaggio
  	</xs:documentation>
	</xs:annotation>
	<xs:simpleType>
		<xs:restriction base="xs:string">
    		<xs:enumeration value="invio"/>
    		<xs:enumeration value="lettura"/>
  		</xs:restriction>
	</xs:simpleType>
</xs:element>

<xs:element name="stato">
	<xs:annotation>
  	<xs:documentation>
  		stato del messaggio
  	</xs:documentation>
	</xs:annotation>
	<xs:simpleType>
		<xs:restriction base="xs:string">
    		<xs:enumeration value="0"/>
    		<xs:enumeration value="1.1"/>
    		<xs:enumeration value="2.1"/>
    		<xs:enumeration value="9999.1"/>
  		</xs:restriction>
	</xs:simpleType>
</xs:element>

<xs:element name="errore" type="xs:string">
	<xs:annotation>
  	<xs:documentation>
  		descrizione estesa dell'errore di elaborazione del messaggio
  	</xs:documentation>
	</xs:annotation>
</xs:element>

<xs:element name="riferimento" type="xs:string">
	<xs:annotation>
  	<xs:documentation>
  		riferimento univoco del messaggio su file system
  	</xs:documentation>
	</xs:annotation>
</xs:element>

<xs:element name="componente">
	<xs:annotation>
  	<xs:documentation>
  		definizione del componente di elaborazione
  	</xs:documentation>
	</xs:annotation>
	<xs:simpleType>
 		<xs:restriction base="xs:string">
     			<xs:enumeration value="gateway PEC"/>
     			<xs:enumeration value="webcitt"/>
     			<xs:enumeration value="proxy"/>
   		</xs:restriction>
 	</xs:simpleType>
</xs:element>

<xs:element name="componente_destinatario">
 	<xs:annotation>
   	<xs:documentation>
   		In caso di invio identifica il componente di destinazione
   	</xs:documentation>
 	</xs:annotation>
 	<xs:simpleType>
 		<xs:restriction base="xs:string">
     		<xs:enumeration value="gateway PEC"/>
     		<xs:enumeration value="webcitt"/>
     		<xs:enumeration value="proxy"/>
     		<xs:enumeration value="cart"/>
     		<xs:enumeration value="sil"/>
   		</xs:restriction>
 	</xs:simpleType>
</xs:element>

<xs:element name="nal" type="xs:string">
 <xs:annotation>
   	<xs:documentation>
   		Nel caso il componente o il componente_destinatario sia un proxy identifica il nal su cui si trova il proxy
   	</xs:documentation>
 </xs:annotation>
</xs:element>

<xs:element name="note" type="xs:string">
<xs:annotation>
  	<xs:documentation>
  		annotazione generica
  	</xs:documentation>
</xs:annotation>
</xs:element>


</xs:schema>
		
5.1 Codifica lettura campo : stato
------------------------------------
CODICE ERRORE | DESCRIZIONE
0		trasmesso
1.1		autenticazione fallita
2.1		non conforme standard protocollo
9999.1		errore generico
