Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

  • 7 commenti
Tutti o molti di noi ne hanno sentito parlare...qualcuno ne aveva a suo tempo capito le potenzialità ed altri come me attendevano una spiegazione più tecnica per essere coscienti di cosa fossero.
Bhè...finalmente una spiegazione ce l'ha data il blogger Nathan T Freeman che nel suo articolo ha dato molta luce su questa nuova feature introdotta in Lotus Notes/Domino 8.5.

E' talmente interessante come articolo che ho deciso di tradurlo in italiano poichè credo sia interessante per tutti i developer della nostra comunità capirne appieno e chiaramente le funzionalità (Per chi conosce X-MEN la lettura sarà piacevole)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

"Mutazione: è la chiave della nostra evoluzione. Ci ha permesso di evolverci da un singolo organismo unicellulare ad una specie dominante del pianeta. Questo è un processo lento e di norma impiega migliaia e migliaia di anni, ma ogni qualche centinaio di millenni, l'evoluzione fa un passo avanti ".

Patrick Stewart as Professor Charles Xavier


Dopo aver speso 3 giorni in incontri formativi e workshop in Westford, vorrei segnalare che per Lotus Domino è arrivato un nuovo passo avanti.
Nelle form ora ironicamente chiamate Xpages la Yellowverse arriverà a risolvere in poco tempo, un sacco di problemi presenti oramai da molto tempo.

Oggi vi mostrerò come con le Xpages sia possibile risolvere uno dei più grandi e duraturi problemi rimasti in piedi nello sviluppo Domino :
L'impossibilità di utilizzare le @dblookup nelle colonne delle viste.

Inizieremo con un accoppiamento semplice di costruttori Notes.

Qui abbiamo una vista che mostra una lista di mutanti identificati dal professor X'Celebro. Notare che abbiamo solo il nome e l'alias per ogni Homo-Sapiens:
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

E qui sotto abbiamo una vista che mostra la potenza di questi mutanti. C'è solamente 1 power per ogni mutante. Questo è lontanamente differente da una tipica architettura domino, dove la  energie dovrebbe essere presenti in un campo multi-valore all'interno del precedente documento mutante:
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Nelle applicazioni Domino odierne, la tecnica per presentare queste relazioni è oramai leggenda.

Nel client noi abbiamo visto :
  • agenti che fondevano e syncronizzavano i contenuti,
  • embedded view come visualizzazioni di antemprima
  • Passaggio delle informazioni (keyword) scritte in variabili d'ambiente (environment)
  • Riscrittura completa della presentazione fatta con le Applet Java
  • Form che al volo mettono insieme i dati per presentare i contenuti
  • Altre volte passare totalmente ad un back-end DB2 per avere delle SQLVIEW che permettano di visualizzare correttamente la relazione

Nel Web abbiamo visto :
  • codice html scritto a mano negli agenti
  • javascript embeddati che dinamicamente rappresentano e costruiscono il contenuto delle celle HTML (DHTML)
  • Trasformazioni XML lato client (lato brower)
  • Altre volte implementazioni di Portale come front-end a domino solamente per visualizzare le informazioni in una tabella!

Con le Xpages di Domino 8.5 fare questa cosa è davvero semplice! si tratta di alcuni drag&drop..Qui mostriamo come...

Prima di tutto con il nuovo Designer 8.5, bisogna fare un doppio click sulla CATEGORIA  Xpages presente nel database navigator.
P
oi cliccare su "Nuova Xpages" che andremo a chiamare "CelebroResult"
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Successivamente, selezionare l'oggetto vista dal pannello "Container Control" e draggarlo nella Xpages vuota. Apparirà un Wizard che chiederà di scegliere la vista da inserire. Nel nostro caso selezioneremo la vista "Mutants". La selezione farà si che vengano mostrate la lista delle colonne che dovranno apparire (Notare che si potrà selezionare/deselezionare cosa far vedere)
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Una volta che la vista appare nella Xpages, verrà automaticamente formattata come tabella, si vedranno le colonne apparire nello stesso ordine presentate nel design della vista stessa e sarai libero di risistemarle.
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

