Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

13
Davis Molinari Università del Piemonte Orientale Amedeo Avogadro Laurea in Informatica Relatore: Prof. Luigi Portinale Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

description

Presentazione della tesi discussa per la laurea di primo livello in Informatica.

Transcript of Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

Page 1: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

Davis Molinari

Università del Piemonte OrientaleAmedeo Avogadro

Laurea in Informatica

Relatore: Prof. Luigi Portinale

Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

Page 2: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

PORTALE WEB AZIENDALE

• Quali servizi deve offrire?• organizza e aggrega l'enorme quantità di dati generati o raccolti dell'azienda

• li presenta agli utenti attraverso un'interfaccia web semplice e personalizzabile

• Quali requisiti deve soddisfare?• Scalabilità (far fronte ad aumenti di utenti e/o di attività)

• Personalizzazione (interfaccia e funzionalità adattabili alle esigenze dei singoli utenti )

• Integrazione (gestire sia dati strutturati (provenienti dai sistemi ERP, dai database aziendali ecc.) che non strutturati (documenti Word, Excel ecc.) presentandoli con un'unica interfaccia.)

• Flessibilità (adattamento a nuove fonti di dati o a nuove tecnologie)

• Sicurezza (restrizioni di accesso e privilegi diversi in base all’utente o al gruppo di utenti)

Page 3: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

L’ APPLICAZIONE ESISTENTE

• Architettura• Apache Tomcat 4.1 Application Server

• Framework Struts

• Database MySQL

• Livelli di astrazione• Presentation Layer (Presentazione)

• Business Logic Layer (Livello applicazione)

• Data e Service Layer (trasmissione e memorizzazione dei dati)

• Obiettivo• Porting a JSR 168 ed eliminazione Librerie Struts

DATA BASE

Presentation layer

Data & Service layer

Business Logic layer

Page 4: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

JAVA PORTLET

• Definizione:

“le portlet sono componenti web Java, gestite da un portlet container, che processano le richieste ricevute e generano come risposta contenuti dinamici. Esse vengono usate come componenti d'interfaccia utente pluggabili per fornire un livello presentazione ai sistemi informativi”.

• Generano frammenti di markup (HTML, XHTML) non pagine complete

• Frammenti delle varie portlet aggregati per formare la pagina del portale

• Contenuti diversi a seconda del singolo utente o del gruppo di cui fa parte

• Portlet Container

• fornisce l’ambiente di runtime

• gestisce il ciclo di vita delle portlet

• memorizzazione delle preferences

Il portlet container NON si occupa dell’ aggregazione dei contenuti prodotti dalle varie portlet che è invece responsabilità del portale

Page 5: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

PRINCIPIO DI FUNZIONAMENTO

• Un client, dopo essere stato autenticato effettua una richiesta HTTP al portale.

• La richiesta viene ricevuta dal portale.

• Il portale determina se la richiesta contiene un azione mirata a qualcuna delle portlet associate alla pagina del portale.

• Se esiste una portlet per quell'azione richiesta, il portale inoltra la domanda al portlet container che invocherà una chiamata ad essa.

• Il portale, tramite il portlet container, invoca le portlet, per poter ottenere i frammenti di markup che dovranno essere inclusi nella pagina del portale risultante.

• Il portale aggrega i vari markup prodotti dalle varie portlet richieste e restituisce al browser la pagina di risposta pronta per essere visualizzata dall’utente.

Page 6: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

PRINCIPIO DI FUNZIONAMENTO (SCHEMA)

I clients interagiscono con le portlets tramite un paradigma request/response implementato e gestito dal portale

Page 7: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

PORTLET A LIVELLO DI PRESENTAZIONE

Esempio di risultato che forniscono a livello di interfaccia utente:

Ogni portlet possiede un titolo, dei bottoni di controllo, ed altre decorazioni che vengono aggiunte dal portale e che la fanno assomigliare ad una classica interfaccia a finestra

Si presentano in modo diverso a seconda del Window State

Page 8: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

WINDOW STATE DELLE PORTLET

• Il window state indica l'ammontare di spazio all'interno della pagina del portale che dovrà essere assegnato al contenuto generato dalla portlet

• Il portlet container quando invoca una portlet gli comunica qual è il suo window state corrente e la portlet può usare questa informazione per decidere la quantità di informazione da renderizzare

• La specifica Portlet definisce tre possibili valori di window state di una portlet che sono NORMAL, MAXIMIZED and MINIMIZED

• NORMAL: la portlet divide la pagina del portale con altre portlet. A volte può essere costretta a ridurre la quantità di contenuti da generare in output quando si trova in questo stato

• MAXIMIZED: la portlet potrebbe essere l’unica da visualizzare nella pagina del portale oppure ha a disposizione più spazio rispetto ad eventuali altre portlet. In questo caso la portlet può generare una maggiore quantità di contenuti

• MINIMIZED: la portlet genera un output minimo ad esempio solo il titolo o addirittura nessun output significativo

Page 9: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

CICLO DI VITA DELLE PORTLETE PORTLET MODE

• Il ciclo di vita della portlet è gestito principalmente da quattro metodi previsti dall’interfaccia Portlet

• Questi metodi vengono chiamati direttamente dal Portlet Container

• init(): chiamato dal container quando la portlet viene istanziata al fine di contenere la logica che preparerà l'oggetto a gestire le richieste e distribuire i contenuti.

• destroy(): viene chiamata quando il contenitore “distrugge” una portlet

• processAction(): chiamata dopo che l'utente ha effettuato una richiesta, serve a processare dei dati avuti in input dall'azione dell'utente

• render(): viene chiamata ogni volta che la portlet deve restituire dei dati

• Implementazioni specifiche del metodo render() che lo specializzano ulteriormente a seconda della modalità di utilizzo della portlet•View Mode – metodo doView(): la portlet mostra i contenuti richiesti dall’utente

•Edit Mode – metodo doEdit(): modalità in cui l’utente ha la possibilità di specificare le opzioni di personalizzazione e configurazione della portlet

•Help Mode – metodo doHelp(): mostrare la pagina relativa alla guida d'utilizzo della portlet

Page 10: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

ARCHITETTURE DISPONIBILI E SOLUZIONI UTILIZZATE

• Pacchetto software non ben definito all’inizio, però supportante pienamente la specifica JSR 168 Portlet

• Diverse proposte a disposizione

• Commerciali • Sun Java System Portal Server 6.2• Hummingbird Enterprise 2004 Enterprise Webtop• IBM WebSphere Portal 5.0• Oracle AS 10q Portal• Microsoft Office Share Point Portal Server 2003

• Open Source• JetSpeed – Apache J2EE Open Source Portal• uPortal - J2EE Open Source Portal for Universities• Cocoon 2 – Apache Web Communication Framework• PHPNUKE – PHP based Portal/Community System

• Idea iniziale: SUN One Portal

• Idea alternativa: Hummingbird Portal (partner ICON BPS, quindi “prodotto interno”)

• SVILUPPO INTERAMENTE EFFETTUATO SU JAKARTA PLUTO

Page 11: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

Jakarta Pluto è un portlet container Open Source sviluppato dal progetto Apache Jakarta

Permette di testare il ciclo di vita della proprie portlet

Piattaforma di riferimento per lo sviluppo

Screenshot di esempio

SVILUPPO SUL PORTLET CONTAINERJAKARTA PLUTO

Page 12: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

L’ APPLICAZIONE FINALE

• Applicazione divisa in 5 moduli• Modulo Rubrica• Modulo Scadenziario• Modulo Procurement• Modulo Progetti• Modulo Archivio Documenti

• Una portlet per ogni modulo

• Ogni portlet richiama più pagine JSP

• Indipendenza tra le varie portlet

• Un cliente può decidere quali portlet comprare o utilizzare nel proprio portale

• Il portale permette di selezionare le portlet da mostrare ai singoli utenti o ai gruppi di utenti

Page 13: Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Portali Web Aziendali

CONCLUSIONI ECONOSCENZE ACQUISITE

• Conclusioni• Finalmente uno standard per la realizzazione di Portali Web

• Enorme successo riscosso da questa tecnologia

• Tecnologia di punta per grosse aziende come Sun e IBM

• Buono sviluppo in ambito Open Source

• Miglioramento della portabilità tra i vari portali

Conoscenze acquisite• conoscenza e studio tecnologia Portlet JSR 168

• approfondimento conoscenza del linguaggio Java e pagine JSP

• miglioramento conoscenza ambiente di sviluppo Borland JBuilder

• buona esperienza in ambito lavorativo