SlideShare a Scribd company logo
1 of 43
XPages
Dominopoint Meet the Experts
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
Agenda
• Introduzione alle XPages
• Vantaggi
• Risorse
• Domande e Risposte
INTRODUZIONE ALLE XPAGES
IBM Domino
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.
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.
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
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
Fonti Domino integrate
•Dati semistrutturati NoSQL like,
•Gerarchie di documenti
•Semplicità nella modifica delle strutture dati
•Porting Linguaggio @Formula e classi
lotusscript
Altre fonti dati
Semplice accesso ad altre fonti dati come:
•Relazionali
•REST
•NoSQL
•Web Services
XPages target platform
• Desktop browsers
• Notes client (XULrunner embedded browser)
• Mobile browsers tablet smartphone
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
Architettura
NSF su server o replica locale
da rookie a guru !
Differenti skill
Separazione Dati & Applicazioni
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
XPages JDBC connectivity model
Xpages Application
Extension Library Relational Data Sources
Extension Library Connection Pool
JDBC API
JDBC Driver Manager
JDBC Driver
Database
Dati relazionali
Fonti dati Javascript @Formula
@JdbcGetConnection()
@JdbcDbColumn()
@JdbcDelete()
@JdbcExecuteQuery()
@JdbcInsert()
@JdbcUpdate()
classi java.sql.*
da javascript server side
(es: java.sql.ResultSet)
Xpages design elements
• Xpages
• Custom Controls
• Themes
• Librerie Server Side
• Risorse
Extension libraries
• Ricco set di componenti aggiuntivi come:
– Layout pronti all’uso (OneUI o Boostrap)
– Dialog
– REST
– Json-rpc
– PickList Names
– Db relazionali
– oAuth (Facebook, Twitter etc..)
– .... Molto altro....
• Free scaricabile da http://extlib.openntf.org/
VANTAGGI
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
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
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
Sicurezza
• Piattaforma consolidata
• Supporto del vendor
• Roadmap
• Community
RISORSE
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
Mastering Xpages (2nd edition)
XPages Extension Library
Xpages portable command guide
Libri
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/
FUTURO
Cosa ci aspettiamo
• Evoluzione da Extension Library  Release
• Più Bootstrap e Jquery
• Più mobile
• Più dati relazionali
• Più security
XPages su Bluemix
CASE HISTORY
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
Oggi:
Domani
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
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?
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?
Domande?

More Related Content

What's hot

Offerta Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...
Offerta  Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...Offerta  Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...
Offerta Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...Max Ardigó 🇦🇷
 
Presentazione IBM i virtualizzazione su Power System
Presentazione IBM i virtualizzazione su Power SystemPresentazione IBM i virtualizzazione su Power System
Presentazione IBM i virtualizzazione su Power SystemPRAGMA PROGETTI
 
.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNetMauro Servienti
 
EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...
EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...
EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...Alessandro Villani
 
Linux on power best practices
Linux on power best practicesLinux on power best practices
Linux on power best practicesPRAGMA PROGETTI
 
Ecole 2010 meeting ad hoc net
Ecole 2010 meeting ad hoc netEcole 2010 meeting ad hoc net
Ecole 2010 meeting ad hoc net3Service Srl
 

What's hot (8)

Brochure webgate400 R8
Brochure webgate400 R8Brochure webgate400 R8
Brochure webgate400 R8
 
Offerta Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...
Offerta  Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...Offerta  Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...
Offerta Soluzione ODW 2.0 Quickstart- Portale Enterprise 2.0 Up & Running in...
 
Ha solutions su power i
Ha solutions su power iHa solutions su power i
Ha solutions su power i
 
Presentazione IBM i virtualizzazione su Power System
Presentazione IBM i virtualizzazione su Power SystemPresentazione IBM i virtualizzazione su Power System
Presentazione IBM i virtualizzazione su Power System
 
.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet
 
EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...
EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...
EXPLAN - VAR Group - Evento IBM Social Business Whats new in Notes 9 e Connec...
 
Linux on power best practices
Linux on power best practicesLinux on power best practices
Linux on power best practices
 
