DDive11 - Notes Moon Attack

download DDive11 - Notes Moon Attack

If you can't read please download the document

Transcript of DDive11 - Notes Moon Attack

Diapositiva 1

Notes Moon Attack!

Le potenzialit dello sviluppo EclipseTM in Domino/Notes

Fabrizio Marchesano

Domino Solutions Architect, Frame Srl - Genova

Co-pilota per le missioni IBM Lotus:

Dominopoint Day 1, 2 & 3

Dominopoint DDive 1

Lotusphere 09 & 10

UKLUG 09

Pilota della navicella SymphonyTM per la missione Redbooks Wiki:

Developing Plugins for Lotus Notes, Sametime, and Symphony ( http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Table_of_Contents_Developing_Customized_Components_for_Lotus_Notes_Sametime_and_Symphony )

http://www.frameweb.it/

Four, three, two, one, zero...
Light on!

Uno sguardo all'equipaggio

Per noi che... LotusScript & Formule

Eclipse Demo Time:

Moon Attack I : modificare il valore di un campo sui documenti selezionati

Moon Attack II: esportazione personalizzata di dati da vista a foglio di calcolo

Moon Attack III: connessione a database relazionali (e.g. MySQL) via JDBC

Moon Attack IV: plug-in packaging

Moon Attack V: Designer APIs

Bonus Attack

Conclusioni

Optional Speech agenda

agenda della sessione opzionale

Built on Eclipse (1)

A partire dalle versioni 8 e 8.5 rispettivamente, Lotus Notes e Lotus Domino Designer (e non solo) sono basati sul framework IBM Lotus Expeditor, a sua volta basato su Eclipse:

Built on Eclipse (2)

L'architettura Eclipse consente di estendere le funzionalit base dei software su di essa basati tramite l'implementazione di plug-ins:

Per utenti e sviluppatori Notes, tutto ci si concretizza nella possibilit di creare e utilizzare componenti aggiuntivi personalizzati e realizzati su misura per ogni esigenza, dal semplice add-on di supporto a vere e proprie applicazioni

Per noi che... LotusScript & Formule (1)

Tuttavia, sempre possibile lavorare e sviluppare in Notes mantenendo le abitudini acquisite nel corso degli anni, pocih sia per la user-experience...

Per noi che... LotusScript & Formule (2)

... che per la developer-experience...

Per noi che... LotusScript & Formule (3)

stato fatto un grande lavoro di adattamento per garantire la mai troppo lodata retrocompatibilit Domino/Notes, non solo dal punto di vista del codice ma anche dell'interfaccia utente

Il rovescio della medaglia si evidenzia nel fatto che, rispetto ad altre nuove tecnologie introdotte con le nuove versioni di Notes (e.g. XPages) lo sviluppo in ambiente Eclipse pu risultare meno immediato da usufruire...

... spingendo all'utilizzo di tecniche consolidate per far fronte alle necessit emergenti...

... anche quando tali necessit sono drammaticamente allineate all'evoluzione delle tecnologie informatiche:

Nooootes Mooooon Attaaaaack!!!

