Differenze tra le versioni di "Server OpenPass"

Da Libro Bianco OpenPass.
[versione bozza][versione bozza]
Riga 170: Riga 170:
 
| ConstantValue || numerico || ConstantValue
 
| ConstantValue || numerico || ConstantValue
 
|}
 
|}
 
+
=== REGISTERTICKET ===
 
+
Consente di registrare un set di valori di tokens costanti per una certa categoria di biglietti al fine di poterla identificare con rapidità nelle elaborazioni dati. (Es. Stagionale adulti, Stagionale ridotto). Ritorna un codice identificativo univoco per il biglietto che è identico al valore passato per il token “TicketID” obbligatorio. La chiamata può essere effettuata tutte le volte che si vuole; a parità di valori il sistema ritornerà sempre lo stesso codice. La chiamata consente una registrazione diversa per ogni Stazione, ma il codice numerico ritornato sarà a parità di set di valori lo stesso su più stazioni. Due biglietti uguali non possono né devono avere codici identificativi differenti.
 
+
==== Parametri input ====
 
+
{| class="wikitable"
 
+
! Parametro !! Tipo !! Obbligatorio !! Descrizione
 
+
|-
 
+
| Description || testo || si || Descrizione del ticket
 
+
|-
 +
| CustomerAge || numerico || si || Classe di età del destinatario del biglietto (1=”Bambini <=11”, 2=”Ragazzi 12-17”, 3=”Adulti 18-64”, 4=”Senior >= 65”)
 +
|-
 +
| CustomerType || numerico || no || Tipologia del destinatario del biglietto (1=”Non Residenti”, 2=”Residenti”)
 +
|-
 +
| Values || oggetto || si || oggetto contenente i TokenValue
 +
|}
 +
===== Oggetto Values =====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Obbligatorio !! Descrizione
 +
|-
 +
| TokenValue || oggetto || si || Oggetto che contiene i dati dei token
 +
|}
 +
===== Oggetto TokenValue =====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Obbligatorio !! Descrizione
 +
|-
 +
| Name || testo || si || Nome del token. (Il Token “Root.TicketID” è obbligatorio)
 +
|-
 +
| Value || testo || si || Valore del token. (Il valore del Token “Root.TicketID” è obbligatorio)
 +
|}
 +
==== Parametri output ====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Descrizione
 +
|-
 +
| TicketIdentifier || numerico || Codice numerico univoco di identificazione del biglietto. Il codice restituito sarà quello che viene passato con il Token “Root. TicketID”
 +
|}
 +
=== ENUMERATETICKETS ===
 +
Ottieni l’elenco esaustivo dei codici identificativi dei biglietti noti al server per la stazione specificata.
 +
==== Parametri input ====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Obbligatorio !! Descrizione
 +
|-
 +
| Company || numerico || si || Codice numerico univico di identificazione della stazione
 +
|}
 +
==== Parametri output ====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Descrizione
 +
|-
 +
| TicketIdentifiers || oggetto || Lista dei codici identificativi dei ticket noti al server
 +
|}
 +
===== Oggetto TicketIdentifiers =====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Descrizione
 +
|-
 +
| Int || numerico || Codice numerico univoco di identificazione dei ticket noti al server
 +
|}
 +
=== GETTICKET ===
 +
Dato un codice identificativo di biglietto, ottiene la definizione dello stesso
 +
==== Parametri input ====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Obbligatorio !! Descrizione
 +
|-
 +
| Company || numerico || si || Codice numerico univoco di identificazione della stazione
 +
|-
 +
| TicketIdentifier || numerico || si || Codice numerico univoco di identificazione del biglietto
 +
|}
 +
==== Parametri output ====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Descrizione
 +
|-
 +
| Identifier || numerico || Codice numerico univoco di identificazione del biglietto
 +
|-
 +
| Description || testo || Descrizione del biglietto
 +
|-
 +
| CustomerAge || numerico || Classe di età del destinatario del biglietto (1=”Bambini <=11”, 2=”Ragazzi 12-17”, 3=”Adulti 18-64”, 4=”Senior >= 65”)
 +
|-
 +
| CustomerType || numerico || Tipologia del destinatario del biglietto (1=”Non Residenti”, 2=”Residenti”)
 +
|-
 +
| LastTouch || data || Data e ora di creazione
 +
|-
 +
| Values || oggetto || Oggetto contenente i TokenValue
 +
|}
 +
===== Oggetto Values =====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Descrizione
 +
|-
 +
| TokenValue || oggetto || Oggetto che contiene i dati dei token
 +
|}
 +
===== Oggetto TokenValue =====
 +
{| class="wikitable"
 +
! Parametro !! Tipo !! Descrizione !!
 +
|-
 +
| Name || testo || Nome del token
 +
|-
 +
| Value || testo || Valore del token
 +
|}
  
  

