Sistema integrato dei portali RAS: specifiche di integrazione



Documenti analoghi
PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

ALICE AMMINISTRAZIONE UTENTI WEB

BDCC : Guida rapida all utilizzo

Infostat-UIF. Istruzioni per l accesso e le autorizzazioni

SAP BusinessObjects Versione del documento: Manuale di installazione di Dashboards LiveCycle Data Services Gateway

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Domande Frequenti Autorizzazioni gas serra

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

Guida alla registrazione on-line di un NovaSun Log

Il Sistema Nazionale di Autovalutazione

ANAGRAFE ALUNNI ISTRUZIONI PER LE SCUOLE PARITARIE Linee guida per la trasmissione delle nuove iscrizioni a.s. 2010/11

Denuncia/Comunicazione di infortunio demo Area Dimostrativa

SIEMENS GIGASET S685 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Hub-PA Versione Manuale utente

Gestione Automatizzata di una Lista Nozze

Software Servizi Web UOGA

PROGETTO TESSERA SANITARIA 730 PRECOMPILATO ISTRUZIONI OPERATIVE - MEDICI

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice

Sistema Informativo di Teleraccolta EMITTENTI

Presidenza del Consiglio dei Ministri

PROGETTO FABBISOGNI STANDARD GUIDA DI ACCESSO E COMPILAZIONE DEL QUESTIONARIO.

GUIDA ALL IMMISSIONE MANUALE DEI DATI

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI SCRIVANIA PER GLI UFFICI SUAP

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB

CONTENUTI 1. INTRODUZIONE CONCETTI BASICI SU EQUINOX CMS XPRESS ACCESSO A EQUINOX CMS XPRESS PAGINA D INIZIO...

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

MANUALE OPERATIVO PER L UTILIZZO DEL SISTEMA DI DEPOSITO DEI PROSPETTI DEGLI OICR

Università degli Studi di Messina

CONTENT MANAGEMENT SY STEM

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl

Eleonline gestione dello spoglio elettorale

Manuale per i redattori del sito web OttoInforma

DPCM 31 OTTOBRE 2000 (G. U , SERIE GENERALE, N. 272) REGOLE TECNICHE PER IL PROTOCOLLO INFORMATICO DI CUI AL DECRETO DEL PRESIDENTE DELLA

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

Guida alla registrazione on-line di un DataLogger

Pagina 2 di 14. Indice

Manuale Operativo Beneficiario Sfinge2020

DISCIPLINARE TECNICO Modalità tecniche per la predisposizione e l invio telematico dei dati delle certificazioni di malattia all INPS

Sistema per il monitoraggio della Spesa Sanitaria

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

Cup HiWeb. Integrazione dei servizi del CUP Marche in applicativi di terze parti

Uff. I. - OLIMPIADI DI PROBLEM SOLVING - Informatica e pensiero algoritmico nella scuola dell'obbligo

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Accreditamento Soggetti Formatori in materia di Sicurezza sul Lavoro

Specifiche Tecnico-Funzionali

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05

MANUALE DELLA QUALITÀ Pag. 1 di 6

Direzione Programmazione Sanitaria. Scarico Dati Sanità. Manuale Utente. Versione 1.0.0

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Il sistema di pubblicazione di informazioni didattiche sul sito di Ateneo: guida e regole d uso per i docenti.

SIEMENS GIGASET S450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

GUIDA ALL UTILIZZO DEL PORTALE DELLA RETE DEI COMUNI OGLIO PO

SIAN Sistema Informativo Agricolo nazionale

Working Draft 0.5 (Telefonia)

Sgravi contributivi contrattazione di secondo livello. Art. 1 comma 67 legge 24 dicembre 2007

SIEMENS GIGASET C450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Sistema per il monitoraggio della Spesa Sanitaria

Sistema per il monitoraggio della Spesa Sanitaria

Manuale d uso per la raccolta: Sicurezza degli impianti di utenza a gas - Postcontatore

FtpZone Guida all uso

InfoWeb - Manuale d utilizzo per utente DIPENDENTE

Plugin di integrazione con Wordpress

NOTE LEGALI E PRIVACY

LA PRIVACY POLICY DI WEDDINGART

Alleanza degli ospedali italiani nel mondo

Guida Operativa. ArchiviaOL

Regione Campania Procedura di Registrazione degli Operatori Economici e Messaggi di Notifica.

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Manuale per il Responsabile

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 04