N.B : Il cerchio il alto a Sx ( quello giallo ) mostra alcune caratteristiche carine delle Xpages.
L'Outline mostra lo schema gerarchico di tutti gli elementi di design inseriti nelle Xpages così che tu possa capirne la relazione facilmente.
Questo inoltre ti permette di selezionare facilmente gli elementi su cui lavorare al posto di cercarli nel layout centrale della Xpages.

Inoltre è  possibile stilizzare le viste tramite l'apposito pannello ( quello in basso ) utilizzando differenti unità di misura.
E vedete quel un piccolo diamante a fianco del campo larghezza?
Molto semplice basta impostare un valore calcolato sulla proprietà invece del valore statico e ciò apparirà ovunque.

Andiamo avanti...ora selezioniamo dall'outline la proprietà della vista appena inserita e andiamo nel Tab "All proprieties".
Questo TAB avanzato ti da l'accesso a qualsiasi tipo di controllo. Notare che tutte queste cose sono utilizzate in tutti gli altri TAB.
Nel nostro caso effettuiamo un scrool in basso verso "data-category" e selezioniamo la proprietà var.
Noi possiamo inserire un valore per questa proprità che noi chiameremo "mutantRow".
Nel caso in cui non sia evidente, questo sarà il nome della variabile di entrata per ogni riga della vista.
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Ora torneremo indietro sulla Tabella presente sulla Xpages e con un tasto DX del mouse aggiungeremo una colonna.Non è importante su quale colonna si posizioni è possibile  inserire la colonna utilizzando "Append Column" dal menù in basso.

Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes
 
Ora impostiamo l'etichetta per l'intestazione della nuova colonna che abbiamo creato nominandola "Powers". Noterai che verrà creato una intestazione separata. Questa cosa verrà generata automaticamente dal nuovo designer e ci sarà un identificatore unico per tutto ciò che potete vedere.
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Poi clicchiamo su contenuto della colonna ed andiamo in "All proprieties" TAB. Nella voce data possiamo trovare il campo "Value" che fortunatamente per noi ha un piccolo diamante vicino (selezioniamo Computed Value)
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Quando appare lo script editor inizia il divertimento. Verrai informato che il linguaggio selezionato è Javascript( Server Side). Si tu puoi estendere JS anche lato server con la 8.5...In realtà preparatevi a stupirvi su come funziona...
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes
N.B: vedrete alcune interessanti opzioni nel pannello di riferimento in giallo. Tali riferimenti significaNO esattamente quello che state pensando.
Le Xpages forniscono sessioni di applicazioni e scopi.
Non più documenti di profilo per monitorare le sessioni
Aspettiamo di più su come usare questo magnificità per la memorizzazione nella cache dopo aver letto il tutorial!

Inseriremo il nostro server side Javascript qui.
Sei già stato informato che è un particolare tipo di Javascript ristretto vero?
"@DbLookup" è un invalido Javascript.

IBM non vuole forzare il cambio di linguaggio oggetto per tutti coloro che da decenni lavorano in Notes, così hanno riscritto il motore che interpreta lo Javascript Side per capire le funzionalità native che si utilizzano ogni giorno. In questo caso @dblookup opera in maniera quasi identica (Fantastico!)
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

N.B.: La sintassi è leggermente diversa, vengono utilizzate le virgolette al posto dei punti e virgola come separatori, e ricordiamoci che i nomi delle funzioni in JS sono case sensitive (attenzione quindi alle maiuscole e minuscole)
Il mio suggerimento per il workshop fatto è che vi sia un miglior controllore sintattico in fase di sviluppo e dei tool migliori per gestire il debugging

Abbiamo quasi  finito. Basta tornare indietro nel punto di vista degli outline ed impostare la larghezza al 100 per cento. Ho dimenticato di impostarla prima! (Vedi che anche il tutorial fa le cose in ordine casuale che uno sviluppatore farebbe davvero!) Non dimenticare di salvare!

Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