Ecole 2010 meeting ad hoc net
Ecole 2010 meeting ad hoc netEcole 2010 meeting ad hoc net
Ecole 2010 meeting ad hoc net
 

Viewers also liked

IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...Dominopoint - Italian Lotus User Group
 
Speed up the cloud adoption with SoftLayer Cloud Services - dominopoint
Speed up the cloud adoption with SoftLayer Cloud Services - dominopointSpeed up the cloud adoption with SoftLayer Cloud Services - dominopoint
Speed up the cloud adoption with SoftLayer Cloud Services - dominopointDominopoint - Italian Lotus User Group
 

Viewers also liked (18)

IBM Worspace: Towards a culture of conversations
IBM Worspace: Towards a culture of conversationsIBM Worspace: Towards a culture of conversations
IBM Worspace: Towards a culture of conversations
 
Mail Client from Traveler to Verse On-Premises
Mail Client from Traveler to Verse On-PremisesMail Client from Traveler to Verse On-Premises
Mail Client from Traveler to Verse On-Premises
 
Riding the Enterprise Integration train
Riding the Enterprise Integration trainRiding the Enterprise Integration train
Riding the Enterprise Integration train
 
Meetit16 KeyNote di Apertura
Meetit16 KeyNote di AperturaMeetit16 KeyNote di Apertura
Meetit16 KeyNote di Apertura
 
IBM Bluemix
IBM BluemixIBM Bluemix
IBM Bluemix
 
IBM Verse New Way To Work
IBM Verse New Way To WorkIBM Verse New Way To Work
IBM Verse New Way To Work
 
IBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with AngularjsIBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with Angularjs
 
Notes and Domino Roadmap
Notes and Domino RoadmapNotes and Domino Roadmap
Notes and Domino Roadmap
 
IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...
 
Cloudant e XPages
Cloudant e XPagesCloudant e XPages
Cloudant e XPages
 
IBM Connections 10 things every user should know
IBM Connections 10 things every user should knowIBM Connections 10 things every user should know
IBM Connections 10 things every user should know
 
La Collaborazione Europea
La Collaborazione EuropeaLa Collaborazione Europea
La Collaborazione Europea
 
Ortocloud l'applicazione per fare orto su Bluemix
Ortocloud l'applicazione per fare orto su BluemixOrtocloud l'applicazione per fare orto su Bluemix
Ortocloud l'applicazione per fare orto su Bluemix
 
Crossware MailSignature
Crossware MailSignatureCrossware MailSignature
Crossware MailSignature
 
the future of work
the future of workthe future of work
the future of work
 
Bluemix Cloud Platform - dominopoint
Bluemix Cloud Platform - dominopointBluemix Cloud Platform - dominopoint
Bluemix Cloud Platform - dominopoint
 
Speed up the cloud adoption with SoftLayer Cloud Services - dominopoint
Speed up the cloud adoption with SoftLayer Cloud Services - dominopointSpeed up the cloud adoption with SoftLayer Cloud Services - dominopoint
Speed up the cloud adoption with SoftLayer Cloud Services - dominopoint
 
Keynote apertura Dominopoint Days 2013, #dd13
Keynote apertura Dominopoint Days 2013, #dd13Keynote apertura Dominopoint Days 2013, #dd13
Keynote apertura Dominopoint Days 2013, #dd13
 

Similar to Dominopoint meet the experts 2015 - XPages

Novità in Visual Studio 2012
Novità in Visual Studio 2012Novità in Visual Studio 2012
Novità in Visual Studio 2012Sinergia Totale
 
Oracle Apex - Presentazione
Oracle Apex - PresentazioneOracle Apex - Presentazione
Oracle Apex - PresentazioneMiriade Spa
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAXTommaso Torti
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione webQabiria
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeomarcocasario
 
DB2 Web Query for i V2.1.0
DB2 Web Query for i V2.1.0DB2 Web Query for i V2.1.0
DB2 Web Query for i V2.1.0S.info Srl
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store appsDotNetCampus
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseGianluca Hotz
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSMAU
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Alessandro del Gobbo
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 
SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)Sabino Labarile
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudGianluca Hotz
 

Similar to Dominopoint meet the experts 2015 - XPages (20)

