Riteniamo che la parte più importante in un progetto sia l'impostazione della logica dei flussi dell'applicazione.
Per questo a partire dal 2004 abbiamo deciso di realizzare un ambiente di sviluppo per applicazioni Web 2.0 (corporate portals, intranet, extranet, soluzioni di e-commerce e siti web) che permetta di concentrarsi esclusivamente sulle logiche di business dell'applicazione, e di demandare i "dettagli" di basso livello ad una architettura solida e sicura.
p://one costituisce il nucleo di ogni nostra applicazione, e si è evoluta negli anni per supportare funzionalità sempre più avanzate per permetterci di proporre ai nostri clienti soluzioni sempre all'avanguardia.
p://one è un potente framework per lo sviluppo di applicazioni web, che costituisce la base comune di tutte le applicazioni di TeraNet.
Non si tratta semplicemente di un sistema di gestione e pubblicazione delle informazioni, ma di un vero e proprio ambiente operativo che si situa tra il web server e l'applicazione. Lo sviluppatore interagisce con p://one tramite interfacce di programmazione ad alto livello (API),che nascondono la complessità di molte operazioni.
p://one è una vera e propria architettura, sviluppata secondo il modello MVC (Model, View, Controller) che garantisce una netta separazione tra le logiche di business e quelle di presentazione. Le sue interfacce permettono di semplificare notevolmente la gestione di molti aspetti critici, dalla localizzazione dei contenuti, alla gestione delle politiche di accesso alle pagine, dalla validazione automatica dei controlli all'utilizzo di logiche transazionali, fino alla minificazione e compressione di javascript e css.
La figura seguente mostra una rappresentazione ad alto livello dei componenti che costituiscono p-ONE.
A seguito di una richiesta da parte del client, il web server la inoltra al livello che si occupa della gestione della sicurezza, che verifica i diritti di accesso dell'utente, esegue eventuali validazioni dei dati inviati dal form nella pagina. Nel caso in cui non fossero stati rilevati errori il controllo viene passato al business layer, che interpreta la richiesta e la inoltra all'application layer.
L'application Layer è il livello in cui risiedono i moduli propri dell'applicazione. La logica di business viene gestita dal controller, che interagisce con il livello dati attraverso uno o più modelli.
Il data layer ha una struttura relativamente complessa, grazie alla quale è in grado di interfacciarsi a più sorgenti dati di tipo differente.
La parte di presentazione del modulo è gestita dalla view, che interagisce con il controller per visualizzare le informazioni richieste. Il markup generato viene passato al compositing layer, che si occupa di integrare il markup generato dai diversi moduli della pagina in un documento XHTML valido e restituirlo al web server.
Ogni pagina può essere composta da più moduli in grado di comunicare tra loro tramite un sofisticato meccanismo di gestione degli eventi Server-side e Client-side.
Per saperne di più sulla nostra architettura p://one visita le sezioni elencate nel menu a sinistra.