Allegato 1 CAPITOLATO TECNICO

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

PIATTAFORMA DOCUMENTALE CRG

SAP SRM 7 Manuale GARE ON LINE con cfolders FORNITORI INDICE

IS357_03_01 E-GOVERNMENT. Lettera aggiornamento EG egovernment vers

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1

REGOLAMENTO PER LA GESTIONE DELL ALBO PRETORIO ON LINE

TENUTA SOTTO CONTROLLO DEI DOCUMENTI

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Protocollo Informatico (D.p.r. 445/2000)

Programma Client MUT vers Maggio 2014

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE

Presidenza del Consiglio dei Ministri

PRIVACY POLICY DI digitaldictionary.it. Digital Dictionary Servizi s.r.l. Milano via Paleocapa 1, (MI) P.IVA/CF: REA: MI

Procedura di Gestione delle Utenze MANUALE OPERATIVO PER LE AMMINISTRAZIONI

InfoWeb - Manuale d utilizzo

Guida all accesso al portale e ai servizi self service

Versione 1. (marzo 2010)

ISTITUTO G. GASLINI MANUALE D USO PRENOTAZIONI ON LINE DI PRESTAZIONI SPECIALISTICHE

PRIVACY POLICY DEL SITO WEB

Registrazione utente. Manuale Utente

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Attività relative al primo anno

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

ALBO PRETORIO WEB MANUALE DELLA PROCEDURA SOMMARIO. Uso del manuale. Informazioni generali. Interfaccia grafica. Guida di riferimento

Spazio Commerciale. Le tue vendite, il nostro successo. Manuale Operativo. Guida inserimento articoli tramite Area di amministrazione.

Transcript:

Sistema integrato dei portali RAS: specifiche di integrazione Linee guida tecniche per l'integrazione con il presentation layer del CMS RAS Data: File: Allegato 3 - Specifiche di integrazione SIP-RAS.odt Versione: 1.0 Autore: Mauro Pili Revisione: nome cognome (da eliminare se non presente) Approvazione: nome cognome (da eliminare se non presente)

Indice Introduzione...4 1 Linguaggio XML...4 1.1 Encoding UTF-8...5 1.2 Identificatore XML...5 1.3 Componenti dell'xml...5 1.3.1 Prologo...5 1.3.2 Titolo...6 1.3.3 Breve...6 1.3.4 Corpo dati...6 1.3.4.1 Lista voci...7 1.3.4.2 Foto e contenuti multimediali...8 1.3.4.3 Form...10 1.3.4.3.1 Form statiche...10 1.3.4.3.2 Form dinamiche...10 1.3.5 Gestione registrazioni, account e sezioni...11 1.3.5.1 Autenticazione...11 Sistema integrato dei portali RAS: specifiche di integrazione 2 di 12

Autori e Storia delle Modifiche Autori Autori del documento Struttura di appartenenza Parte del documento Note Mauro Pili Sardegna IT ALL Storia delle modifiche Versione Revisione Data Riferimento documento Autore Descrizione modifiche 1.0 5 febbraio 2010 01.01 Mauro Pili Stesura definitiva Sistema integrato dei portali RAS: specifiche di integrazione 3 di 12