E per finire, torniamo indietro al database Navigator, e dopio click sulle Application Proprierties. Selezionare dall'opzione di lancio del browser l'applicazione Xpages Celebro Results ed il gioco è fatto
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Ora se apriremo il database nel browser guardate cosa esce:
Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Noterete anche che apparirà un menù di navigazione in alto, che non è certo automatico, ma è l'abilitazione di una particolare combobox. Leggetemi la prossima volta per capire come funziona!

Image:Xpages introdotte in Domino 8.5 - una rivoluzione nelle applicazioni Notes

Ed il gioco è fatto!

Naturalmente, questo ha implicazioni drammatiche per tutte le vostre applicazioni esistenti. Con la possibilità di fare ricerche in una colonna, ogni strategia di architettura dati che abbiamo utilizzato per la ultimi 15 anni è oramai obsoleto.

E se stai pensando "Questo deve essere un grande killer delle prestazioni!" questo non potrebbe essere più sbagliato.
Invece è un fulmine! perché la ricerca in Javascript è in realtà interpretato da un nativo Java API di ricerca, completo di gestione della cache, e quindi valutate lato server.
In questo esempio,sto facendo ricerche di 20 in 20 alla volta, e la pagina viene servita in un batter d'occhio.

Ci sono ancora diverse bug, ma questo spiega il perché la 8.5 sia ancora in beta release.

I rumors non sono esagerazioni. Xpages saranno la prossima evoluzione del mondo Lotus. Preparatevi ad entrare nella nuova era.

7 Commenti:

  • #1 Niro 12/05/2008 4:25:51 PM

    Buona lettura

  • #2 enzo stanzione 07/05/2008 10:03:02 AM

    Navigano qua e la per saperne di più sulle XPages ho trovato questo interessante podcast di Rob "Captain Oblivious" McDonagh e John Head, dover per oltre 50 minuti ne discutono a 360°. Lo potere trovare qui { Link }

  • #3 Giuseppe Grasso 06/23/2008 7:14:53 PM

    Si, le xpages sono (per ora) solo web, ma tutti hanno visto le potenzialità e tutti hanno pensato anche al client. In effetti dai "rumors" pare che la non inclusione delle xpages in modo nativo nel client sia dovuta alla necessità di rilasciare la feature con la 8.5, ma siamo tutti certi che in seguito vedremo le xpages anche nel client: tecnicamente nulla lo impedisce.

    In ogni caso, con il client standard e le composite applications il confine fra "client" e "web" è sempre più sfumato: anche con la 8.5 nulla ci impedisce di aprire una xpage all'interno del browser embeddato nel client e/o in una composite application.

  • #4 Daniele Grillo 06/23/2008 4:09:04 PM

    @Fabio Quello che dici pare che lo realizzeranno nella prossima release di Domino non nella 8.5 perchè pare non abbiano il tempo di rilasciarlo insieme.

    Giuseppe dovrebbe avere delle informazioni più dettagliate in merito e credo che leggendo i commenti risponderà lui stesso.

  • #5 Fabio Maggio 06/23/2008 2:46:34 PM

    Grande evoluzione!! Un'unica precisazione, ma importante: le XPages sono (per ora) solo web... ciao!

  • #6 Diego Visentin 06/23/2008 1:12:28 PM

    Essendo stato un fan del defunto Component Designer, direi che almeno Lotus non ha buttato via il bambino con l'acqua sporca. In ogni caso è un vero peccato che un tool così semplice non sia più a disposizione di chi usa server J2E o il portale IBM. Resta solo la (remota) speranza che prima o poi le xPage vengano pure inglobate nel RAD.

  • #7 Daniele Grillo 06/23/2008 11:56:54 AM

    { Link }

Commenta articolo
 

Questo spazio web è stato creato da per un uso pubblico e gratuito. Qualsiasi tipo di collaborazione sarà ben accetta.
Per maggiori informazioni, scrivete a info@dominopoint.it

About Dominopoint
Social
Dominopoint social presence: