%in Soweto+277-882-255-28 abortion pills for sale in soweto
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows About
1. INF104 – HCL Domino AppDev
Pack – The Future of Domino
App Dev Nobody Knows About
Graham Acres, Heiko Voigt
Cross Canada Collaboration User Group
2.
3. About C3UG
• User Group based in Canada
• Customers, Business Partners, HCLers
• Focus on virtual presence in 2017
– YouTube
– Facebook
– Twitter
– LinkedIn
• 58+ videos on YouTube
Canadian Cloud & Collaboration User Group
www.c3ug.ca
4. About Graham
• President of Brytek Systems Inc. in Vancouver,
Canada
• Notes / Domino application architect since 1992
(v2.1)
• HCL Ambassador 2019-2020, IBM Champion
2017-2019
• Core Team Member at C3UG
• OpenNTF Board Member 2019
• Cyclist, gardener, cook, hockey nut
5. About Heiko
• CEO of SIT GmbH in Germany and
Harbour Light Software Development Ltd. in Canada
• Software Architect for 25+ years with N/D, Full-Stack
Web Developer
• HCL Ambassador 2019-2020, IBM Champion 2019
• Core Team Member at C3UG
• Proud father of twins
• Sailor, Home brewer
https://www.sit.dehttps://www.harbour-light.com
6. • What is the Domino AppDev Pack?
• Why is the AppDev Pack Important?
• Ugly Duckling Blues
• How Can I Use the AppDev Pack?
• Current Domino AppDev Tools in Your Toolbox
• Demos
• Where to Learn More
• Questions
Agenda
7. • It is an API that opens Domino to the world of
microservices and Node.js development (Java too)
– It is part of the Controller model in MVC architecture
• A new module (Proton Task) installed on the Domino
server
– Listens for requests
• Pro Code
– The learning approach is different from traditional Notes dev
What is the Domino AppDev Pack?
8. The AppDevPack – State of the union
• Current Release: 1.0.6 from October 2020
• Proton Add-In for Domino Server: V0.8.0
• Bindings:
• Java - V1.0.0
• JavaScript / Node.js V1.7.0
• Features:
• Parity on bindings,
• new DXL Export Feature in Node.js
• IAM Service: V1.6.1
• Documentation Improvements
• What’s missing ?
• Complete Sample Code and best practices / architectural templates
• Marketing of the product (big time!)
9. • It gives you the flexibility to build apps how you wish
– A blessing and a curse
• You can build enterprise apps without having to move your
data off Domino, and keep all of the security you already
have in place
– Hire any new full stack web developer
• It does the heavy lifting in the background.
– Not flashy. It just works. It is solid.
• Take advantage of all of the new stuff in the Node and Java
worlds!
Why is the AppDev Pack Important?
10. • Not a lot of fanfare lately
– AppDev Pack is a very good tool
– Project Keep is getting the attention
– The more people talk about AppDev Pack and use it, the less it will
be an ugly duckling
• What are the barriers to entry?
– Learning new technology, again:
• JavaScript, React/Vue UI, OAuth/IAM
– Leverage the steps you took to XPages
• Nothing to be afraid of !
Ugly Duckling Blues
11. Notes/Domino AppDev Tools
Little use
Aged capabilities
New investment
New capabilities
Yet to be fully
adopted
Current Domino AppDev Tools in Your Toolbox
Regular investment
Area of growth
Of interest to Devs
Expanded capabilities
Go-to choice for
Devs
Powerful
Receives regular
update/investment
Still usable
Little new
investment
Volt
AppDev Pack
Keep
LotusScript
@Functions
Java
XPages
Let's see what is announced at the HCL Digital Week (Factory Tour)
Domino DesignerVS Code
12. How Can I Use the AppDev Pack?
Domino
REST API App
@domino-db
Business
Application
React
Vue
Angular
NSF Data
LDAPProton
Model Controller View
Node.js & Express
Java
• The Proton task listens to a Port just like the HTTP task
13. • Start with the Middleware APIs
– Make your (secure) data available to other apps
• Keep Your Data in Domino
– You know your data
– Maintain your security
– Saves the time of an entire app rebuild/migration
– Re-use existing design elements, including your LotusScript
agents!
How Can I Use the AppDev Pack?
14. Some words on Security and IAM
Front-EndAPI
IAM
Domino
1) Send AUTH
request
5) Redirect back to
Front End including
JWT Token or Error-
Code.
2) Redirect to
Authentication Page
3) Redirect to
Callback URL and
Receive Access Token
4) Create Session
Object and JWT
token, Store Access
Token in session
object and persist
Session Store for
Domino
Basic OAuth Industry Standard !
15. • #1: APIs in the AppDev Pack (JavaScript)
• #2: Java Sample
• #3: Adaptive Cards in XPages Sample
• #4: Notes To Do app as a Kanban Board
Demos
16. • C3UG Expense Categories REST-API
• OpenAPI 3.0
• Swagger UI
• MVC Constructs and where to put domino-db
• Sample Repo:
https://github.com/heikovoigt/expense-report-sample
#1: APIs in the AppDevPack
17. • Read Documents from NSF
• Create new Document in NSF by Domino-DB
• Call LotusScript Agent with Document Context to create
more documents
• Re-Read Documents
• Maven project, Repo:
https://github.com/heikovoigt/appdevpack-java-sample-cs2020
#2: APIs in the AppDevPack
18. Front-End
#3: Adaptive Card Sample
Front-End renders Card
in Modal Dialog
REST API on Node.JS
using domino-db
Card Definitions
In JSON
Domino Write Response to
Domino NSF
Responses.NSF
XPAGE
Adaptive Cards are platform-agnostic snippets of UI,
authored in JSON, that apps and services can openly exchange.
When delivered to a specific app, the JSON is transformed into
native UI that automatically adapts to its surroundings.
It helps design and integrate light-weight UI
for all major platforms and frameworks.
https://adaptivecards.io/
19. • React Frontend
• IAM Authentication/Act-As-User
• Read/Write Operations through
domino-db
• REST-API to simulate View-Reads,
document read/write using domino-db
#4: Notes To Do App renders as Kanban Board
React Front End
Node.JS/Express
REST API
IAM
DominoToDo.NSF
20. • C3UG Offers a FREE Course to Learn the AppDev Pack
• Available on Google Classroom
– www.c3ug.ca/education
• Topics
– Install Domino v11 & the AppDev Pack on CentOS
– Build a simple JavaScript app with no UI to query data from a Notes database (no
security)
– Add standard security and update the app
– Add IAM server for full Domino ACL security
– Write a new app to test the security
– How to use the HCL AppDev Pack documentation
• Watch for our next course!
– Build an expense claims app using the AppDev Pack with a full React UI
Want to Learn More?