More Related Content Similar to App.Next - The Future of Domino Application Development (20) More from Teamstudio (20) App.Next - The Future of Domino Application Development1. App.Next - The Future of Domino Application Development
Tweet about this event
And mention us: @Teamstudio @TLCCLTD
@pjanzen20 @TweeterDonnelly @BGleesonIE
May 14, 2015
3. Who We Are
• Teamstudio’s background is in creating tools for
collaborative computing in mid-size and large
enterprises, primarily for IBM Notes
• Easy-to-use tools for developers and administrators
• 1600+ active customers, 53 countries
• Offices in US, UK, and Japan
• Entered mobile space in 2010 with Unplugged: easy
mobilization of Notes apps to Blackberry, Android
and iOS
4. Teamstudio Unplugged
• Your mobile Domino server: take your IBM Notes
apps with you!
• End-users access Notes applications from mobile
devices whether online or offline
• Leverages the powerful technology of XPages
5. Unplugged Templates
• Continuity – Mobile offline access to
BCM programs
• OneView Approvals – Expense
approvals; anywhere, anytime
• CustomerView – lightweight CRM
framework for field sales and field
service teams
• Contacts – customer information database
• Activities – customer activity log
• Media – mobile offline file storage and access
6. XControls
• Set of Controls for IBM Domino XPages developers
working on new XPages apps and on app
modernization projects
• Re-write of the Teamstudio Unplugged Controls
project, but adds full support for PC browser-based
user interfaces as well as mobile interfaces
• Enables XPages developers to create controls that
are responsive
• Learn more: teamstudio.com/solutions/xfoundations
7. Teamstudio Services
• Professional services for modernization, web
enablement, project management, development,
and administration
o Modernization Services
o Unplugged Developer Assistance Program
o Application Upgrade Analysis
o Application Complexity Analysis
o Application Usage Auditing
• http://www.teamstudio.com/solutions/services/
8. • Teamstudio blog promotion:
o Subscribe to Teamstudio’s blog before May 31, 2015 and you’ll be automatically
entered to win an iPhone 6!
• NotesTools promotion:
o Be automatically entered to win an iPhone 6 if you contact us by Jun. 30, 2015 for
more information on Analyzer, Delta, and Configurator.
• DNUG: Jun. 10-11, 2015
o Come see us in Dortmund, Germany
10. How can TLCC Help YOU!
2
• Private classes at
your location or
virtual
•XPages Development
•Support Existing Apps
•Administration
• Let us help you
become an expert
XPages developer!
• Delivered via Notes
• XPages
• Development
• Admin
• User
Self-
Paced
Courses
Mentoring
Instructor-
Led
Classes
Application
Development
and
Consulting
Free
Demo
Courses!
11. 3
• Save hundreds and even Thousands of Dollars
on the most popular courses and packages
XPages
Notes/Domino Admin and Development
• Through May 31st
http://www.tlcc.com/springsale
12. Upcoming and Recorded Webinars
4
June 16th -Four IBM Presenters:
Domino, Notes and Verse - Where are we and What's the Future?
Domino and Notes Directions with Scott Vrusho
Domino Security with Dave Kern and Kevin Lynch
IBM Verse with Scott Souder
• www.tlcc.com/xpages-webinar
View Previous Webinars
(use url above)
13. Asking Questions – Q and A at the end
5
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions pane!
We will answer your questions
verbally at the end of the
webinar
15. App.Next - The Future of
Domino Application
Development
Pete Janzen, IBM
Martin Donnelly, IBM
Brian Gleeson, IBM
16. © 2015 IBM Corporation
Please Note:
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s
sole discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be
relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to
deliver any material, code or functionality. Information about potential future products may not be incorporated into any
contract. The development, release, and timing of any future features or functionality described for our products remains
at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment.
The actual throughput or performance that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve
results similar to those stated here.
17. © 2015 IBM Corporation
Introductions…
Martin Donnelly
Software Architect
@TweeterDonnelly
Brian Gleeson
Software Developer
@BGleesonIEPete Janzen
Product Manager
@pjanzen20
18. © 2015 IBM Corporation
Agenda
Responsive XPages
Relational data source for XPages
Document encryption and signatures
Open source
Domino on Bluemix
19. © 2015 IBM Corporation
Application Development Candidates
2015 and Beyond
Domino applications on IBM Bluemix
Responsive web design for XPages
Relational data source for XPages
Encryption/Signature support in XPages
Domino Designer productivity enhancements
Improved application build management
REST API enhancements
NSF enhancements
Enhance integration with Connection
20. © 2015 IBM Corporation
Domino Database (NSF) Enhancements
Live View Refresh
– Problem: Application performance can be poor when views indexes are being refreshed at the
same time when reading/writing to a view.
– Solution: Providing dedicated background thread for maintaining critical view indexes can
dramatically improve performance.
– Currently available in 9.0.1 FP3
Store database view indexes (NIF) on disk
– Store views indexes outside of NSF
– Views often consume 20% – 40% of NSF storage. Moving indexes
outside of NSF frees up more room for application data.
• View indexes on disk can grow to 1 Terabyte
– Reduces backup costs because amount of data backed up is reduced.
21. © 2015 IBM Corporation
FUTURES
Responsive XPages
22. © 2015 IBM Corporation
Develop Once For Desktop, Tablet or Smartphone
Build web applications which automatically adapt to
the screen area of a desktop, tablet or smartphone
Bootstrap makes it easy to build elegant responsive web apps
23. © 2015 IBM Corporation
Born From The Community
In the beginning – Bootstrap4XPages (B4X) project on OpenNTF
– Philippe Riand & Mark Leusink
– Bootstrap 2.3.1, 2.3.2, 3.0.0, 3.1.1, 3.2.0
– jQuery, Select2, Glyphicons, dbootstrap
– Themes, renderers, styling
B4X pulled into the XPages Extension Library
– New plugin in ExtLib: com.ibm.xsp.theme.bootstrap
– Bootstrap 3.2.0 only, jQuery, Glyphicons, dbootstrap
– Two themes, more renderers, more styling, more testing!
24. © 2015 IBM Corporation
XPages Theme Combo Contribution
YOUR themes in Domino Designer !
New Community Driven Feature ...
– In the class that implements StyleKitFactory
also implement StyleKitListFactory
– Return a list of themes using getThemeIds()
25. © 2015 IBM Corporation
Two Application Layout Configurations
Responsive Bootstrap Configuration
Simple Responsive Configuration
26. © 2015 IBM Corporation
3 New Responsive Controls in ExtLIB v12 on OpenNTF
Carousel Control
Dashboard Control
Navbar Control
27. © 2015 IBM Corporation
jQuery
jQuery v2.1.1 contained in XPages Responsive plugin
Yes, that now means jQuery will ship with Domino!
– XPages controls still rely on Dojo
Multiple ways to use it
– Use it by leveraging Bootstrap theme
– OR create a theme that adds it as a resource
– OR simply add it as a resource to an XPage
– Use jQuery calls in CSJS of your XPage application
28. © 2015 IBM Corporation
FUTURES
Relational data source for XPages
29. © 2015 IBM Corporation
Improve Productivity By Bringing Data To The User
Integrate data from relational databases into the
context of your collaborative or workflow
driven Domino XPages application
Create dashboards that allow knowledge
workers to quickly access data from
disparate systems
Allow developers to easily integrate
relational data into XPages applications
with Domino Designer
DB2®
SQL
Server®
Sybase®
Oracle®
JDBC ....
Domino
MySQL®
30. © 2015 IBM Corporation
Domino Designer RDB Data Source Enhancements
Connection pooling
– Connection pooling improves application responsiveness
by establishing connections prior to request for access to RDB
– Added Apache Commons DBCP (v 1.4)
JDBC Driver Plugin Wizard
– Wraps a JDBC Driver in a Domino OSGi Plug-in
– Produces an update site or Plug-in which
can then be deployed to a Domino Server
– An OSGi Plug-in is the recommended
deployment method when accessing
JDBC drivers from XPages applications
• Registration is automatic
• Driver is shared, ensuring optimum performance
31. © 2015 IBM Corporation
FUTURES
Document encryption & signature support for XPages
32. © 2015 IBM Corporation
Secure Your Data On The Web
Ensure only the people you want to access the data can
access the data using XPages document encryption
Simplify access using public keys or apply
greater control using secret keys
Ensure authenticity by electronically signing Domino
documents from the web
+
+ X
33. © 2015 IBM Corporation
New Features For XPages Encryption & Signature Support
New Secret Key Picker Control
– Populates a picker with the secret encryption keys contained in a user id
New @Functions
– @UserSecretKeys()
• Extracts secret keys from a user id stored in the Domino ID vault
• Uses logical default parameter values for quick coding
Current user id and password, current server as ID Vault server
• All parameters can be explicitly specified, e.g.
– @UserSecretKeys(server, password, username)
– @UserID()
• Returns an instance of a UserID object
• Represents the current user or a specified user
34. © 2015 IBM Corporation
Additional Features For XPages Encryption & Signature Support
New backend classes, methods & properties in C, Java & LotusScript
New IDVault class
– Methods for working with IDs (Get or put ID, Get username…)
New UserID class
– Method for getting encryption keys
Other Methods
– Session class: IDVault Session.getIDVault()
– Database class: Database.setUserIDForDecrypt(UserID uid)
– Document class: Document.encrypt(Optional UserID uid)
36. © 2015 IBM Corporation
XPages ExtLib Source Repository on GitHub
Empowering Our Development Community
XPages source has been available on OpenNTF.org since October 2011
– Only in a zip file packaged with the binary releases
– Impediment to community collaboration on the project
ExtLib source respository available!
– Provides all the ExtLib runtime and designer features and plug-ins
– Includes tooling to enable building, localization … and a P2 Update Site
37. © 2015 IBM Corporation
Process for GitHub ExtLib Integration
38. © 2015 IBM Corporation
XPages ExtLib : Community Contribution Process
IBM Integration Process
IBM
XPages
Internal
Stream
XPages Ext Lib GitHub
Community
Developer
Forks
XPages XLib
OpenSource
Development
Lifecycle
39. © 2015 IBM Corporation
Integrating GitHub Pull Requests
Code Standards for the XPages Extension Library
Code submitted via pull requests are merged into core after a code review
Certain standards are applied:
– Code must build properly
– Passing of JUnit tests
– Tagging of UI strings for localization
– Etc
Everything you need is available
– On GitHub
– As OpenNTF projects
40. © 2015 IBM Corporation
FUTURES
Domino on Bluemix
41. © 2015 IBM Corporation
Compose
applications
from a rich library of IBM,
3rd party and open source
runtimes, services and
APIs.
Code with
confidence
knowing IBM’s cloud
platform is built on a
foundation of open
standards.
Deploy and scale
new applications and
services with infrastructure
services from IBM
SoftLayer.
• DevOps
• Big Data
• Mobile
• Cloud Integration
• Security
• Internet of Things
• Business Analytics
• Database
• Web and application
Bluemix services
include:• Run apps in any language
• Built on open standards
• Integration services to
systems of record
• Designed for mobile
• Provides DevOps
services
About Bluemix
Bluemix - Create & Deploy apps
42. © 2015 IBM Corporation
Release the Power of Domino on IBM Bluemix!
Customers realize the next generation of LOB apps
– Customers can access Domino applications on IBM Bluemix
– Be more responsive to your changing business requirements
– App.Next New types of applications that use services
like Watson, mobile, social files and more....
– Leverage your investment in Notes & Domino apps
• Easier path to modernized applications
• Integrate your on-premises applications
Business Partners benefit from new opportunities
– New routes to market (IBM Cloud Marketplace)
– Embrace more of the IBM portfolio and 3rd party services
– Focus on selling the value of your solution, not the supporting infrastructure
43. © 2015 IBM Corporation
Rapidly Deliver Applications And Services
Developers Can Focus on Developing
– Bluemix provides a click-and-play environment to build, manage and run Domino apps
• XPages runtime allows Domino developers to bring their skills to the cloud
• XPages NoSQL Database service provides secure data store
• XPages boilerplate allows developers to quickly get an application up an running
• Use runtimes like: Node.js or Liberty to build apps against Domino
Devops - allow the developer to run the entire app
– Dashboard for monitoring applications
– Easily scale applications to meet work loads
– Deliver resilient applications which provide
high availability and quickly recover from problems
– Automate builds with code in RTC or Git
44. © 2015 IBM Corporation
Bluemix Terminology Cheat Sheet
Runtime
– A set of resources used to run your applications.
– We are demonstrating an XPages runtime for Domino (sometimes referred to as a Buildpack).
– Other popular runtimes/buildpacks are Node.js, Liberty for Java, Ruby, PHP etc.
Service
– Services are add-ons that can be provisioned alongside your application.
– A service broker component advertises catalogs of managed services such as databases, key-
value stores, messaging and so on. Apps can bind to one or more of such services.
– We are demonstrating a XPages NoSQL Data service that provisions NSFs, Domino IDs etc
Boilerplates
– A container for an application and its associated runtime environment and predefined services
– e.g. a ready-to-go XPages ToDo application using a Domino NoSQL Data service
45. © 2015 IBM Corporation
XPages Runtime
(Buildpack)
Domino Server
XPages NoSQL Database service instance
To Do AppExpense App (1) Expense App (2)
XPages App
Instance
XPages App
Instance
XPages App
Instance
NRPC and/or REST API
SoftLayer
Designer
Exp-Data.nsf ToDoData.nsf
Exp-design.nsf Exp-design.nsf ToDo_design.nsf
IDE/DevOps
Domino Apps for Bluemix Architecture
Internet
IBMBluemixIBMBluemixIBMBluemixIBMBluemixIBMBluemix
CloudFoundry
46. © 2015 IBM Corporation
How It Works: Architectural Summary
Bluemix
Loosely-coupled architecture. App instances load in a runtime container and bind to services.
The need to separate application logic and data is fundamental !
Popular runtime / services combinations:
And now !
47. © 2015 IBM Corporation
Latest XPages Extension Library for 901
XPages core 901FP3 runtime + Bluemix extensions
Lightweight Domino Web Container (901FP3++)
Latest IBM Social Business Toolkit SDK
How It Works: Architectural Summary
Composition of the XPages Bluemix Runtime
An Extensible runtime stack
– YOU can add your own plug-ins, leverage open-source libraries etc
Designer
Bluemix
Tooling
Responsive
App Design
(Bootstrap)
Domino
NoSQL
ServiceRDBMS
Services
IBM
Connections
Services
48. © 2015 IBM Corporation
XPages NoSQL Database Service
Service that provisions the resources needed to support Domino Bluemix applications
– Data NSFs
– User IDs
– Domino Security Settings
Integrates with runtime applications via a Service Broker
– Provides application data binding information to runtime apps
– Any other arbitrary metadata required for application integration
Not intended as a host for production data
– Playground for new cloud application development
49. © 2015 IBM Corporation
XPages on Bluemix – Security with a Proven Record
By way of inheritance the XPages Buildpack and XPages NoSQL Data Service utilizes and
adapts the IBM Notes/Domino Security model for Bluemix
– Providing consistency for XPages developers migrating existing XPages applications and
mindshare to Bluemix
– Providing an easily configured and manageable User Authentication and Authorization framework
for both new and proficient XPages developers
– Providing tried and tested security features and mechanisms of the IBM Notes/Domino product
stack
50. © 2015 IBM Corporation
XPages on Bluemix – Scalability & Resilience
XPages Bluemix Apps take advantage of Bluemix features to seamlessly scale
– Applications instances can be increased or decreased according to your needs
– Applications can safely failover to other instances in the event of problems
– Leveraging the PaaS resilience and scalability features is trivial
51. © 2015 IBM Corporation
Domino Designer Tooling
New Bluemix Tooling Plug-in featuring
– Bluemix Preferences Manager
– YML Editor
– Boilerplate Import Wizard
– Application Export Wizard
Simplifies Bluemix Integration
– Single Click Deployment Model
– No need to use the Cloud Foundry CLI tool
– Fully documented Bluemix design processes
Available as part of IBM XPages Extension Library
Domino Designer
52. © 2015 IBM Corporation
Domino on Bluemix 2015 Roadmap Directions
Bluemix Runtime
– Domino XPages Runtime for dev, test and production
Bluemix Service
– Domino Data service for dev and test
• Production ready data service provided by
customer, BP or IBM services team
Bluemix Boilerplate
– XPages/Domino Database starter kit with samples
to quickly get up and running on Bluemix
Domino Designer extensions
– Build applications for Bluemix
– Deploy applications to Bluemix
1H 2015 2H 2015
Experimental Beta
Domino Designer
53. © 2015 IBM Corporation
More Information – Summary
OpenNTF – Open Source Community
– Code, samples and more: http://www.openntf.org
Enablement – Doc, examples, demos
– Domino Application Development Wiki - http://www.lotus.com/ldd/ddwiki.nsf
– NotesIn9 – http://www.notesin9.com/
– Two new Domino application development papers
• Collaborative and business applications for the connected company Link
• IBM Notes and Domino Applications: A road map for modernization using IBM XPages Link
Forums - Got Questions, Need Answers?
Stackoverflow - http://stackoverflow.com/questions/tagged/xpages
XPages Forum - http://xpages.info/forum
55. © 2015 IBM Corporation
Notices and Disclaimers
Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include
unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED.
IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF
PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results
they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational
purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory
requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products
will ensure that the customer is in compliance with any law.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with
this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers
of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES,
EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, BrassRing®, Connections™, Domino®, Global Business Services®, Global Technology Services®, SmartCloud®, Social Business®, Kenexa®, Notes®, PartnerWorld®, Prove It!®,
PureSystems®, Sametime®, Verse™, Watson™, WebSphere®, Worklight®, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service
names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
56. Questions????
7
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions panel!
Remember, we will answer your
questions verbally
57. #XPages
@pjanzen20
@BGleesonIE
@TweeterDonnelly
@TLCCLtd
@Teamstudio
@PaulDN
Upcoming Events:
DNUG, Dortmund, Germany – June 10-11
Inform 2015 in Melbourne, Australia - June 11-12
MWLug User Group Meeting, Atlanta, GA - Aug. 19-21
ICON UK, London, England – Sept. 21-22
Question and Answer Time!
8
Teamstudio Questions?
contactus@teamstudio.com
978-712-0924
TLCC Questions?
howardg@tlcc.com paul@tlcc.com
888-241-8522 or 561-953-0095
Howard GreenbergPaul Della-Nebbia Courtney Carter
Brian GleesonMartin DonnellyPete Janzen
Keep in mind:
TLCC Spring Sale Ends on May 31st