2. Chi siamo
Giuseppe Grasso
Technologist, Italian LUG
leader, unable to bio
himself... and an IBM
Champion!
Daniele Grillo
Owner Grydan SAS
12 anni consulenza IBM
Trainer, Developer, Admin
Fondatore Dominopoint
IBM Champion
6. Cosa sono le XPages
• Le XPages sono una piattaforma per lo sviluppo
di applicazioni web e mobile.
• Consentono la fruizione di dati NSF, relazionali ed
altro sui browser di tutte le piattaforme.
• Il modello di sviluppo è basato su standard e skill
comuni per lo sviluppo web come HTML, CSS,
JavaScript, Ajax, the Dojo Toolkit, Server-side
JavaScript e JavaServer Faces.
• Le XPages sfruttano inoltre le funzionalità del
server IBM Domino.
7. Framework di sviluppo web basato su
standard
• Un insieme di elementi di design inseriti in
Domino Designer Eclipse Based (>=8.5.1)
• Runtime basto su OSGi, pienamente integrato
in Domino Web server
• Usano HTML / CSS / JavaScript / Dojo lato
client.
• Usano JAVA e JSS (Javascript Server Side) lato
server.
8. Storia delle XPages
• Tecnologia acquisita da Trilog Group
• Inizialmente XFaces in IBM Workplace Designer (Lotus
Component Designer)
• Nel 2007 portata su IBM Lotus Notes/Domino e diventano
le XPages
• Rilasciate con IBM Lotus Notes/Domino 8.5.0
• Con il rilascio 8.5.1 si aggiunge il Runtime nel Notes Client
(XPages in the Notes Client: XPiNC)
• Con IBM Lotus Notes/Domino 8.5.2 la the Extensibility API
e le Xpages Extension Library (ExtLib) rilasciate su OpenNTF
• Con IBM Notes/Domino Social Edition 9 ExtLib distribuite
con Domino
9. Sviluppo mobile e web 2.0
• Azioni Ajax
• Refresh parziali
• controlli di interfaccia avanzati
• (layout, dialoghi, navigatorsi, pickers...)
• Responsive design (esempio: bootstrap)
• Custom controls e temi specifici per mobile
10. Fonti Domino integrate
•Dati semistrutturati NoSQL like,
•Gerarchie di documenti
•Semplicità nella modifica delle strutture dati
•Porting Linguaggio @Formula e classi
lotusscript
13. Tecnologia XPages
• XPages is a Java™ runtime based upon JavaServer™ Faces 1.1 (JSF)
– Stateful, Component based user-interface application framework
– JSF APIs and concepts fully apply to XPages
– JSF has been extended in many ways to make it richer and easier to
use
– (Ajax behaviors, script languages, extended control set...)
• XPages runs within a servlet engine
– A custom servlet engine is used to run NSF based Web applications
– The NSF is seen as a deployed J2EE® Web Module
– The Servlet API is available to the running XPages
• The Dojo Toolkit is used as the runtime JavaScript™ library
– Used as a core JavaScript library as well as a UI widget framework
– Tightly integrated within the XPages runtime
18. XPages e Database relazionali
• Le XPages usano JDBC per connettersi a database relazionali
─ Qualsiasi database che fornisca JDBC driver
–DB2,
–Oracle,
–MS SQL,
–MySQL,
–Derby
–JDBC fornito dal database vendor o da terze parti
• Accesso diretto ai dati relazionali e non sincronizzazione con NSF
• XPages connection pooling per la gestione delle connessioni
concorrenti
• Accesso ai dati mediante datasource specifici e/o javascript server
side
19. XPages JDBC connectivity model
Xpages Application
Extension Library Relational Data Sources
Extension Library Connection Pool
JDBC API
JDBC Driver Manager
JDBC Driver
Database
20. Dati relazionali
Fonti dati Javascript @Formula
@JdbcGetConnection()
@JdbcDbColumn()
@JdbcDelete()
@JdbcExecuteQuery()
@JdbcInsert()
@JdbcUpdate()
classi java.sql.*
da javascript server side
(es: java.sql.ResultSet)
25. Alcuni vantaggi
• Preservare investimento IBM Domino
• RAD Application
• Apertura al mondo JAVA
• OAuth e semplicità integrazione
• Integrazione RDBMS
• Scalabilità
• Notes e Browser stessa interfaccia
• Upgrade applicativo parallelo
26. Economia
• costi di licenza
es: licenze express, IBM XWork Server
http://www-03.ibm.com/software/products/en/ibmxworserv
• Economie di gestione dell’infrastruttura
• Riduzione dei rischi
• Grandi economie di scala
27. Flessibilità
Piattaforma e skillset unici per:
•Sviluppo web, desktop, mobile, allineata alle best
practices correnti
•Database relazioni e non relazioni
•Semplicità di sviluppo e rilascio
•Deploy on premise, in hosting o in cloud
(prossimamente)
•Modello di sviluppo approciabile da qualsiasi
genere di sviluppatore
30. OpenNTF
OpenNTF con Codice e Software di Esempio
•OpenNTF XSnippets
•Extension Library
•Xpages debug toolbar
•Workflow4XPages
•POI4XPages
•XPages toolkit
•OpenNTF Domino API
•Social business toolkit
•Xcontrols
•E tanti tanti altri progetti
32. Altre risorse
• 3270 Q/A su stackoverflow
http://stackoverflow.com/questions/tagged/x
pages
• IBM Application Development Wiki
http://www-10.lotus.com/ldd/ddwiki.nsf
• NotesIn9 podcasts (>140 episodi >40 ore)
http://xpages.tv/
37. Caso 1 – Website ASL Pavia:
• Web site classico sviluppato in Domino R5 nel
1999/2000
• Devo rifare il web-site, devo passare ad un’altra
piattaforma?
• Sono molti NSF Domino in Backend e layout
tabellare costruito con Designer nel tempo
• IBM WS Portal è unica soluzione IBM?
• Conforme alla legge su accessibilità?
• Visibile a http://www.asl.pavia.it
40. Vantaggi:
• Codice HTML5,CSS3, Bootstrap.
• Conforme legge accessibilità (28/10/2014 HTML
è official standard)
• Accesso Mobile
• Non viene alterata l’infrattuttura Domino
applicativa esistente (dati letti da NSF esistenti)
• Unico Entry Point e URL compliant SEO
• Manutenzione codice in unico punto
• Investimento contenuto
41. Caso 2 – DB2 e Domino:
• I miei dati sono su DB2 e devo realizzare
interfacce applicative
• Posso farlo con Domino in real-time?
• Senza l’ausilio di un client Notes?
• Interrogare SQL e Notes in contemporanea
sulla stessa videata?
42. Caso 3 – Upgrade CRM:
• Ho un CRM fatto in casa su Domino
• Posso averlo multi-lingua?
• Web Oriented?
• Non voglio toccare il design attuale
• Accessibile da Mobile?