Introduzione Questo documento descrive le specifiche tecniche per l'implementazione delle interfacce tra i sistemi esterni al CMS-RAS e lo stesso CMS-RAS. Nell'architettura del CMS-RAS che gestisce il Sistema Integrato dei Portali il compito compito di esporre il codice verso gli user agent (tipicamente i browser web) utilizzati per accedere ai portali RAS è demandato al Presentation Layer. Questa soluzione garantisce: l'omogeneità di presentazione e la manutenzione costante del codice, indispensabile per poter seguire costantemente gli interventi che emergono dalle esigenze di accessibilità, dall'evoluzione degli user agent, dalle tecnologie web in generale soddisfare, senza dover gestire la complessità presente nell'eterogeneo insieme di sottosistemi che forniscono informazioni e servizi al sistema integrato dei portali, le evoluzioni richieste dalla Regione Autonoma della Sardegna per proporre una immagine coordinata, riconoscibile e aggiornata secondo le linee guida istituzionali, devono poter essere sempre messe in atto. Il requisito necessario per utilizzare questa soluzione è che tutte le applicazioni che forniscono le informazioni e i servizi on line agli utenti attraverso il Sistema integrato dei Portali, anche se esterni al CMS- RAS, utilizzino il presentation layer del CMS-RAS, pertanto, è necessario che tali sistemi dispongano di un'interfaccia verso il presentation layer del CMS-RAS per potersi integrare nel S.I.P. e presentare dati e servizi in maniera omogenea. Questo documento descrive le specifiche tecniche per la costruzione di tali interfacce. In questo documento vengono definite le modalità con cui le applicazioni che gestiscono i dati (definite Application Layer) comunicano con il Presentation Layer del CMS-RAS per esporre nel S.I.P. dati e servizi. Le condizioni fondamentali sono: L'application layer e il presentation layer dovranno essere in condizioni di colloquiare tra di loro tramite protocollo http. L'application layer potrà trovarsi anche in una rete che possa essere accessibile al solo presentation layer e non su rete pubblica; tale configurazione aumenta il livello di affidabilità e sicurezza del sistema. 1 Linguaggio XML Il presentation layer del CMS RAS si basa sulla tecnologia XSLT di trasformazione di flussi XML provenienti dai sottosistemi che forniscono informazioni e servizi ai portali, incluso lo stesso CMS. L'XML, grazie alla sua versatilità e all'indipendenza delle piattaforme tecnologiche utilizzate per la sua produzione e gestione, si è in questi anni affermato come la soluzione ottimale per la comunicazione tra sottosistemi web based, e come tale è stato adottato all'interno dell'architettura dei portali web RAS. Sistema integrato dei portali RAS: specifiche di integrazione 4 di 12

Tipicamente un file xml è un file di testo contenente una struttura gerarchica di elementi. Ogni elemento è racchiuso da un tag, e può avere degli attributi e contenere degli elementi di livello inferiore. All'interno del presente documento vengono proposti dei nomi indicativi per i tag principali, proposte alternative al nome indicato non sono errate ma dovranno essere specificatamente concordate per poterne effettuare l'implementazione. Data la natura dell'xml, è possibile che il contenuto dei flussi xml sia "ridondante", ovvero contenga elementi che possano non avere una rappresentazione diretta di tali contenuti all'interno delle pagine esposte, o che possano essere presenti per le modalità con cui l'applicazione di back end espone tali flussi. 1.1 Encoding UTF-8 Come richiesto dalla raccomandazione "Character Model for the World Wide Web 1.0: Fundamentals" 1 del W3C, la codifica utilizzata per i flussi xml dovrebbe sempre essere unicode, più precisamente la codifica da utilizzare dovrebbe essere UTF-8. 1.2 Identificatore XML La prima riga (che non può essere preceduta neanche da una riga bianca o vuota) utile alla definizione dell'xml dovrebbe essere la seguente: <?xml version="1.0" encoding="utf-8"?> in casi di definizioni diverse o di mancata definizione della versione dell'xml, sarà necessario effettuare una verifica del singolo caso. 1.3 Componenti dell'xml A seguito della dichiarazione della linea di identificazione dell'xml, il contenuto dell'xml dovrà essere racchiuso da un tag unico non ripetibile genericamente indicato come root o nodo radice. Il nome proposto per tale tag root è "documento", es: <?xml version="1.0" encoding="utf-8"?> <documento>... </documento> Nel caso di interazioni, ad esempio di risposte alla compilazione di apposite form, il nome del tag root potrebbe essere risposta. All'interno del tag root, possono essere posizionati i blocchi componenti dell''xml, in particolare vengono 1 http://www.w3.org/tr/charmod/ Sistema integrato dei portali RAS: specifiche di integrazione 5 di 12

proposti i blocchi "prologo" e "corpo dati" 1.3.1 Prologo La sezione prologo dell'xml è opzionale e al suo interno possono trovare spazio i parametri di chiamata dell'xml. Poichè l'xml può essere esposto da un sistema dinamico di flusso dati, è opportuno riproporre nell'xml i parametri di chiamata. I nomi suggeriti sono i seguenti: "parametri" per il nodo principale, e all'interno di questo un tag "variabili" con tanti nodi ognuno corrispondente al nome del parametro specifico e con il valore specifico. Sempre opzionalmente, può essere espresso l'url del flusso xml chiamato, e la radice di questo url per consentire la costruzione di indirizzi nella chiamata a flussi di approfondimento attraverso inner-link che verranno esposti nella pagina. Es. nel caso di un flusso xml esposto tramite l'url http://servizi.example.net/?s=128621&v=2&c=3&t=1 il blocco parametri potrebbe quindi essere il seguente: <parametri> <variabili> <s>128621</s> <v>2</v> <c>3</c> <t>1</t> </variabili> <url-radice>http://servizi.example.net</url-radice> <url>http://servizi.example.net/x?s=128621&v=2&c=3&t=1</url> </parametri> 1.3.2 Titolo Il titolo della pagina dovrebbe essere inserito all'interno di un tag titolo ; all'interno di questo elemento possono trovare spazio il testo ed eventuali altri parametri. Es. <titolo> <testo>sicurezza e valorizzazione delle informazioni nell ambito delle P.A.</testo> </titolo> Tale suddivisione dell'elemento titolo rispetto al suo effettivo contenuto, consente di specificare all'interno dell'elemento eventuali altre componenti gerarchiche laddove dovrebbero rendersi necessarie. Sistema integrato dei portali RAS: specifiche di integrazione 6 di 12