Novità in Visual Studio 2012
Novità in Visual Studio 2012Novità in Visual Studio 2012
Novità in Visual Studio 2012
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
Oracle Apex - Presentazione
Oracle Apex - PresentazioneOracle Apex - Presentazione
Oracle Apex - Presentazione
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAX
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione web
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
 
DB2 Web Query for i V2.1.0
DB2 Web Query for i V2.1.0DB2 Web Query for i V2.1.0
DB2 Web Query for i V2.1.0
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del cero
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Xpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologiaXpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologia
 
SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
 

More from Dominopoint - Italian Lotus User Group

More from Dominopoint - Italian Lotus User Group (11)

TOTP - Time-Based One Time password in Domino
TOTP - Time-Based One Time password in DominoTOTP - Time-Based One Time password in Domino
TOTP - Time-Based One Time password in Domino
 
Domino Backup V12 - Un nuovo Task
Domino Backup V12 - Un nuovo TaskDomino Backup V12 - Un nuovo Task
Domino Backup V12 - Un nuovo Task
 
Back to the Future: Understand and Optimize your IBM Notes and Domino Infrast...
Back to the Future: Understand and Optimize your IBM Notes and Domino Infrast...Back to the Future: Understand and Optimize your IBM Notes and Domino Infrast...
Back to the Future: Understand and Optimize your IBM Notes and Domino Infrast...
 
Life in the Fast Lane: Full Speed XPages!, #dd13
Life in the Fast Lane: Full Speed XPages!, #dd13Life in the Fast Lane: Full Speed XPages!, #dd13
Life in the Fast Lane: Full Speed XPages!, #dd13
 
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
 
Tivoli Storage Manager - backup and restore for Domino, #dd13
Tivoli Storage Manager - backup and restore for Domino, #dd13Tivoli Storage Manager - backup and restore for Domino, #dd13
Tivoli Storage Manager - backup and restore for Domino, #dd13
 
XPages Mobile, #dd13
XPages Mobile, #dd13XPages Mobile, #dd13
XPages Mobile, #dd13
 
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
 
IBM Connection - customize it, #dd13
IBM Connection - customize it, #dd13IBM Connection - customize it, #dd13
IBM Connection - customize it, #dd13
 
IBM Smart Cloud, #dd13
IBM Smart Cloud, #dd13IBM Smart Cloud, #dd13
IBM Smart Cloud, #dd13
 
Domino e HTML5, #dd13
Domino e HTML5, #dd13Domino e HTML5, #dd13
Domino e HTML5, #dd13
 

Dominopoint meet the experts 2015 - XPages

  • 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
  • 3. Agenda • Introduzione alle XPages • Vantaggi • Risorse • Domande e Risposte
  • 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
  • 11. Altre fonti dati Semplice accesso ad altre fonti dati come: •Relazionali •REST •NoSQL •Web Services
  • 12. XPages target platform • Desktop browsers • Notes client (XULrunner embedded browser) • Mobile browsers tablet smartphone
  • 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
  • 14. Architettura NSF su server o replica locale
  • 15. da rookie a guru !
  • 17. Separazione Dati & Applicazioni
  • 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)
  • 21. Xpages design elements • Xpages • Custom Controls • Themes • Librerie Server Side • Risorse
  • 22. Extension libraries • Ricco set di componenti aggiuntivi come: – Layout pronti all’uso (OneUI o Boostrap) – Dialog – REST – Json-rpc – PickList Names – Db relazionali – oAuth (Facebook, Twitter etc..) – .... Molto altro.... • Free scaricabile da http://extlib.openntf.org/
  • 23.
  • 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
  • 28. Sicurezza • Piattaforma consolidata • Supporto del vendor • Roadmap • Community
  • 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
  • 31. Mastering Xpages (2nd edition) XPages Extension Library Xpages portable command guide Libri
  • 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/
  • 34. Cosa ci aspettiamo • Evoluzione da Extension Library  Release • Più Bootstrap e Jquery • Più mobile • Più dati relazionali • Più security
  • 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
  • 38. Oggi:
  • 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?

Editor's Notes

  1. XPD == Lotus Expeditor
  2. Screenshot designer