Notes Moon Attack! Le potenzialità dello sviluppo Eclipse TM  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 Symphony TM  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
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...

DDive11 - Notes Moon Attack

  • 1.
    Notes Moon Attack!Le potenzialità dello sviluppo Eclipse TM in Domino®/Notes®
  • 2.
    Fabrizio Marchesano DominoSolutions Architect, Frame Srl - Genova
  • 3.
    Co-pilota per lemissioni IBM® Lotus®: Dominopoint Day 1, 2 & 3
  • 4.
  • 5.
  • 6.
    UKLUG 09 Pilotadella navicella Symphony TM 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/
  • 7.
    Four, three, two,one, zero... Light on! Uno sguardo all'equipaggio
  • 8.
    Per noi che...LotusScript® & Formule
  • 9.
    Eclipse Demo Time:Moon Attack I : modificare il valore di un campo sui documenti selezionati
  • 10.
    Moon Attack II:esportazione personalizzata di dati da vista a foglio di calcolo
  • 11.
    Moon Attack III:connessione a database relazionali (e.g. MySQL) via JDBC
  • 12.
    Moon Attack IV:plug-in packaging
  • 13.
    Moon Attack V:Designer APIs Bonus Attack
  • 14.
  • 15.
    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:
  • 16.
    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:
  • 17.
    Per utenti esviluppatori 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
  • 18.
    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...
  • 19.
    Per noi che...LotusScript & Formule (2) ... che per la developer-experience...
  • 20.
    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
  • 21.
    Il rovescio dellamedaglia 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...
  • 22.
    ... spingendo all'utilizzodi tecniche consolidate per far fronte alle necessità emergenti...
  • 23.
    ... anche quandotali necessità sono drammaticamente allineate all'evoluzione delle tecnologie informatiche:
  • 24.
    Nooootes Mooooon Attaaaaack!!!La necessità di installare e configurare un nuovo ambiente di sviluppo e di realizzare codice (e interfaccia) in puro linguaggio Java TM , è ampiamente ripagata dalle potenzialità degli strumenti a disposizione del programmatore (e conseguentemente dell'utilizzatore finale) quali ad esempio: Indipendenza dalla piattaforma
  • 25.
    Sviluppo di funzionalitàaggiuntive tramite codice centralizzato
  • 26.
  • 27.
    Connessione a databaserelazionali via JDBC
  • 28.
    Integrazione con documentie fogli di calcolo Symphony
  • 29.
  • 30.
    Creazione di strumentidi sviluppo personalizzati DEMO TIME!
  • 31.
    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.»
  • 32.
  • 33.
    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.»
  • 34.
  • 35.
    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.»
  • 36.
  • 37.
    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.»
  • 38.
    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...»
  • 39.
    Demo (4b) :Moon Attack IV: PLUG-IN 1 PLUG-IN 2 PLUG-IN 3 PLUG-IN PACKAGING
  • 40.
    Demo (4c) :Moon Attack IV: ZAMBO ACE PLUG-IN ZAMBULL PLUG-IN ZAMBASE PLUG-IN PLUG-IN COMBINATION IN
  • 41.
    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?»
  • 42.
  • 43.
    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:
  • 44.
    Conclusioni Passare dallaprogrammazione Notes classica all'ambiente Eclipse può non essere così spontaneo, soprattutto per chi, come me, fa parte della vecchia guardia “LotusScript & Formule”...
  • 45.
    ... ma ibenefici 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
  • 46.
    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
  • 47.
    Vi aspetto all'ombradella luna di Eclipse. Buon lavoro a tutti!
  • 48.
    Ringraziamenti Si ringrazia L'invincibile superuomo Zambot 3 (Muteki Choujin Zambot 3) per la partecipazione
  • 49.
    E se, comein tutte le serie robotiche del Sol Levante, non tutti i protagonisti arrivano intatti all'ultima puntata...
  • 50.
    ... è 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
  • 51.
    Perciò non fatecome loro e ripetete con me: Noooootes... Grazie a tutti per l'attenzione!
  • 52.
    Questions? Contatti: [email_address]
  • 53.
    Grazie agli sponsorper aver reso possibile il DDive 2011! Main Sponsor Premium Sponsor Prime Sponsor