SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Die Domino REST API
Konzepte und Hintergründe
Stephan H. Wissel
@notessensei
stephan@wisssel.net / stephan.wissel@hcl.com
Please Note
• HCL’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice
and at HCL’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 HCL 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.
Disclaimer
• Brücke von classic Notes zum Entwicklungszeitgeist
• Umsetzung von offenen Standards
• Leichte Erweiterbarkeit
• Einfacher Start & gute Integrierbarkeit
• Viele Anwendungsfälle
• Domino Sicherheit erweitert
20.06.2023 Präsentationstitel
3
Der Vortrag auf einer Folie
Erstmal eine Demo
20.06.2023 Präsentationstitel
4
Werkzeuge
• Web Oberfläche
• Kommandozeile
• Postman HTTP
Anwendung
“Make Domino development and access
available to a broad audience with diverse
development backgrounds. Keep the barrier to
entry low without sacrificing enterprise and
container deployability. Ensure access control
through declaration on the server and its
databases, relieving end-user applications from
that task”
20.06.2023
5
Mission Statement*
* untranslated
Bestandteile
20.06.2023 Präsentationstitel
6
1. OpenAPI 3.0 Spezifikation ( auch bekannt als „swagger“)
2. Übersetzung von Notes Daten nach JSON und zurück
3. Zugriffskontrolle auf Item Ebene erweitert (Barbican)
4. Autorisierung via „JSON Web Token“ (JWT)
5. Identity Provider (IdP) für OAuth eingebaut
6. Läuft zum Testen auch auf einem client
The Barbican
• “Document mode” definiert
durch @Formula
• Legt fest welche Felder
lesbar und schreibbar sind
• Sonderfälle
– raw
– odata
20.06.2023
7
By Tilman2007 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=51119929
20.06.2023 Präsentationstitel
8
Barbical - Filterfunktion
Forms und Schemas
Notes client
• Eine Form bestimmt welche
Items eines Dokuments
sichtbar und bearbeitbar
sind
• Kann im Code umgangen
werden
REST API
• Ein Schema bestimmt
welche Items eines
Dokuments sichtbar und
bearbeitbar sind
• Kann nicht durch Code
umgangen warden*
20.06.2023 Präsentationstitel
9
* Ein Agent kann, also aufpassen wen man dran läßt
Schema, Scope & OAuth
20.06.2023
10
Warum Schema und nicht einfach Form?
20.06.2023
11
Notes* JSON OpenAPI**
• Text
• Richtext
• Names
• Author
• Reader
• Number
• DateTime
• string
• number
• boolean
• object
• array
• null
• number, float, double
• integer, int32, int64
• string, date date-time,
password, byte, binary, names,
authors, readers***
• boolean
• array
• object
* Single & Multi-Value
** erweiterbar
*** KEEP Erweiterung
Warum all die Ports?
20.06.2023 Präsentationstitel
12
20.06.2023
13
Die Backstory
Herausforderungen
& Lösungsansätze
Challenge
• Provide access to Domino data and capabilities independent
from choice of programming language or tools (a.k.a cater to
the VSCode generation)
Programmiersprachen
Solution
• REST API
• JSON payloads
• OData
Challenge
• Provide API definitions that are human readable, current,
reusable in code and extensible
API Definition
Solution
• OpenAPI 3.x specification
• API first development
• Shout out to: https://apicur.io
Challenge
• Provide flexible means of authorization, be it the Domino
directory or an external identity
Zugriffskontrolle
Solution
• JWT Token
• /auth endpoint
• Build in OAuth identity provider
• JWT scopes mapping to data
Challenge
• Support hosting Single Page Applications or web applications
without the need for additional server infrastructure
Web Anwendungen / SPA*
Solution
• CORS support
• keepweb.d
• The Barbican
* SPA = Single Page Applications
Challenge
• System configuration must not depend on a platform
dependent tool or intimate knowledge of parameters
System Konfiguration
Solution
• Admin Client UI delivered with API
• SwaggerUI
• Documentation ass OpenSource
20.06.2023
19
Challenge
• API must not break when database organization changes.
Different consumers need different data sets
API Zugriff
Solution -> scope
• Database alias (e.g. ”crm” points to hq/sales/weilgut.nsf)
• n:1 relationship alias -> NSF with individual configuration
20.06.2023
21
Challenge
• Development partners need a defined way to provide their
own set of REST APIs
Extensibility*
Solution
• Java
• EventBus
• keepconfig.d
dbRequest classes
- Minimal implementation effort
- One method
- Session provided
- Database provided
- Configuration driven
Challenge
• Documentation is never complete, insights from partners and
customers need to be incorporated
Dokumentation
Solution
• Documentation using markdown on GitHub.com
• PlantUML
• Tutorials
• Pull requests welcome
F &A
Fragen?
https://geek-and-poke.com/?offset=1502624606843
DNUG e.V.
Goldenbergstrasse 1
50354 Hürth
Telefon: +49 30 20898805 0
Telefax: +49 30 20898805 1
E-Mail: info@dnug.de
Web: http://www.dnug.de