1.3.3 Breve All'interno dell'elemento breve può trovare posto la descrizione ridotta del corpo dell'articolo. <breve> <testo>venerdì 13 novembre alle ore 9 alla Fiera Campionaria di Cagliari il convegno organizzato da Sardegna Entrate. </testo> </breve> Tale suddivisione dell'elemento titolo rispetto al suo effettivo contenuto, consente di specificare all'interno dell'elemento eventuali altre componenti gerarchiche laddove dovrebbero rendersi necessarie. 1.3.4 Corpo dati Il corpo dati contiene l'elenco dei dati che dovranno essere esposti nella pagina, con gli eventuali attributi di corredo necessari. Il nome del tag proposto per il nodo principale della sezione dati é "contenuto" In funzione delle tipologie di pagine da esporre nei portali, può variare l'organizzazione dei dati. Le pagine possono essere di diverse tipologie primarie, e su queste possono esserci delle tipologie specifiche. Si individuano le seguenti tipologie primarie: - home page di sezione - lista voci - pagina di dettaglio. Una tipica lista voci può essere la "lista brevi con thumbnail", ovvero una lista di righe composte da: 1. una thumbnail, ovvero una piccola foto 2. titolo 3. una descrizione breve All'intero delle pagine di tipologie primarie, possono trovare spazio elementi utili per il sito, ad esempio form di ricerca. 1.3.4.1 Lista voci Nel caso il contenuto della pagina da esporre contenga una lista di voci, l'xml dovrà contenere una corrispondente lista di elementi Un caso tipico può essere quello di una lista di notizie, composte da un identificativo della notizia, una immagine, titolo e breve. Un esempio dell'xml <notizia> <idnotizia>126787</idnotizia> <titolo> <testo>irap</testo> </titolo> <breve> <testo> Sardegna Entrate registra un bilancio positivo per il 2008: aumenta di 98 milioni la base imponibile. </testo> Sistema integrato dei portali RAS: specifiche di integrazione 7 di 12

</breve> <immagine> <idimmagine>41202</idimmagine> <alt>soldi</alt> </immagine> </notizia> <notizia> <idnotizia>124591</idnotizia> <titolo> <testo>concorso BDIS: modalità di accesso agli atti</testo> </titolo> <breve> <testo> Nominato il responsabile del procedimento per il concorso BDIS</testo> </breve> <immagine> <idimmagine>41202</idimmagine> <alt>soldi</alt> </immagine> </notizia> 1.3.4.2 Foto e contenuti multimediali L'utilizzo di foto all'interno delle pagine del sistema integrato dei portali all'interno della Regione Sardegna è fondamentale ai fini di garantire la massima aderenza di tutta la comunicazione on line alle linee guida di identità visiva e coordinata. In questo contesto, i servizi e le applicazioni non sono più delle componenti isolate, ma vengono realizzate in un ambiente informativo omogeneo e all'interno di questo si sviluppano. Le informazioni e i servizi, qualunque essi siano, adeguandosi al linguaggio comunicativo del web, vengono esposti all'utente corredati di opportuni contenuti multimediali. Tali contenuti multimediali devono essere qualificati, contestualizzati, acquisiti secondo specifici livelli qualitativi, diritti di utilizzo, e corredati di tutte le informazioni di supporto. Lo strumento predisposto all'interno dell'infrastruttura dei portali della Regione Sardegna per soddisfare queste esigenze è la Digital Library. Le immagini devono quindi essere inserite all'interno della Digital Library e dotate del corredo di informazioni attraverso opportuni metadati. Nell'xml esposto dall'application layer verso il presentation layer, di cui l'esempio precedente, le applicazioni possono esporre tali immagini specificando semplicemente l'id del contenuto multimediale memorizzato nella Digital Library, sarà cura del presentation layer gestire la presentazione di tale contenuto. Come ulteriore esempio, di seguito viene proposto un xml contenente una lista di progetti, dove viene espresso inizialmente il numero di voci che compongono tale lista, e all'interno dell'xml viene ripetuto per ogni progetto da visualizzare un nodo contenente i campi che rappresentano il progetto; per la visualizzazione delle liste vengono valorizzati solo quelli da visualizzare in pagina: <?xml version="1.0" encoding="utf-8"?> <contenuto> <elements> <totalelements>7</totalelements> Sistema integrato dei portali RAS: specifiche di integrazione 8 di 12

