Xpages, cosa ci sarà in questa nuova tecnologia
Upcoming SlideShare
Loading in...5
×
 

Xpages, cosa ci sarà in questa nuova tecnologia

on

  • 2,877 views

Ho iniziato tre anni fa a parlare di Ajax, per poi affrontare il framework Dojo... ed ora cosa ci aspetta per il futuro? Quante cose nuove dovremo imparare per le nostre applicazioni Web?...

Ho iniziato tre anni fa a parlare di Ajax, per poi affrontare il framework Dojo... ed ora cosa ci aspetta per il futuro? Quante cose nuove dovremo imparare per le nostre applicazioni Web?
Le Xpages permettono di realizzare le applicazioni Web con estrema facilità e con una maggiore semplicità manutentiva rispetto al passato.
La sessione mostrerà l'utilizzo di questa tecnologia partendo da un'applicazione demo che verrà "smontata" e spiegata nel dettaglio.

Statistics

Views

Total Views
2,877
Views on SlideShare
2,771
Embed Views
106

Actions

Likes
0
Downloads
26
Comments
0

3 Embeds 106

http://www.dominopoint.it 99
http://www.slideshare.net 6
http://charity.planetlotus.org 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Xpages, cosa ci sarà in questa nuova tecnologia Xpages, cosa ci sarà in questa nuova tecnologia Presentation Transcript

  • Xpages Cosa ci sarà in questa nuova tecnologia Autore: DanieleGrillo Professione: Domino Developer
  • domino point day2009 Agenda •Cosa sono le Xpages •Da dove arrivano •Componenti fondamentali •Linguaggio di sviluppo ( Client Side / Server Side) •Esempio Applicazione ( Catalog.nsf) •Utilizzo in locale ( novità della 8.5.1) •Suggerimenti •Cosa ci aspetta per il futuro? 2
  • domino point day2009 Cosa sono le Xpages • Un componente aggiuntivo di Lotus Designer • Un framework di sviluppo basato su componenti ( come i più comuni linguaggi visuali di programmazione) • Tecnologia JSF ( java server faces) • Sfruttano il back-end dei dati Lotus Domino (per ora...) • Una soluzione Easy per lo sviluppo di applicazioni Web • Estensione engine HTTP di Domino • Nascono con la R 8.5 ( meglio usarle nella 8.5.1) 3
  • domino point day2009 Xpages + Dojo 4
  • domino point day2009 Modello MVC Le Xpages utilizzano il concetto di Model View Control • L’MVC è la separazione della base dati, dalla logica applicativa di un’applicazione e dall’interfaccia . • Impone al programmatore ( ed è un bene) a separare nettamente la logica applicativa dall’interfaccia e i dati. • E’ Più facile mantenere nel tempo l’applicazione • E’ un concetto... 5
  • domino point day2009 MVC a confronto Control Control Lotusscript + @formulas Javascrip ( server-side + front side) +Agenti View View Sono le Xpages Sono le Form, Viste, Navigatori, Frameset, Pages, Agent Model Sono le Form di Notes Model ( per ora) Sono le Form di Notes XPAGES DOMINO CLASSICO 6
  • domino point day2009 Da dove arrivano • Progetto IBM Workplace nato nel 2002 ed abbandonato nel 2007 • Xpages sono la Lotus Component Designer • Component Designer Runtime diventa XSP Runtime 7
  • domino point day2009 Da cosa sono composte • Controlli ( Core, Container, Altri) • Componenti ( blocchi di codice riutilizzabili, concetto simile alle sub.form) • Sorgente dati ( per ora Form di domino e viste) • Altro ( CSS, codice X/HTML aggiuntivo, JS) 8
  • domino point day2009 I Controlli Oggetti già pronti all’uso che si inseriscono nella Xpages con semplici trascinamenti sulla pagina ( drag&drop) 9
  • domino point day2009 Controlli personalizzati Rappresentano blocchi applicativi riusabili. Esempio: Footer, Header..etc.. 10
  • domino point day2009 Sorgente dati Rappresenta la sorgente dati alla quale ci si collega per gestire il binding dei dati dalla Xpages al back-end. Il bindig è l’associazione con la sorgente dati....non è più “ovvia” la relazione FORM/CAMPO 11
  • domino point day2009 Codice X/HTML nel sorgente XML 12
  • domino point day2009 I TEMI Meta fogli di stile che vengono applicati al rendering delle xpages prima che vengano applicati i fogli di stile delle stesse. Prima ancora di essere mandato al browser viene applicato il tema che può eseguire codice JSS per decidere cosa servire...esempio in base Browser utilizzato nell’header di una richiesta 13
  • domino point day2009 14
  • domino point day2009 Variabili Scope Permettono finalmente di utilizzare variabili d’ambiente senza utilizzare campi, documenti profilo o workaround vari (cookies etc..) • SessionScope: variabili di sessione validi per ogni sessione istanziata da ogni utente collegato ( vive all’apertura della sessione e muore alla chiusura) • ApplicationScope variabile globale fin tanto che è aperta l’applicazione è globale a qualunque sessione utente • ViewScope variabile valida localmente nella componente View corrente • RequestScope variabile che esiste per la pagina corrente 15
  • domino point day2009 3 elementi... • View Component • Repeater Component • Core Component 16
  • domino point day2009 View Component • Ha le funzioni 1:1 vista Domino ( checkbox, ordinamenti, valori) • E’ personalizzabile • Ha diverse proprietà per effettuare ricerche, filterbyCategory • Ha un pager di navigazione personalizzabile • Valore colonne programmabili dinamicamente 17
  • domino point day2009 View Component 18
  • domino point day2009 Repeater Component Un componente (fantastico! N.d.r) che può scorrere i seguenti oggetti ( come un ciclo FOR) • Viste • DocumentCollection • Array (es. La risultante di una @dbcolumn) • Vettore (un elemento a dimensione dinamica ) n.b. La variabile del repeater è case sensitive, e dobbiamo stare attenti a generare il codice HTML corretto in funzione del repeat 19
  • domino point day2009 Repeater Component 20
  • domino point day2009 Core Component Nome Componente Binding Domino EditBox Text/Number Field Date Time Picker Date Time Field Label Computed Text RichText RichText Field File Upload RichText Filed File Download RichText Field ListBox ListBox Field CheckBox CheckBox Field RadioButton RadioButton Field Button Button 21
  • domino point day2009 Core Component 22
  • domino point day2009 Come agire sui controlli... In tutte le proprietà di un componente programmabili ( se appare un rombo azzurro a fianco della proprietà allora è possibile manipolare la stessa) è possibile agire con JSS (javascript server side) per manipolare per esempio: • Visibilità • Default Value • URL ( componente link o immagine) • e tutte le proprietà programmabili 23
  • domino point day2009 JSS ( javascript server side) Non stravolge il modo di programmare Lotus, in quanto sono state messe a disposizione tutte le classi Domino (identiche a quelle LotusScript) e oltre il 90% delle @formulas con la stessa nomenclatura di metodi e proprietà! Inoltre JSS da la possibilità di utilizzare estensioni Java (Esempio: John Mackey ha utilizzato la libreria JDBC per mettere insieme DB relazionali insieme ai dati Domino sulla stessa pagina) 24
  • domino point day2009 Demo – catalog.nsf Obiettivo: Un catalogo delle applicazioni alimentato dai BP accreditati consultabile dagli utenti web Ruolo BP: Avere un pannello di controllo per inserire nuove applicazioni Ruolo Utente: Accesso anomimo che sfoglia le applicazioni per categoria o per data 25
  • domino point day2009 26
  • domino point day2009 Demo Live! Link Applicazione 27
  • domino point day2009 Da cosa è composta Lato Domino ( back-End) - FormBP - Form Applicazione - Form Configurazione Lato Xpages ( front-End) - HomePage - ApplicationByCategory - BusinessPartner - Application 28
  • domino point day2009 BP type CodeBP [text] NameBP [text] AddressBP [text] 1:n Application type CodeBP [text] CapBP [text] ApplicationDate [date/time] CityBP [text] ApplicationName [text] ReferenceB [text] P ApplicationCategory [listbox] URL Web [text] ApplicationDescription [richtext] Site ApplicationLogo [richtext] LogoBP [richtext] ApplicationScrenShot [richtext] Username [names] ApplicationBrochure [richtext] Ogni Bp registrato potrà inserire N applicazioni nel sistema 29
  • domino point day2009 Pagina di partenza + layout 4 Custom Control collegati: BannerDojo MenuBar ViewHomePage FooterApplication <div id="content"> <div id="header"> </div> <!--end header --> <div id="menu"> </div> <!--- end menubar --> <div id="wrapper"> <div id="menusx"> MENU ACTION </div> <!--end menusx --> Template html <div id="centerbody"> BODY OUTPUT </div> <!--centerbody --> </div> <!--end wrapper --> <div id="footer"> FOOTER </div> <!--end footer --> </div> <!--end content --> 30
  • domino point day2009 31
  • domino point day2009 Output Xpages Code Source 32
  • domino point day2009 InitApplication ( Homepage.xsp) 33
  • domino point day2009 Login Dojo ( Controllo) 34
  • domino point day2009 35
  • domino point day2009 36
  • domino point day2009 Come funziona Ajax login... Esempio proposto da Jake Howlett blogger di CodeStore e codice scritto da Declan Lynch nel suo tutorial delle Xpages. Utilizza la dijit.Dialog di Dojo per la finestra di inserimento delle credenziali Effettua una chiama xhr.Post di Dojo ( ajax posting) per inviare le credenziali 37
  • domino point day2009 38
  • domino point day2009 Layer nascosto into source code... <div dojoType="dijit.Dialog" id="loginDialog" title="Effettuare il login" execute="dominoLogin(arguments[0]);" style="display:none"> <table> <tr> <td> <label for="username">Username:</label> </td> <td> <input dojoType="dijit.form.TextBox" type="text" name="username" id="username" /> </td> </tr> <tr> <td> <label for="password">Password:</label> </td> <td> <input dojoType="dijit.form.TextBox" type="password" name="password" id="password" /> </td> </tr> <tr> <td colspan="2" align="center"> <input dojoType="dijit.form.TextBox" type="hidden" name="RedirectTo" id="RedirectTo" value="/icons/view.gif" /> <button dojoType="dijit.form.Button" type="submit"> OK</button> </td> </tr> </table> </div> 39
  • domino point day2009 var a="<a href="javascript:dijit.byId('lo ginDialog').show()">Log in Ajax</a>"; return a; 40
  • domino point day2009 Colonna dinamica in una vista Il logo e le informazioni del BP di una particolare applicazione viene tirato su dinamicamente eseguendo codice JSS di esempio 41
  • domino point day2009 Codice colonna 42
  • domino point day2009 Proprietà CategoryFilt er ViewScope 43
  • domino point day2009 Validare i campi E’ tutto più facile con i componenti 44
  • domino point day2009 Debug applicazione... Per avere un debugger verboso e non il classico errore 500 ... 45
  • domino point day2009 Novità con la 8.5.1 • Migliorate le performance! • Xpages eseguibili dal client Notes ( Xul Runner embeddato basata sull’engine Firefox 1.5) • SSO credenziali nel client • Editor JSS migliorato • Maggior stabilità ( nessun crash nello sviluppo applicativo!) • Dojo 1.3.2 46
  • domino point day2009 Gzipping Html Tramite Proprierties dell’applicazione 47
  • domino point day2009 Vantaggi Xpages • Possibilità di “relazionare” in unica pagina dati proveniente da diverse sorgenti dati • Utilizzare le variabili Scopes • Utilizzare @formulas ( Sintassi Javascript) • Utilizzare tutte le classi Domino ( JS ) • Richiamare le classi Java • Supporto Cross-browser ( grazie a Dojo) • Utilizzare widget dojo non implementati dai componenti esistenti • Temi • Inserire codice HTML nel Sorgente XML 48
  • domino point day2009 Svantaggi Xpages • Il packaging di Dojo (meno request=performance migliori) • La libertà di controllare l’output dei controlli ( Output SEO compliance) • Performance Java vs Agenti LS ( nella 8.5.1 è migliorato molto) • Il motore lato client è due generazioni indietro rispetto a quello Web ( Firefox 1.5) • Widget di Notes usano IE ( se devo fare una Xpages che sia usata come Widget devo far fronte a IE) 49
  • domino point day2009 Cosa ci sarà nelle Rnext? • Binding diretto con Database relazionali • Come annunciato a Lotussphere ’09 supporto per Mobile Blackberry ( firmware 5.x) • Miglioramento di Dojo Package? • Miglioramento perfomance 50
  • domino point day2009 Documentazione... http://www.qtzar.com/blogs/qtzar.nsf/htdocs/LearningXPages.htm http://xpagesblog.com/ http://www-10.lotus.com/ldd/ddwiki.nsf http://www.jmackey.net/ http://www.planetlotus.org ( cercate Xpages) 51
  • domino point day2009 Platinum Sponsor Gold Sponsor