Xpages: l'evoluzione rivoluzionaria - Agenda
Cosa sono le XPages
Perchè sono importanti e da dove arrivano
Cambio di abitudini e di pensiero
Esempi pratici
Come diventare sviluppatori Xpages in 10 giorni
Cosa riserva il futuro (prossimo, molto prossimo)
Page 2
Cosa sono le XPages
Una tecnologia Server Side per il W eb (Domino)
Un framework di sviluppo basato su componenti
e controlli (come in Visual Basic, Delphi)
Con tutta la flessibilità di Java/Java Server Faces
Con tutta la flessibilità e la sicurezza del backend
Domino
Uno strumento di sviluppo che “può” sostituire il “metodo classico”
aumendando le possibilità e riducendo drasticamente i tempi di sviluppo
e manutenzione
Il motore W eb 2.0 delle tecnologie Domino senza doversi accollare tutto
lo studio e le problematiche tipiche di Ajax e dintorni.
Page 3
Perchè sono importanti e da dove arrivano
Perchè sono importanti ?
– Separazione Model View Controller nelle applicazioni web domino
• Posso collegare più database in una sola user interface
– Usano tutto ciò che già conosciamo (stesse classi e funzioni @ anche se in
Javascript)
– Semplificano drasticamente la realizzazione di applicazioni Web moderne
– Sono molto più performanti dell'engine Web domino
– Portano finalmente in Domino alcuni costrutti e funzionalità del mondo J2EE
(es. Variabili di sessione, JSF)
Page 4
Perchè sono importanti e da dove arrivano
Da dove arrivano ?
– Nate in Lotus Component Designer
– Creava portlet JSR168
– Component Designer è confluito in Domino Designer 8.5
• Sono state “temporanemente” rimosse alcune funzionalità:
– Accesso a WebServices
– Accesso a RDBMS
– Accesso a flussi Rest etc.
– Component Designer runtime è diventato l'engine XSP di Domino 8.5
• Gira come estensione di Domino HTTP Server
Page 5
Cambio di abitudini / pensiero: Model/View/Controller
Model/View/Controller
Separazione tra Dati (model), Interfaccia utente (View) e logica applicativa
(Controller)
Model = le FORM definiscono i campi e i loro tipi, non serve più
“gestire” l'interfaccia nelle form (disegno le form per il Client Notes ma
non mi preoccupo di cosa avviene su W eb perchè ci sono le Xpages)
View = Form/Pages/Frameset/Viste sono sostutite da Xpages che
contengono “controlli”
Controller = I “controlli” delle Xpages sono collegati tramite eventi a
codice e logica che risiede nella librerie JavaScript server side.
– Possono chiamare agenti esistenti o qualunque classe Java
Page 6
Cambio di abitudini / pensiero: Componenti e controlli
Sulle Xpages vengono posizionati:
– Controlli (elementi dell'interfaccia utente)
– Componenti (insiemi riutilizzabili di controlli “come” le subform ma più riusabili)
– Sorgenti dati (documenti domino, viste domino)
I controlli vengono “collegati” (= binding) ai dati nei datasource
– Non esiste più la relazione tra Form/Campo e dato nel database
– Una Xpage può mostrare dati provenienti da svariate fonti.
• Una Xpage con una vista e 4 documenti in aree diverse
• Una Xpage con 4 viste collegate
• Una “relazione” master-detail tra documenti diversi su una stessa Xpage
Page 7
Cambio di abitudini / pensiero: Logica applicativa
Il “linguaggio” delle Xpages è JavaScript (Server Side) ma
– Tutte le classi Domino/Lotuscript sono state trasportate e hanno le stesse
funzioni/nomi
– Molte (90%+) delle funzioni @ sono disponibili come funzioni JavaScript
– Posso creare librerie JavaScript Server Side come facevo per LotusScript e
Java
JavaScript Server Side “gira” in Java per cui:
– Posso chiamare classi Java da JavaScript in modo trasparente (grande
flessibilità)
– Il debugger è in grado di darmi “chiare” indicazioni su cosa è andato storto
(quando serve,ovviamente)
Page 8
Cambio di abitudini / pensiero: Gli scope
Il supporto alle applicazioni W eb di Domino è Stateless
– Non posso impostare variabili persistenti, devo usare cookie o “trucchi”
Il supporto alle applicazioni W eb Xpages è “diverso”
Esistono gli “scope” ovvero contenitori di variabili con “cicli di vita”
diversi
– View/Request: le variabili esistono per il tempo di gestione della pagina
– Session: le variabili sono legate alla sessione utente. Un pò come avere un
@environment per il Web. Finalmente non si usano “trucchi”
– Application: le variabili sono comuni a tutti gli utenti, una specie di “cache”
globale per l'applicazione
Page 9
Cambio di abitudini / pensiero: I temi
Xpages è un framework orientato alla ottimizzazione della User Interface
Xpages include un sistema di “temi” che consente di raggruppare e dare
un nome ad una serie di impostazioni estetiche
In domino 8.5 è presente il tema OneUI che fornisce una solida base
per creare applicazioni con un interfaccia web coerente.
Tutte le nuove applicazioni IBM/Lotus usano lo stile OneUI (Quickr,
Lotus Connections, W ebSphere Portal etc.)
I temi possono essere personalizzati e condivisi sul server
Un tema può semplificare il “branding” delle applicazioni prodotte per
un'azienda
Page 10
Esempi pratici – Phone Book (di Declan Lynch)
Collegato al “Blog-Corso” di Declan Lynch
– http://www.qtzar.com/blogs/qtzar.nsf/htdocs/LearningXPages.htm
Gestione di “location” e “persone”
Basato su un Personal Address Book di Notes
Ha un'interfaccia moderna basata su OneUI
DEMO
Page 11
Esempi pratici – Domino Wiki (da OpenNTF.org)
Creato come esempio utile da OpenNTF.org
– http://www.openntf.org/
Un wiki basato su domino
Gestione di pagine, allegati, versioni, commenti
Supporto per la notazione “Creole 1.0” per i W iki
In continua Evoluzione
DEMO
Page 12
Esempi pratici – Discussion database (in Domino 8.5)
Il classico “Discussion – W eb & Notes” in una nuova veste grafica
Nuovi elementi di interfaccia e nuovo look
– Basato sul tema OneUI
– Tag Cloud
– Miglioramenti all'usabilità
E' parte di Domino 8.5
DEMO
Page 13
Esempi pratici – Lead Manager X (da OpenNTF.org)
Lead Manager è un esempio di gestione Lead/Clienti/Documenti
realizzato da Jo Grant e Crain W olpert (del partner enablement team
US)
Lead Manager X impiega Xpages per mostrare come 4 differenti
database Notes possono essere integrati in un'unica “experience” W eb
migliorando la fruibilità delle informazioni
E' uno degli esempi più interessanti attualmente disponibili
E' stato reso disponibile tramite OpenNTF.org
– http://www.openntf.org/
DEMO
Page 14
Sviluppare Xpages in 10 giorni
Seguire tutto il “corso” di Declan Lynch
Scaricare gli esempi di OpenNTF (sopratutto Lead Manager X)
Leggere il “manuale” di Domino Designer 8.5 (sezione Xpages)
Per chi vuole “approfondire”
– leggersi un libro su Java Server Faces
– guardare “dentro” il server domino (nelle cartelle XSP)
Page 15
Cosa riserva il “futuro”
... se ne parla, ma nessuna promessa
Xpages dentro il client notes (il motore XSP anche in locale)
– Molto probabile e presto
Xpages come iW idgets: componenti integrabili nel Portale e in Mashup
Center
Supporto per altri datasource
– Web Services, Rest, RDBMS, Lotus Connections, LDAP
SDK per aggiungere nuove “estensioni” (possibile mercato dei
componenti)
Page 16
Domande ? Approfondiamo ?
Page 17
Grazie per l'attenzione
Daniele Vistalli
daniele@vistalli.it
http://www.vistalli.it
http://www.linkedin.com/in/dvistalli
Page 18
0 comments
Post a comment