<totalspage>4</totalspage> <currentpage>1</currentpage> </elements> <projectlist> <project id="71"> <title>titolo progetto uno</title> <organization id=""> <name/> <organizationtype id="">media</organizationtype> <public/> <description/> <country id="">italy</country> <address/> <postalcode/> <city/> <telephone/> <email/> <website/> <otherorganizationtype/> </organization> <priority id="">1. socio-economic development <misure id="">1.1</misure> </priority> <creationdate>2009-02-05 15:55:14</creationDate> <keywordlist/> <otherkeywords/> <mainobjectives/> <description/> <expectedresult/> <partnersalreadyinvolved/> <partnerscontacted/> <partnerssearched/> <publish/> <language id=""/> <approved/> <account id=""> <username/> <name/> <surname/> </account> <lastmodify>2009-02-05 15:58:24</lastModify> </project> <project id="23"> <title>titolo progetto due</title> <organization id=""> <name/> <organizationtype id="">regional autority</organizationtype> <public/><description/> <country id="">cyprus</country> <address/> <postalcode/> <city/> <telephone/> <email/> <website/> <otherorganizationtype/> </organization> <priority id="">2. environmental sustainability<misure id="">1.3</misure></priority> <creationdate>2009-01-10 11:31:08</creationDate> <keywordlist/> Sistema integrato dei portali RAS: specifiche di integrazione 9 di 12

<otherkeywords/> <mainobjectives/> <description/> <expectedresult/> <partnersalreadyinvolved/> <partnerscontacted/> <partnerssearched/> <publish/> <language id=""/> <approved/> <account id=""> <username/> <name/> <surname/> </account> <lastmodify>2009-01-05 08:38:57</lastModify> </project> </projectlist> </contenuto> Nel caso in cui nessun progetto possa essere visualizzato per i criteri di ricerca passati, l'xml generato sarà come il seguente: <contenuto> <elements> <totalelements>0</totalelements> <totalspage>0</totalspage> <currentpage>1</currentpage> </elements> <projectlist/> </contenuto> Tale lista può essere il risultato di un indirizzo specifico, ad esempio la lista delle voci iniziali previste in una pagina specifica dell'albero di navigazione del portale, o può essere il risultato di una ricerca effettuata tramite una form. Nel secondo caso, andrà predisposta una apposita form con i campi che verranno passati tramite POST dal presentation layer all'application layer, che fornirà all'application layer i risultati della ricerca tramite apposito xml. 1.3.4.3 Form All'interno delle sezioni da esporre tramite il presentation layer, è possibile che debbano rendersi necessarie delle form per la compilazione di dati da parte dell'utente. La specifica dei campi, e delle loro caratteristiche, può avvenire in due modalità: statica o dinamica. Questa doppia modalità si rende opportuna in quanto in alcuni casi le form previste potrebbero essere preimpostate e non modificabili: in questi non è necessario che l'application layer produca un xml con le specifiche dei campi. In altri casi, i campi all'interno della form potrebbero essere effettivamente dinamici, ovvero è l'application layer che può stabilire, sulla base dei dati dell'utente e dello stato al momento della visualizzazione della form, quali campi sia necessario visualizzare. 1.3.4.3.1 Form statiche La modalità statica prevede che la specifica di tali campi sia demandata al presentation layer, secondo dei Sistema integrato dei portali RAS: specifiche di integrazione 10 di 12