Weitere ähnliche Inhalte

Ähnlich wie DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf

MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der CloudTorsten Fink
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa SuitePredrag61
 
NEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOANEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOAUniserv
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Agenda Europe 2035
 
Objektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation ApiObjektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation Apigunnarmorling
 
Integrations-Pattern für OpenID Connect
Integrations-Pattern für OpenID ConnectIntegrations-Pattern für OpenID Connect
Integrations-Pattern für OpenID ConnectQAware GmbH
 
Ein Überblick: One Identity Manager Anbindung von SAP HCM und Active Directory
Ein Überblick: One Identity Manager Anbindung von SAP HCM und Active DirectoryEin Überblick: One Identity Manager Anbindung von SAP HCM und Active Directory
Ein Überblick: One Identity Manager Anbindung von SAP HCM und Active DirectoryIBsolution GmbH
 
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...Sinan Akalın
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafkagedoplan
 
Fueling Up Domino - Domino 12.0.2 - DNUG Stammtisch Wien
Fueling Up Domino - Domino 12.0.2 - DNUG Stammtisch WienFueling Up Domino - Domino 12.0.2 - DNUG Stammtisch Wien
Fueling Up Domino - Domino 12.0.2 - DNUG Stammtisch WienDNUG e.V.
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceStefan Kolb
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesAndré Fleischer
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...Peter Kirchner
 
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...QAware GmbH
 

Ähnlich wie DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf (20)

MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
 
imatics FormEngine
imatics FormEngineimatics FormEngine
imatics FormEngine
 
NEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOANEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOA
 
GWT
GWTGWT
GWT
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)
 
Objektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation ApiObjektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation Api
 
Integrations-Pattern für OpenID Connect
Integrations-Pattern für OpenID ConnectIntegrations-Pattern für OpenID Connect
Integrations-Pattern für OpenID Connect
 
Ein Überblick: One Identity Manager Anbindung von SAP HCM und Active Directory
Ein Überblick: One Identity Manager Anbindung von SAP HCM und Active DirectoryEin Überblick: One Identity Manager Anbindung von SAP HCM und Active Directory
Ein Überblick: One Identity Manager Anbindung von SAP HCM und Active Directory
 
CDI
CDICDI
CDI
 
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
new Html5 features and browser compatibility, Stand der Standardisierung, Übe...
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Fueling Up Domino - Domino 12.0.2 - DNUG Stammtisch Wien
Fueling Up Domino - Domino 12.0.2 - DNUG Stammtisch WienFueling Up Domino - Domino 12.0.2 - DNUG Stammtisch Wien
Fueling Up Domino - Domino 12.0.2 - DNUG Stammtisch Wien
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a Service
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit Microservices
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile...
 
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
 

Mehr von DNUG e.V.

Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Slides zum Impulsreferat: HCL BigFix - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: HCL BigFix  - DNUG Stammtisch KarlsruheSlides zum Impulsreferat: HCL BigFix  - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: HCL BigFix - DNUG Stammtisch KarlsruheDNUG e.V.
 
