Notes Moon Attack! Le potenzialità dello sviluppo Eclipse TM  in Domino®/Notes®
Fabrizio Marchesano <ul><li>Domino Solutions Architect,  Frame Srl  - Genova
Co-pilota per le missioni IBM® Lotus®: </li></ul><ul><ul><ul><li>Dominopoint Day 1, 2 & 3
Dominopoint DDive 1
Lotusphere 09 & 10
UKLUG 09 </li></ul></ul></ul><ul><li>Pilota della navicella Symphony TM  per la missione Redbooks® Wiki: </li></ul>Develop...
Four, three, two, one, zero... Light on! <ul><li>Uno sguardo all'equipaggio
Per noi che... LotusScript® & Formule
Eclipse Demo Time: </li></ul><ul><ul><ul><li>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 </li></ul></ul></ul><ul><li>Bonus Attack
Conclusioni </li></ul>
Built on Eclipse (1) <ul><li>A partire dalle versioni 8 e 8.5 rispettivamente, Lotus Notes e Lotus Domino Designer (e non ...
Built on Eclipse (2) <ul><li>L'architettura Eclipse consente di estendere le funzionalità base dei software su di essa bas...
Per utenti e sviluppatori Notes, tutto ciò si concretizza nella possibilità di creare e utilizzare componenti aggiuntivi p...
Per noi che... LotusScript & Formule (1) <ul><li>Tuttavia, è sempre possibile lavorare e sviluppare in Notes mantenendo le...
Per noi che... LotusScript & Formule (2) <ul><li>... che per la developer-experience... </li></ul>
Per noi che... LotusScript & Formule (3) <ul><li>…  è stato fatto un grande lavoro di adattamento per garantire la mai tro...
Il rovescio della medaglia si evidenzia nel fatto che, rispetto ad altre nuove tecnologie introdotte con le nuove versioni...
Upcoming SlideShare
Loading in …5
×

DDive11 - Notes Moon Attack

635
-1

Published on

Sviluppare funzionalità aggiuntive di utilizzo comune centralizzandone il codice. Realizzare vere e proprie applicazioni mantenendo separati codice e dati. Creare strumenti di sviluppo personalizzati estendendo le potenzialità del Lotus Domino Designer. Integrare Symphony nelle applicazioni Notes.
Sono solo alcune delle opportunità offerte agli sviluppatori Domino dall'ambiente Eclipse.
Per chi, come chi scrive (classe Lotus Notes 4.5), fa parte della vecchia guardia "LotusScript & Formule" può non essere così spontaneo abbandonare tecniche consolidate cercando nuove soluzioni a necessità note (il lato oscuro della retrocompatibilità) ma le potenzialità offerte dal lunare e multipiattaforma IDE sono tali da meritare, demo alla mano, ben più di una possibilità.
Ripetete con me: Nooootes Moooon Attaaaack!

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
635
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DDive11 - Notes Moon Attack

  1. 1. Notes Moon Attack! Le potenzialità dello sviluppo Eclipse TM in Domino®/Notes®
  2. 2. Fabrizio Marchesano <ul><li>Domino Solutions Architect, Frame Srl - Genova
  3. 3. Co-pilota per le missioni IBM® Lotus®: </li></ul><ul><ul><ul><li>Dominopoint Day 1, 2 & 3
  4. 4. Dominopoint DDive 1
  5. 5. Lotusphere 09 & 10
  6. 6. UKLUG 09 </li></ul></ul></ul><ul><li>Pilota della navicella Symphony TM per la missione Redbooks® Wiki: </li></ul>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 ) <ul><li>http://www.frameweb.it/ </li></ul>
  7. 7. Four, three, two, one, zero... Light on! <ul><li>Uno sguardo all'equipaggio
  8. 8. Per noi che... LotusScript® & Formule
  9. 9. Eclipse Demo Time: </li></ul><ul><ul><ul><li>Moon Attack I : modificare il valore di un campo sui documenti selezionati
  10. 10. Moon Attack II: esportazione personalizzata di dati da vista a foglio di calcolo
  11. 11. Moon Attack III: connessione a database relazionali (e.g. MySQL) via JDBC
  12. 12. Moon Attack IV: plug-in packaging
  13. 13. Moon Attack V: Designer APIs </li></ul></ul></ul><ul><li>Bonus Attack
  14. 14. Conclusioni </li></ul>
  15. 15. Built on Eclipse (1) <ul><li>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: </li></ul>
  16. 16. Built on Eclipse (2) <ul><li>L'architettura Eclipse consente di estendere le funzionalità base dei software su di essa basati tramite l'implementazione di plug-ins:
  17. 17. 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 </li></ul>
  18. 18. Per noi che... LotusScript & Formule (1) <ul><li>Tuttavia, è sempre possibile lavorare e sviluppare in Notes mantenendo le abitudini acquisite nel corso degli anni, pocihè sia per la user-experience... </li></ul>
  19. 19. Per noi che... LotusScript & Formule (2) <ul><li>... che per la developer-experience... </li></ul>
  20. 20. Per noi che... LotusScript & Formule (3) <ul><li>… è 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. 21. 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...
  22. 22. ... spingendo all'utilizzo di tecniche consolidate per far fronte alle necessità emergenti...
  23. 23. ... anche quando tali necessità sono drammaticamente allineate all'evoluzione delle tecnologie informatiche: </li></ul>
  24. 24. Nooootes Mooooon Attaaaaack!!! <ul><li>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: </li></ul><ul><ul><ul><li>Indipendenza dalla piattaforma
  25. 25. Sviluppo di funzionalità aggiuntive tramite codice centralizzato
  26. 26. Separazione di codice dai dati
  27. 27. Connessione a database relazionali via JDBC
  28. 28. Integrazione con documenti e fogli di calcolo Symphony
  29. 29. Integrazione con Sametime
  30. 30. Creazione di strumenti di sviluppo personalizzati </li></ul></ul></ul><ul><li>DEMO TIME! </li></ul>
  31. 31. Demo (1) : <ul><li>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. 32. Moon Attack I: </li></ul>
  33. 33. Demo (2) : <ul><li>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. 34. Moon Attack II: </li></ul>
  35. 35. Demo (3) : <ul><li>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. 36. Moon Attack III: </li></ul>
  37. 37. Demo (4a) : <ul><li>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. 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...» </li></ul>
  39. 39. Demo (4b) : <ul><li>Moon Attack IV: </li></ul>PLUG-IN 1 PLUG-IN 2 PLUG-IN 3 PLUG-IN PACKAGING
  40. 40. Demo (4c) : <ul><li>Moon Attack IV: </li></ul>ZAMBO ACE PLUG-IN ZAMBULL PLUG-IN ZAMBASE PLUG-IN PLUG-IN COMBINATION IN
  41. 41. Demo (5) : <ul><li>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. 42. Moon Attack V: </li></ul>
  43. 43. Bonus Attack : <ul><li>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: </li></ul>
  44. 44. Conclusioni <ul><li>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”...
  45. 45. ... 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
  46. 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. 47. Vi aspetto all'ombra della luna di Eclipse. Buon lavoro a tutti! </li></ul>
  48. 48. Ringraziamenti <ul><li>Si ringrazia L'invincibile superuomo Zambot 3 (Muteki Choujin Zambot 3) per la partecipazione
  49. 49. E se, come in tutte le serie robotiche del Sol Levante, non tutti i protagonisti arrivano intatti all'ultima puntata...
  50. 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. 51. Perciò non fate come loro e ripetete con me: </li></ul>Noooootes... <ul><li>Grazie a tutti per l'attenzione! </li></ul>
  52. 52. Questions? Contatti: [email_address]
  53. 53. Grazie agli sponsor per aver reso possibile il DDive 2011! Main Sponsor Premium Sponsor Prime Sponsor
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×