Versione delle 09:58, 25 ago 2016

Periodicità, formato e contenuto delle informazioni Gestite nella rete OpenPass

Il Server OpenPass prevede l’invio dei dati di passaggio e vendita (ed i dati necessari al completamento dei primi due flussi come ticket e customer) da parte delle stazioni consociate ANEF Ski Lombardia in formato XML attraverso l’utilizzo di WebService. L’invio dei dati da parte dei client delle stazioni al server OpenPass può essere in real time oppure in differita tramite processi di batch a seconda del fornitore dei sistemi di accesso collegati alle stazioni.

Il Server OpenPass prevede poi un invio giornaliero costituito da un unico file compresso (.ZIP) contenente i file in formato CSV (comma separated values) ed il file XML per le meta-informazioni su una risorsa condivisa con Regione Lombardia; i dati trasferiti riguardano le anagrafiche ed i passaggi.

Comunicazione tra il server openpass e i client delle stazioni

Lo standard OpenPass prevede una rete distribuita di centri di raccolta dati collegati via web service al server centrale.

Le informazioni di vendita e passaggio sono raccolte ai varchi e inviate ai centri di raccolta dati, che a loro volta le trasmettono al server centrale.

Il protocollo di scambio tra server e centri di raccolta è REST, basato sul metalinguaggio XML. Il server riceve i dati e li memorizza in un database SQL centralizzato, dove ogni dato di vendita o passaggio è correlato da un codice seriale identificativo univoco e eventuali dati anagrafici del customer.

Il server gestisce a frequenza prestabilita operazioni di configurazione e di caricamento dati, attraverso chiamate XML.

Comunicazione tra il server OpenPass e i client delle Stazioni

La comunicazione tra il server OpenPass ed i client delle stazioni avviene su protocollo HTTP mediante l’architettura software RESTful.

Per la comunicazione sono stati progettati e realizzati sei servizi organizzate in risorse web accessibili a seguito di autenticazione.

L’architettura software utilizza il paradigma client-server; i servizi attivati, in architettura RESTFul, sono di seguito riportati.

LOGIN

Consente l’autenticazione di un utente che desidera collegarsi. Ad ogni stazione è associata una login specifica fornita da ANEF SKI Lombardia. L’autenticazione vale per tutta la durata della sessione di scambio dati.

Parametri input

Parametro Tipo Obbligatorio Descrizione
Username testo si Username della stazione
Password testo si Password della stazione

Parametri output

Parametro Tipo Descrizione
Group numerico Codice univoco di identificazione del gruppo
Company numerico Codice univoco di identificazione del gruppo

REGISTERTOKEN

Consente di registrare un token personalizzato. I tokens che cominciano con ‘Root.’ richiedono l’accesso di un amministratore. Ogni token ha un tipo associato (es. numerico, data, ora etc.). Il token non dipende dalla Stazione che ne fa richiesta.

Parametri input

Parametro Tipo Obbligatorio Descrizione
Name testo si Nome del token
Description testo si Descrizione del significato di token
Type numerico si Tipo assegnato (0=numerico, 1=data, 2=ora)

Parametri output

Parametro Tipo Descrizione
CreatedNew boolean Booleano che indica se il token è stato aggiunto

REGISTERFORMAT

Consente di registrare un formato di registrazione da utilizzare per la produzione e l’interpretazione di biglietti. Ritorna un codice identificativo univoco per il formato. La chiamata può essere effettuata tutte le volte che si vuole, il sistema ritornerà sempre lo stesso codice. Il codice di formato è quindi uguale per tute le stazioni che ne fanno richiesta. Lo stesso formato può essere condiviso tra più biglietti (es. Stagionale Adulti, Ridotto, FISI etc.).

Parametri input

Parametro Tipo Obbligatorio Descrizione
Description testo si Descrizione del formato
Creator testo si Nome del creatore del formato
Fixed area oggetto no Oggetto contenente gli oggetti TokenAllocation della fixed area
Variable area oggetto no Oggetto contenente gli oggetti TokenAllocation della variable area
Oggetto Fixed area
Parametro Tipo Obbligatorio Descrizione
TokenAllocation oggetto si Oggetto contenente i valori dei Token
Oggetto Variable area
Parametro Tipo Obbligatorio Descrizione
TokenAllocation oggetto si Oggetto contenente i valori dei Token
Oggetto TokenAllocation
Parametro Tipo Obbligatorio Descrizione
Name testo si Nome del Token precedentemente salvato
BitAdress numerico no BitAdreass
BitWidth numerico no BitWidth
ConstantValue numerico no ConstantValue

Parametri output

Parametro Tipo Descrizione
FormatIdentifier numerico Codice numerico univoco di identificazione del formato

ENUMERATEFORMATS

Restituisce l'elenco esaustivo dei codici identificativi dei formati noti al server.

Parametri input

Nessuno

Parametri output