Slides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch KarlsruheSlides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch KarlsruheDNUG e.V.
 
Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...
Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...
Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...DNUG e.V.
 
HCL Nomad - DNUG Stammtisch Salzburg.pdf
HCL Nomad - DNUG Stammtisch Salzburg.pdfHCL Nomad - DNUG Stammtisch Salzburg.pdf
HCL Nomad - DNUG Stammtisch Salzburg.pdfDNUG e.V.
 
Trends in Cybersecurity - DNUG Stammtisch Wien
Trends in Cybersecurity - DNUG Stammtisch Wien Trends in Cybersecurity - DNUG Stammtisch Wien
Trends in Cybersecurity - DNUG Stammtisch Wien DNUG e.V.
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDNUG e.V.
 
DACHNUG50 CNX0 Workshop.pdf
DACHNUG50 CNX0 Workshop.pdfDACHNUG50 CNX0 Workshop.pdf
DACHNUG50 CNX0 Workshop.pdfDNUG e.V.
 
DACHNUG50 What's new in CCB - V3.3.pdf
DACHNUG50 What's new in CCB - V3.3.pdfDACHNUG50 What's new in CCB - V3.3.pdf
DACHNUG50 What's new in CCB - V3.3.pdfDNUG e.V.
 
DACHNUG50 presentation 15 June 2023.pdf
DACHNUG50 presentation 15 June 2023.pdfDACHNUG50 presentation 15 June 2023.pdf
DACHNUG50 presentation 15 June 2023.pdfDNUG e.V.
 
DACHNUG50 Pointsharp overview_web_A4.pdf
DACHNUG50 Pointsharp overview_web_A4.pdfDACHNUG50 Pointsharp overview_web_A4.pdf
DACHNUG50 Pointsharp overview_web_A4.pdfDNUG e.V.
 
DACHNUG50 OnTime for Domino.pdf
DACHNUG50 OnTime for Domino.pdfDACHNUG50 OnTime for Domino.pdf
DACHNUG50 OnTime for Domino.pdfDNUG e.V.
 
DACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdf
DACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdfDACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdf
DACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdfDNUG e.V.
 
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DNUG e.V.
 
DACHNUG50 EasyTeamsWork.pdf
DACHNUG50 EasyTeamsWork.pdfDACHNUG50 EasyTeamsWork.pdf
DACHNUG50 EasyTeamsWork.pdfDNUG e.V.
 
DACHNUG50 Sametime Mobile aber sicher.pdf
DACHNUG50 Sametime Mobile aber sicher.pdfDACHNUG50 Sametime Mobile aber sicher.pdf
DACHNUG50 Sametime Mobile aber sicher.pdfDNUG e.V.
 
DACHNUG50 Sametime im Callcenter.pdf
DACHNUG50 Sametime im Callcenter.pdfDACHNUG50 Sametime im Callcenter.pdf
DACHNUG50 Sametime im Callcenter.pdfDNUG e.V.
 
DACHNUG50 Sametime Betrieb.pdf
DACHNUG50 Sametime Betrieb.pdfDACHNUG50 Sametime Betrieb.pdf
DACHNUG50 Sametime Betrieb.pdfDNUG e.V.
 
DACHNUG50 Peppe es mit Sametime auf (2-2).pdf
DACHNUG50 Peppe es mit Sametime auf (2-2).pdfDACHNUG50 Peppe es mit Sametime auf (2-2).pdf
DACHNUG50 Peppe es mit Sametime auf (2-2).pdfDNUG e.V.
 

Mehr von DNUG e.V. (20)

Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Slides zum Impulsreferat: HCL BigFix - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: HCL BigFix  - DNUG Stammtisch KarlsruheSlides zum Impulsreferat: HCL BigFix  - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: HCL BigFix - DNUG Stammtisch Karlsruhe
 
Slides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch KarlsruheSlides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch Karlsruhe
Slides zum Impulsreferat: NIS2 & HCL BigFix - DNUG Stammtisch Karlsruhe
 
Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...
Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...
Slides zum Impulsreferat: NIS2 - Was steckt konkret dahinter? - DNUG Stammtis...
 
