JSF - Architettura

La tecnologia JSF è un framework per lo sviluppo, la creazione di componenti dell'interfaccia utente lato server e il loro utilizzo in un'applicazione web. La tecnologia JSF si basa sull'architettura Model View Controller (MVC) per separare la logica dalla presentazione.

Cos'è MVC Design Pattern?

Il modello di progettazione MVC progetta un'applicazione utilizzando tre moduli separati:

S.No Modulo e descrizione
1

Model

Trasporta dati e login

2

View

Mostra l'interfaccia utente

3

Controller

Gestisce l'elaborazione di un'applicazione.

Lo scopo del modello di progettazione MVC è quello di separare il modello e la presentazione consentendo agli sviluppatori di concentrarsi sulle proprie competenze di base e collaborare in modo più chiaro.

I web designer devono concentrarsi solo sul livello di visualizzazione piuttosto che sul livello del modello e del controller. Gli sviluppatori possono modificare il codice per il modello e in genere non è necessario modificare il livello di visualizzazione. I controller vengono utilizzati per elaborare le azioni dell'utente. In questo processo, il modello di layer e le viste possono essere modificati.

Architettura JSF

L'applicazione JSF è simile a qualsiasi altra applicazione web basata sulla tecnologia Java; viene eseguito in un contenitore servlet Java e contiene:

  • I componenti JavaBeans come modelli contenenti funzionalità e dati specifici dell'applicazione

  • Una libreria di tag personalizzata per rappresentare gestori di eventi e validatori

  • Una libreria di tag personalizzata per il rendering dei componenti dell'interfaccia utente

  • Componenti dell'interfaccia utente rappresentati come oggetti con stato sul server

  • Classi helper lato server

  • Validatori, gestori di eventi e gestori di navigazione

  • File di risorse di configurazione dell'applicazione per la configurazione delle risorse dell'applicazione

Esistono controller che possono essere utilizzati per eseguire azioni dell'utente. L'interfaccia utente può essere creata dagli autori di pagine Web e la logica aziendale può essere utilizzata dai bean gestiti.

JSF fornisce diversi meccanismi per il rendering di un singolo componente. Spetta al progettista della pagina Web scegliere la rappresentazione desiderata e lo sviluppatore dell'applicazione non ha bisogno di sapere quale meccanismo è stato utilizzato per eseguire il rendering di un componente dell'interfaccia utente JSF.