Server OpenPass
Indice
- 1 Periodicità, formato e contenuto delle informazioni Gestite nella rete OpenPass
- 2 Comunicazione tra il server openpass e i client delle stazioni
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.
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 |
ENUMERATEGROUPS
Ottieni l'elenco esaustivo dei codici identificativi dei gruppi noti al server.
Parametri input
Nessuno
Parametri output
| Parametro | Tipo | Descrizione |
|---|---|---|
| GroupIdentifies | oggetto | Lista dei codici identificativi dei gruppi noti al server |
Oggetto GroupIdentifies
| Parametro | Tipo | Descrizione |
|---|---|---|
| Int | numerico | Codice numerico univoco di identificazione dei gruppi noti al server |
ENUMERATECOMPANIES
Ottieni l’elenco esaustivo delle stazioni note al server appartenenti al gruppo specificato.
Parametri input
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| Group | numerico | si | Codice numerico univoco di identificazione del gruppo |
Parametri output
| Parametro | Tipo | Descrizione |
|---|---|---|
| Companies | oggetto | Lista dei codici identificativi delle stazioni appartenenti al gruppo |
Oggetto Companies
| Parametro | Tipo | Descrizione |
|---|---|---|
| Int | numerico | Codice numerico univoco di identificazione delle stazioni note al server |
ENUMERATEWORKSTATIONS
Ottieni l’elenco esaustivo delle postazioni di vendita note al server appartenenti alla società specificata.
Parametri input
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| Company | numerico | si | Codice numerico univoco di identificazione della stazione |
Parametri output
| Parametro | Tipo | Descrizione |
|---|---|---|
| Workstations | oggetto | Lista dei codici identificativi delle workstations appartenenti alla stazione |
Oggetto Workstation
| Parametro | Tipo | Descrizione |
|---|---|---|
| Int | numerico | Codice numerico univoco di identificazione delle workstations note al server |
REGISTERWORKSTATIONKEY
Registra una chiave pubblica appartenente ad una postazione emittente
Parametri input
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| Group | numerico | si | Codice numerico univoco di identificazione del group |
| Company | numerico | si | Codice numerico univoco di identificazione della stazione |
| Workstation | numerico | si | Codice numerico univoco di identificazione della workstation |
| KeyIdentifier | numerico | si | Codice di identificazione della chiave |
| Expiri | data | si | Data di fine validità della chiave |
| KeyLength | numerico | si | Lunghezza della chiave |
| Modulus | testo | si | Modulo della chiave |
| Exponent | testo | si | Esponente della chiave |
Parametri output
| Parametro | Tipo | Descrizione |
|---|---|---|
| CreatedNew | boolean | Booleano che indica se la chiave è stata aggiunta |