HCL Nomad - DNUG Stammtisch Salzburg.pdf
HCL Nomad - DNUG Stammtisch Salzburg.pdfHCL Nomad - DNUG Stammtisch Salzburg.pdf
HCL Nomad - DNUG Stammtisch Salzburg.pdf
 
Trends in Cybersecurity - DNUG Stammtisch Wien
Trends in Cybersecurity - DNUG Stammtisch Wien Trends in Cybersecurity - DNUG Stammtisch Wien
Trends in Cybersecurity - DNUG Stammtisch Wien
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdf
 
DACHNUG50 CNX0 Workshop.pdf
DACHNUG50 CNX0 Workshop.pdfDACHNUG50 CNX0 Workshop.pdf
DACHNUG50 CNX0 Workshop.pdf
 
DACHNUG50 What's new in CCB - V3.3.pdf
DACHNUG50 What's new in CCB - V3.3.pdfDACHNUG50 What's new in CCB - V3.3.pdf
DACHNUG50 What's new in CCB - V3.3.pdf
 
DACHNUG50 presentation 15 June 2023.pdf
DACHNUG50 presentation 15 June 2023.pdfDACHNUG50 presentation 15 June 2023.pdf
DACHNUG50 presentation 15 June 2023.pdf
 
DACHNUG50 Pointsharp overview_web_A4.pdf
DACHNUG50 Pointsharp overview_web_A4.pdfDACHNUG50 Pointsharp overview_web_A4.pdf
DACHNUG50 Pointsharp overview_web_A4.pdf
 
DACHNUG50 OnTime for Domino.pdf
DACHNUG50 OnTime for Domino.pdfDACHNUG50 OnTime for Domino.pdf
DACHNUG50 OnTime for Domino.pdf
 
DACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdf
DACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdfDACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdf
DACHNUG50 Interpretation-von-Event-Logs-aus-CNX-mit-Hilfe-von-Domino.pdf
 
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
 
DACHNUG50 EasyTeamsWork.pdf
DACHNUG50 EasyTeamsWork.pdfDACHNUG50 EasyTeamsWork.pdf
DACHNUG50 EasyTeamsWork.pdf
 
DACHNUG50 Sametime Mobile aber sicher.pdf
DACHNUG50 Sametime Mobile aber sicher.pdfDACHNUG50 Sametime Mobile aber sicher.pdf
DACHNUG50 Sametime Mobile aber sicher.pdf
 
DACHNUG50 Sametime im Callcenter.pdf
DACHNUG50 Sametime im Callcenter.pdfDACHNUG50 Sametime im Callcenter.pdf
DACHNUG50 Sametime im Callcenter.pdf
 
DACHNUG50 Sametime Betrieb.pdf
DACHNUG50 Sametime Betrieb.pdfDACHNUG50 Sametime Betrieb.pdf
DACHNUG50 Sametime Betrieb.pdf
 
DACHNUG50 Peppe es mit Sametime auf (2-2).pdf
DACHNUG50 Peppe es mit Sametime auf (2-2).pdfDACHNUG50 Peppe es mit Sametime auf (2-2).pdf
DACHNUG50 Peppe es mit Sametime auf (2-2).pdf
 