nomi di campi che devono essere concordati a priori dell'implementazione tra presentation layer e application layer. In tal caso l'application layer non fornisce l'elenco dei campi, ma vengono cablati direttamente nel presentation layer. 1.3.4.3.2 Form dinamiche Nel caso di modalità dinamica è l'application layer che può specificare l'elenco dei campi e le loro caratteristiche verso il presentation layer. Il formato dell'xml per la descrizione delle form si basa sulla sintassi XForms del W3C 1. Attraverso tali specifiche è possibile descrivere le caratteristiche della form, i campi (definiti Controlli) che la compongono, la loro tipologia e il modo di operare. Attraverso il nodo submission è possibile specificare l'url che dovrà essere chiamato dal presentation layer in modo che l'applicazione prenda in carico i parametri della form: <submission action="http://example.com/submit" method="post" id="submit" /> 1.3.4.3.3 Validazione Per la validazione dei campi, è possibile effettuare controlli client side, tipicamente delle funzioni javascript collegate ai campi delle form. L'application layer deve comunque effettuare tutti i controlli di congruità dei campi, in quanto la funzionalità javascript potrebbe non essere disponibile all'utente per sua scelta o per le caratteristiche tecnologiche del modo con cui l'utente accede ai portali. In pratica, tutti i controlli presenti lato client ed effettuati dal browser dovranno essere ripetuti lato server. 1.3.5 Gestione registrazioni, account e sezioni L'application layer può esporre informazioni generiche che possono essere consultate dagli utenti anonimi, o può avere la necessità di effettuare operazioni di registrazione, login e esposizione e gestione di informazioni per utenti specifici. Tale meccanismo richiede che l'application layer sia in condizioni mantenere al suo interno le informazioni relative alla sessione dell'utente, e di interloquire con il presentation layer attraverso un identificativo di sessione che consenta di associare la sessione specifica con le informazioni trasmesse. Tipicamente, l'application layer genererà un token univoco, il cui valore andrà memorizzato in un campo il cui nome proposto è tokenid ; tale tokenid deve essere gestito con degli accorgimenti che evitino che un'attore esterno possa effettuare illegittimamente chiamate all'application layer acquisendo informazioni specifiche di un utente, o modificando le stesse; ad esempio: il tokenid dovrebbe essere generato come stringa casuale sufficientemente lunga; il tokenid dovrebbe avere una data di scadenza attraverso un intervallo di tempo predefinito rispetto all'ultima connessione o utilizzo dello stesso. 1 XForms 1.1 W3C Recommendation http://www.w3.org/tr/xforms/ Sistema integrato dei portali RAS: specifiche di integrazione 11 di 12

Di seguito un esempio di processo di interlocuzione tra application layer e presentation layer. 1.3.5.1 Autenticazione Per effettuare la chiamata attraverso una form di login, esposta dal presentation layer, può essere utilizzato parametro control come discriminante. Nel caso in cui l'utente non sia stato autenticato l'xml restituito potrebbe essere il seguente <?xml version="1.0" encoding="utf-8"?> <risposta> <result>ko</result> <error>error_authentication</error> <messaggio>la password è sbagliata o la username inserita non è esistente</messaggio> </risposta> Nel caso in cui l'utente venga correttamente autenticato, il sistema genera un tokenid che viene restituito nell'xml di risposta ed eventuali ulteriori informazioni per consentire di presentare all'utente i servizi corrispondenti all'autenticazione. Potrebbe ad esempio restituire una lista di servizi con i parametri necessari per presentare tali servizi: <?xml version="1.0" encoding="utf-8"?> <risposta> <result>ok</result> <tokenid>2d982592080cf63747aa05bede189e2d</tokenid> <servicelist> <service id= 1 >help desk <role id= 1 >Amministratore finanziario</role> </service> <service id= 2 >project ideas <role id= 0 /> </service> <service id="3"> <name>cambio password</name> </service> </servicelist> </risposta> Come ulteriore esempio, in caso di prima autenticazione o di password scaduta viene reso un errore che indica l'impossibilità dell'utente di compiere qualsiasi azione a parte il cambio password <risposta> <tokenid>945f3e833b62ac159a0493d9ad61a3c4</tokenid> <error>error_password_expired</error> <servicelist> <service id="3"> <name>cambio password</name> <role id="2">cambio password</role> </service> </servicelist> </risposta> Analogamente, la procedura di logout potrà corrispondere ad un apposito servizio, al quale viene passato il tokenid che verrà cancellato o semplicemente reso inattivo tale token per le sessioni successive. Sistema integrato dei portali RAS: specifiche di integrazione 12 di 12