Architettura

L'architettura del software

Ezi Portal ha un'architettura modulare e logicamente suddivisa su più livelli.

Service Layer

Il Service Layer gestisce l'interfacciamento con i diversi providers di servizi tramite dei moduli detti connettori.

Un framework generico definisce le interfacce che i diversi tipi di connettori offrono al resto del sistema. I diversi connettori incapsulano la logica (e gli aspetti tecnologici) del dialogo con i diversi providers (via SOAP, XML over http, API proprietarie).

L'aggiunta di un connettore per un nuovo service provider non ha impatti sugli altri sottosistemi.

Ogni tipologia di connettore ha ovviamente le sue specificità, ad esempio il connettore hotel gestisce, oltre alle richieste di disponibilità e alle prenotazioni, l'acquisizione periodica dei dati di catalogo degli hotel del provider, il consolidamento e la normalizzazione di questi dati.

Business Layer

Il business layer ha la responsabilità di gestire le richieste utente ricevute attraverso il front end layer, di effettuare il routing di queste richieste ai connettori appropriati, di processare i risultati dell'elaborazione e ritornare i dati necessari al front end per la successiva presentazione all'utente.

Anche il business layer ha una struttura modulare, in questo caso basata su una logica di filtering, in cui diversi stadi di filtraggio possono essere applicati al risultato di un'invocazione del service layer.

All'interno del business layer possono essere identificati i seguenti macromoduli:

  • Aggregator (Hotel, Flight, Hotel + Flight): gestisce richieste di ricerche e restituzione di risultati al front end

  • Booking manager: gestisce il processo di booking dei diversi servizi

  • Profiler: gestisce il tracciamento delle attività utente, il riconoscimento degli utenti che hanno già visitato il sito, il processo di registrazione degli utenti (possibile, ma non obbligatorio)

  • Shopping cart manager: gestisce il processo di selezione da parte dell'utente dei servizi da acquistare

Front End Layer

Il front end layer gestisce la presentazione e la logica di interazione con l'utente, interagendo con il business layer per l'accesso ai servizi richiesti.

Al momento sono disponibili due diverse implementazioni del front end layer:

  • HTML + AJAX - JSP
  • FLEX - JSP

Front End HTML

Il front end HTML permette all'utente di interagire via tradizionali pagine web, arricchite di funzionalità AJAX dove opportuno (autocomplete per liste di città e aeroporti in selezione destinazione, processo di booking multistep su singola pagina basato su accordion).

Il front end HTML integra Google maps per la presentazione delle informazioni geolocalizzate degli hotels, e permette la visualizzazione di dettagli e foto relative all'hotel stesso.

Front End FLEX

Il front end FLEX utilizza la tecnologia Adobe Flex per fornire un'interfaccia maggiormente dinamica, con filtraggi operati client side, minor traffico di rete con il server e una generale maggiore brillantezza dei tempi di risposta.
Il front end FLEX si avvale di un sottile layer JSP server side, che effettua la traduzione in JSON dei dati inviati al client e la loro compressione

Ambedue i front end hanno in comune la gestione della messaggistica basata su tecnologia I18N, esternalizzata rispetto all'applicazione, personalizzabile e multilingual ready.

 

 

SCARICA IL WHITE PAPER