title: Portlet
text: # Portlet
  
  I portlet sono moduli web riusabili all'interno di un portale Web. Tipicamente, una pagina di un portale è suddivisa in una collezione di finestre, il contenuto di ciascuna delle quali viene definito da un diverso portlet. Ciascun portlet è destinato ad una semplice applicazione, ad esempio servizi di news, previsioni meteo, o funzionalità legate a forum o email. In quanto finestre, i portlet possono essere chiusi o ridotti o spostati. L'utente che accede al portale può così personalizzare la sua pagina personale, adattando i contenuti della stessa alle proprie esigenze.
  
  ## Standard
  
  La tecnologia dei portlet e dei portali utilizza un insieme di standard allo scopo di consentire lo sviluppo di portlet portabili, ovvero che possano essere usati nel contesto di portali sviluppati con tecnologie differenti.
  
  Lo standard WSRP (Web Services for Remote Portlets) definisce un protocollo standard per il dialogo fra il portale e i portlet. La Java Portlet Specification (JSR168) definisce un insieme di interfacce applicative (API) per l'interazione fra un portlet container e i portlet; una implementazione molto diffusa della specifica JSR168 è Apache Pluto; altre implementazioni sono state sviluppate da IBM, Oracle e BEA Systems. Fra le implementazioni open source di portali conformi allo standard ci sono anche Jetspeed 2 Portal Server (ancora sviluppato da Apache), JBoss Portal, Liferay Portal e Stringbeans Portal.
  
  ## Portlet e Servlet
  
  I portlet sono un tipo speciale di servlet, progettati per essere inseriti facilmente in un portal server ed essere eseguiti. A differenza dei servlet, i portlet non hanno comunicazione diretta con il browser, non possono dunque inviare redirect o errori, inoltrare richieste o scrivere markup al flusso in uscita.
  
  I portlet sono componenti più semplici e quindi più leggeri. Ciò consente una maggior facilità di gestione: possono essere impostati, installati o rimossi, creati o cancellati e impostati direttamente dall'amministratore usando l'interfaccia del portale.
  
  A differenza delle servlet, che possono rappresentare pagine web complete, i portlet rappresentano singoli componenti, aggregati dal portale che svolge la funzione di Web container. Ne consegue che il portlet container del portale ha un ruolo più determinante del servlet container, poiché attraverso di esso i portlet comunicano tra loro, accedono a contenuti remoti e a dati persistenti. Inoltre i portlet non possono essere raggiunti da un URL specifico, in quanto è il portale intero ad avere associato l'indirizzo.
  
  