Parametro Tipo Descrizione
FormatIdentifiers oggetto Lista dei codici identificativi dei formati noti al server
Oggetto FormatIdentifiers
Parametro Tipo Descrizione
Int numerico Codice numerico univoco di identificazione dei formati noti al server

GETFORMAT

Dato un codice identificativo di formato ottiene la definizione dello stesso

Parametri input

Parametro Tipo Obbligatorio Descrizione
FormatIdentifier numerico si Codice numerico univoco di identificazione del formato

Parametri output

Parametro Tipo Descrizione
Identifier numerico Codice numerico univoco di identificazione del formato
Description testo Descrizione del formato
Creator testo Nome del creatore del formato
LastTouch data Data e ora di creazione
Fixed area oggetto Oggetto contenente gli oggetti token allocation della fixed area
Variable area oggetto Oggetto contenente gli oggetti toke allocation della variable area
Oggetto Fixed area
Parametro Tipo Descrizione
TokenAllocation oggetto Oggetto contenente i valori dei Token
Oggetto Variable area
Parametro Tipo Descrizione
TokenAllocation oggetto Oggetto contenente i valori dei Token
Oggetto TokenAllocation
Parametro Tipo Descrizione
Name testo Nome del Token precedentemente salvato
BitAdress numerico BitAdress
BitWidth numerico BitWidth
ConstantValue numerico ConstantValue

REGISTERTICKET

Consente di registrare un set di valori di tokens costanti per una certa categoria di biglietti al fine di poterla identificare con rapidità nelle elaborazioni dati. (Es. Stagionale adulti, Stagionale ridotto). Ritorna un codice identificativo univoco per il biglietto che è identico al valore passato per il token “TicketID” obbligatorio. La chiamata può essere effettuata tutte le volte che si vuole; a parità di valori il sistema ritornerà sempre lo stesso codice. La chiamata consente una registrazione diversa per ogni Stazione, ma il codice numerico ritornato sarà a parità di set di valori lo stesso su più stazioni. Due biglietti uguali non possono né devono avere codici identificativi differenti.

Parametri input

Parametro Tipo Obbligatorio Descrizione
Description testo si Descrizione del ticket
CustomerAge numerico si Classe di età del destinatario del biglietto (1=”Bambini <=11”, 2=”Ragazzi 12-17”, 3=”Adulti 18-64”, 4=”Senior >= 65”)
CustomerType numerico no Tipologia del destinatario del biglietto (1=”Non Residenti”, 2=”Residenti”)
Values oggetto si oggetto contenente i TokenValue
Oggetto Values
Parametro Tipo Obbligatorio Descrizione
TokenValue oggetto si Oggetto che contiene i dati dei token
Oggetto TokenValue
Parametro Tipo Obbligatorio Descrizione
Name testo si Nome del token. (Il Token “Root.TicketID” è obbligatorio)
Value testo si Valore del token. (Il valore del Token “Root.TicketID” è obbligatorio)

Parametri output

Parametro Tipo Descrizione
TicketIdentifier numerico Codice numerico univoco di identificazione del biglietto. Il codice restituito sarà quello che viene passato con il Token “Root. TicketID”

ENUMERATETICKETS

Ottieni l’elenco esaustivo dei codici identificativi dei biglietti noti al server per la stazione specificata.

Parametri input

Parametro Tipo Obbligatorio Descrizione
Company numerico si Codice numerico univico di identificazione della stazione

Parametri output

Parametro Tipo Descrizione
TicketIdentifiers oggetto Lista dei codici identificativi dei ticket noti al server
Oggetto TicketIdentifiers
Parametro Tipo Descrizione
Int numerico Codice numerico univoco di identificazione dei ticket noti al server

GETTICKET

Dato un codice identificativo di biglietto, ottiene la definizione dello stesso

Parametri input

Parametro Tipo Obbligatorio Descrizione
Company numerico si Codice numerico univoco di identificazione della stazione
TicketIdentifier numerico si Codice numerico univoco di identificazione del biglietto

Parametri output

Parametro Tipo Descrizione
Identifier numerico Codice numerico univoco di identificazione del biglietto
Description testo Descrizione del biglietto
CustomerAge numerico Classe di età del destinatario del biglietto (1=”Bambini <=11”, 2=”Ragazzi 12-17”, 3=”Adulti 18-64”, 4=”Senior >= 65”)
CustomerType numerico Tipologia del destinatario del biglietto (1=”Non Residenti”, 2=”Residenti”)
LastTouch data Data e ora di creazione
Values oggetto Oggetto contenente i TokenValue
Oggetto Values
Parametro Tipo Descrizione
TokenValue oggetto Oggetto che contiene i dati dei token
Oggetto TokenValue
Parametro Tipo Descrizione
Name testo Nome del token
Value testo Valore del token



















Torna a: Il Sistema OpenPass