DACHNUG50 Die Domino REST API - Konzepte und Hintergruende.pdf

  • 1. Die Domino REST API Konzepte und Hintergründe Stephan H. Wissel @notessensei stephan@wisssel.net / stephan.wissel@hcl.com
  • 2. Please Note • HCL’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice and at HCL’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 HCL 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. Disclaimer
  • 3. • Brücke von classic Notes zum Entwicklungszeitgeist • Umsetzung von offenen Standards • Leichte Erweiterbarkeit • Einfacher Start & gute Integrierbarkeit • Viele Anwendungsfälle • Domino Sicherheit erweitert 20.06.2023 Präsentationstitel 3 Der Vortrag auf einer Folie
  • 4. Erstmal eine Demo 20.06.2023 Präsentationstitel 4 Werkzeuge • Web Oberfläche • Kommandozeile • Postman HTTP Anwendung
  • 5. “Make Domino development and access available to a broad audience with diverse development backgrounds. Keep the barrier to entry low without sacrificing enterprise and container deployability. Ensure access control through declaration on the server and its databases, relieving end-user applications from that task” 20.06.2023 5 Mission Statement* * untranslated
  • 6. Bestandteile 20.06.2023 Präsentationstitel 6 1. OpenAPI 3.0 Spezifikation ( auch bekannt als „swagger“) 2. Übersetzung von Notes Daten nach JSON und zurück 3. Zugriffskontrolle auf Item Ebene erweitert (Barbican) 4. Autorisierung via „JSON Web Token“ (JWT) 5. Identity Provider (IdP) für OAuth eingebaut 6. Läuft zum Testen auch auf einem client
  • 7. The Barbican • “Document mode” definiert durch @Formula • Legt fest welche Felder lesbar und schreibbar sind • Sonderfälle – raw – odata 20.06.2023 7 By Tilman2007 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=51119929
  • 9. Forms und Schemas Notes client • Eine Form bestimmt welche Items eines Dokuments sichtbar und bearbeitbar sind • Kann im Code umgangen werden REST API • Ein Schema bestimmt welche Items eines Dokuments sichtbar und bearbeitbar sind • Kann nicht durch Code umgangen warden* 20.06.2023 Präsentationstitel 9 * Ein Agent kann, also aufpassen wen man dran läßt
  • 10. Schema, Scope & OAuth 20.06.2023 10
  • 11. Warum Schema und nicht einfach Form? 20.06.2023 11 Notes* JSON OpenAPI** • Text • Richtext • Names • Author • Reader • Number • DateTime • string • number • boolean • object • array • null • number, float, double • integer, int32, int64 • string, date date-time, password, byte, binary, names, authors, readers*** • boolean • array • object * Single & Multi-Value ** erweiterbar *** KEEP Erweiterung
  • 12. Warum all die Ports? 20.06.2023 Präsentationstitel 12
  • 14. Challenge • Provide access to Domino data and capabilities independent from choice of programming language or tools (a.k.a cater to the VSCode generation) Programmiersprachen Solution • REST API • JSON payloads • OData
  • 15. Challenge • Provide API definitions that are human readable, current, reusable in code and extensible API Definition Solution • OpenAPI 3.x specification • API first development • Shout out to: https://apicur.io
  • 16. Challenge • Provide flexible means of authorization, be it the Domino directory or an external identity Zugriffskontrolle Solution • JWT Token • /auth endpoint • Build in OAuth identity provider • JWT scopes mapping to data
  • 17. Challenge • Support hosting Single Page Applications or web applications without the need for additional server infrastructure Web Anwendungen / SPA* Solution • CORS support • keepweb.d • The Barbican * SPA = Single Page Applications
  • 18. Challenge • System configuration must not depend on a platform dependent tool or intimate knowledge of parameters System Konfiguration Solution • Admin Client UI delivered with API • SwaggerUI • Documentation ass OpenSource
  • 20. Challenge • API must not break when database organization changes. Different consumers need different data sets API Zugriff Solution -> scope • Database alias (e.g. ”crm” points to hq/sales/weilgut.nsf) • n:1 relationship alias -> NSF with individual configuration
  • 22. Challenge • Development partners need a defined way to provide their own set of REST APIs Extensibility* Solution • Java • EventBus • keepconfig.d
  • 23. dbRequest classes - Minimal implementation effort - One method - Session provided - Database provided - Configuration driven
  • 24. Challenge • Documentation is never complete, insights from partners and customers need to be incorporated Dokumentation Solution • Documentation using markdown on GitHub.com • PlantUML • Tutorials • Pull requests welcome
  • 26. DNUG e.V. Goldenbergstrasse 1 50354 Hürth Telefon: +49 30 20898805 0 Telefax: +49 30 20898805 1 E-Mail: info@dnug.de Web: http://www.dnug.de