La necessit di installare e configurare un nuovo ambiente di sviluppo e di realizzare codice (e interfaccia) in puro linguaggio JavaTM, ampiamente ripagata dalle potenzialit degli strumenti a disposizione del programmatore (e conseguentemente dell'utilizzatore finale) quali ad esempio:

Indipendenza dalla piattaforma

Sviluppo di funzionalit aggiuntive tramite codice centralizzato

Separazione di codice dai dati

Connessione a database relazionali via JDBC

Integrazione con documenti e fogli di calcolo Symphony

Integrazione con Sametime

Creazione di strumenti di sviluppo personalizzati

DEMO TIME!

Demo (1) :

RICHIESTA #1: Abbiamo spesso la necessit di modificare il valore di alcuni campi su documenti per i quali non pi possibile l'editing manuale, o comunque di eseguire la medesima operazione su gruppi anche estesi di documenti. Tutte le nostre applicazioni Notes sono potenzialmente coinvolte. La tipologia del nuovo valore inserito dovrebbe inoltre essere coerente con il tipo di campo implicato e, in caso di campi aggiuntivi, sarebbe opportuno poter selezionare la tipologia desiderata.

Moon Attack I:

Demo (2) :

RICHIESTA #2: Utilizziamo frequentemente l'utile funzione Modifica/Copia come/Tabella per esportare dati da applicazione Notes a fogli di calcolo, tuttavia vorremmo avere la possibilit di essere indipendenti dalla struttura della vista attiva e poter selezionare di volta in volta i campi desiderati nonch l'intestazione delle colonne sul foglio target. Numeri e date dovrebbero inoltre mantenere la coerenza del formato. Come prima, l'esigenza potenzialmente applicabile a tutte le applicazioni Notes.

Moon Attack II:

Demo (3) :

RICHIESTA #3: Importiamo ed esportiamo quotidianamente dati da Notes a database relazionali e viceversa utilizzando connessioni ODBC, che dobbiamo creare, configurare e, se necessario, successivamente modificare su tutte le macchine degli utenti coinvolti. Abbiamo bisogno di una funzionalit configurabile centralmente, in grado di riconoscere automaticamente i database sorgenti da utilizzare nel rispetto del contesto applicazione/utente, dando a quest'ultimo la possibilit di selezionare le tabelle da importare. La regola di base che ogni record dovr essere importato utilizzando un form con lo stesso nome della tabella di origine. Naturalmente la sicurezza dovr essere gestita sulla base dell'autenticazione tramite username e password.

Moon Attack III:

Demo (4a) :

RICHIESTA #4: Infine, abbiamo un'esigenza molto specifica: importare in Notes un sottoinsieme di record da database relazionali eseguendo per una selezione manuale degli stessi, poich i criteri di scelta sono tali da non consentire la realizzazione di query dedicate o di automatismi. Allo stesso modo, il form target deve poter essere impostato manualmente scavalcando la regola precedentemente applicata del nome form uguale a nome tabella. inoltre richiesta la creazione finale di un report su foglio di calcolo relativo alle informazioni cos estratte.

Sviluppatore (tra s e s): Sembrano esserci tutte le condizioni ideali per sfruttare gli extension point dei plug-in realizzati sulla base delle richieste precedenti...

Demo (4b) :

Moon Attack IV:

PLUG-IN 1

PLUG-IN 2

PLUG-IN 3

PLUG-INPACKAGING

Demo (4c) :

Moon Attack IV:

ZAMBO ACE PLUG-IN

ZAMBULL PLUG-IN

ZAMBASE PLUG-IN

PLUG-INCOMBINATION IN

Demo (5) :

RICHIESTA #5: Ah, quasi dimenticavo: abbiamo del personale IT interno che si occupa, tra le altre cose, di gestire le richieste di modifiche rapide alle applicazioni. Sarebbe possibile implementare delle funzionalit personalizzate in Domino Designer per velocizzare ulteriormente questo tipo di interventi? Ad esempio, poter selezionare da un elenco precostituito porzioni di codice script di utilizzo comune?

Moon Attack V:

Bonus Attack :

Realizzare in Eclipse applicazioni di tipo mobile native per dispositivi specifici (e.g. BlackBerry) sfruttandone le caratteristiche peculiari utilizzando Domino per lo storage dei dati senza necessit di pubblicare le informazioni al di fuori della Intranet:

Conclusioni

Passare dalla programmazione Notes classica all'ambiente Eclipse pu non essere cos spontaneo, soprattutto per chi, come me, fa parte della vecchia guardia LotusScript & Formule...

... ma i benefici che se ne possono trarre (sia per utenti che per sviluppatori) sono tali da meritare ben pi di una possibilit, soprattutto nell'ottica delle nuove necessit e, conseguentemente, delle nuove richieste in linea con l'evoluzione delle tecnologie IT

L'indipendenza dalla piattaforma, la possibilit di interagire con documenti di tipo Desktop Office tramite Symphony, l'interazione con database relazionali tramite JDBC e la possibilit di estendere e personalizzare le funzionalit dello stesso ambiente di sviluppo sono solo alcuni esempi dell'estrema duttilit degli strumenti messi a disposizione degli sviluppatori

Vi aspetto all'ombra della luna di Eclipse. Buon lavoro a tutti!

Ringraziamenti

Si ringrazia L'invincibile superuomo Zambot 3 (Muteki Choujin Zambot 3) per la partecipazione

E se, come in tutte le serie robotiche del Sol Levante, non tutti i protagonisti arrivano intatti all'ultima puntata...

... perch, come in tutte le serie robotiche del Sol Levante, i piloti del mezzo si ostinano a non utilizzare la loro arma pi potente se non quando sono ormai al limite della resistenza

Perci non fate come loro e ripetete con me:

Noooootes...

Grazie a tutti per l'attenzione!

Questions?

Your final slide

La tua ultima slideContatti: [email protected]

Grazie agli sponsor per aver reso possibile il DDive 2011!

Main Sponsor

Premium Sponsor

Prime Sponsor

Keep this as last slide

Lascia questa come ultima slide