SlideShare ist ein Scribd-Unternehmen logo
HCL Volt MX Go
Services in Domino
Apps
Bernd Gewehr
Vössing Ingenieurgesellschaft mbH
@bgewehr
Bauingenieure
770 Mitarbeiter
44 Jahre Know-how
25 Niederlassungen in 5 Ländern
12.000 Projekte in 15 Ländern
Bernd Gewehr
Leiter IT
27 Jahre im Unternehmen
5 Entwickler in Düsseldorf
1 Azubi Domino Entwicker
Agenda
1) APIs in Unternehmens-
anwendungen
2) Mehrwerte von HCL Volt
MX Foundry
3) Beispiel: UPS tracking
API
4) HCL Volt MX Foundry
Services in LS verwenden
3
APIs in Unternehmensanwendungen
• HCL Connections-APIs für die Veröffentlichung von Aktivitätsfeeds
• MS Graph APIs für alles in M365
• Matrix 42 Web Services APIs für die Automatisierung von Asset-
Daten
• Bludelta API für KI-basierte Rechnungserkennung
• Vodafone-APIs für Informationen zum Gerätekauf
• Bechtle APIs für die Auftragsautomatisierung
• UPS APIs für die Versand- und Sendungsverfolgungsautomatisierung
Seit langem verwenden wir APIs von Drittanbieter-Apps in mehreren Domino-Geschäftsanwendungen:
4
APIs in Unternehmensanwendungen
• Geschäftsprozessverantwortlicher fordert Entwicklung an
• Entwickler benötigt API-Zugriff auf 3rd-Party-Dienste
• Fragt den Besitzer des 3rd-Party-Dienstes nach Anmeldeinformationen
• Lernt die API-Nutzung aus der Herstellerdokumentation
• Implementiert die API in persönlichem Code
• Bietet den erforderlichen Service
• Alles gut?
Typischer Ablauf
5
APIs in Unternehmensanwendungen
• Unsicher und nicht gut kontrollierbar
• Anmeldeinformationen für den 3rd-Party-Service muss ausgehändigt werden
• Risiko der Weitergabe
• Mehrere API-Implementierungen von verschiedenen Entwicklern
• Hohe Anforderungen an die Fähigkeiten
• Alle beteiligten Entwickler müssen über vollständige API-Kenntnisse verfügen
• Dokumentation auf der Seite des API-Anbieter muss gelernt werden
• Besser: alles an einem Ort, ein erfahrener API-Verwalter
Alles gut?
6
Mehrwerte von HCL Volt MX Foundry
HCL Volt MX besteht aus zwei Hauptkomponenten:
HCL Volt MX Foundry:
• Backend Server
• API proxy
• App Logik Entwicklung
HCL Volt MX Iris:
• Desktop Programm
• IDE
• App frontend Entwicklung
req
res
7
Mehrwerte von HCL Volt MX Foundry
– One-Stop-Shop für API-basierte Dienste
– Identitätsdienste (Basic Auth, oAuth und andere)
– Integrationsdienste (Drittanbieter-APIs aller Art - inkl. HCL Domino)
– Orchestrierungsdienste (serieller oder paralleler Fluss von Integrationsdiensten)
– Objektdienste (JSON-Objekte Services zuordnen, offlinefähig)
– Workflowdienste (einfacher bis komplexer bedingter Ablauf von Diensten)
– Business Rule Services (einfache bis komplexe Berechnungen in MVEL)
– Engagement-Dienste (Push-Benachrichtigungen für Win/Web/iOS/Android)
Was bietet HCL Volt MX Foundry?
8
Beispiel: UPS tracking API
9
Beispiel: UPS tracking API
UPS Entwicklerkonto und oAuth App erstellen (https://developer.ups.com):
10
Beispiel: UPS tracking API
UPS Entwicklerkonto und oAuth App erstellen (https://developer.ups.com):
11
Beispiel: UPS tracking API
UPS Entwicklerkonto und oAuth App erstellen (https://developer.ups.com):
12
Beispiel: UPS tracking API
Neue App in Foundry erstellen
13
Beispiel: UPS tracking API
Identitätsdienst erstellen (oder wiederverwenden, falls vorhanden)
14
Beispiel: UPS tracking API
Übertragen der oAuth-App-Daten von UPS
15
Beispiel: UPS tracking API
From developer.ups.com:
16
Beispiel: UPS tracking API
Swagger-Definition für Service-API abrufen(https://developer.ups.com):
17
Beispiel: UPS tracking API
Swagger-Definition für Service-API abrufen(https://github.com/UPS-API/api-documentation/blob/main/Tracking.yaml):
18
Beispiel: UPS tracking API
Integrationsdienst erstellen
19
Beispiel: UPS tracking API
Importieren der API-Definition
20
Beispiel: UPS tracking API
Importieren der API-Definition
21
Beispiel: UPS tracking API
Identitätsdienst zuweisen
22
Beispiel: UPS tracking API
Vorgänge aus der Swagger-Definition auswählen, die Ihre App bieten soll
23
Beispiel: UPS tracking API
Body-Payload und Response-Payload komplett definiert – ein Klick
24
Beispiel: UPS tracking API
Testdaten eingeben (Body)
25
Beispiel: UPS tracking API
Testdaten eingeben (Header)
26
Beispiel: UPS tracking API
Bedienung komplett definiert – ein Klick – funktioniert
27
Beispiel: UPS tracking API
Durch die Veröffentlichung der App wird sie von außerhalb der Volt MX Foundry-Konsole verfügbar
28
Beispiel: UPS tracking API
Die veröffentlichte App wird im Entwicklerportal mit OpenAPI-Dokumentation, AppKey und AppSecret angezeigt und
kann von konfigurierten Personen angezeigt werden
29
Beispiel: UPS tracking API
Die veröffentlichte App wird im Entwicklerportal mit OpenAPI-Dokumentation, AppKey und AppSecret angezeigt und
kann von konfigurierten Benutzern angezeigt werden
30
Beispiel: UPS tracking API
– Obwohl dem Integrationsdienst ein Identitätsdienst zugewiesen werden kann, löst der
Aufruf des Integrationsdiensts keinen Aufruf des Identitätsdiensts aus, sondern wählt nur
aus, welches Token aus dem Sitzungsspeicher verwendet werden soll
– Daraus ergibt sich eine Pflicht für den Entwickler: Er muss den Identitätsdienst aufrufen,
bevor er den Integrationsdienst aufruft, um das Token verfügbar zu machen
Wichtig zu wissen
Volt MX Foundry
session storage
save
token
get
token
service service
31
Beispiel: UPS tracking API
Wir sind fertig in Foundry, wir wechseln zu Domino Designer und erstellen zwei Formulare, "Config" und "Track"
In diesem speziellen Fall wird keine
Authentifizierung eines Benutzers benötigt.
Das ist ungewöhnlich in den meisten Fällen,
in denen der Nutzer seine Identität
nachweisen muss. Dieser Sonderfall
funktioniert wie "Wenn Sie über einen
gültigen appKey und appSecret verfügen,
dürfen Sie die UPS Tracking API von uns
verwenden".
32
Beispiel: UPS tracking API
Code flow:
Start
App
token?
TrackByNumber
(integration
service call)
GetSessionToken
(header: appKey,
appSecret)
yes
no
End
GetAppToken
(auth-header:
sessionToken)
identity service calls
appToken
33
Beispiel: UPS tracking API
Vorbereitung: Klassen NotesHttpRequest und NotesJSONNavigator in Lotusscript
34
Beispiel: UPS tracking API
– UpsTracking()
– Declarations
– Load profile doc
– Look for app token
– If empty, call identity
service twice for
appToken
Die Track-Schaltfläche führt ein Lotusscript aus:
35
Beispiel: UPS tracking API
– Call integration
service
– Evaluate
response
– Set form fields
– Show activity
– Show signature
(if exists)
Die Track-Schaltfläche führt ein Lotusscript aus:
36
Beispiel: UPS tracking API
– PrepareFoundryHttpRequest()
– Declarations
– Create
– settings
– headers
– timeout
– set header
Die Servicefunktionen:
37
Beispiel: UPS tracking API
– GetFoundrySessionToken()
– Declarations
– appKey, secret
– httpReq.Post
– response
Die Servicefunktionen (2):
38
Beispiel: UPS tracking API
– GetFoundryAppToken()
– Declarations
– sessionToken
– httpReq.Post
– response
Die Servicefunktionen (3):
39
Beispiel: UPS tracking API
– TrackByNumber()
– declarations
– appToken
– set headers
– set body
– httpReq.Post
Die Servicefunktionen (4):
40
Beispiel: UPS tracking API
Versuchen wir es:
Erfolg!
41
Schlussfolgerung
• Es ist leicht möglich, 3rd-Party-APIs mit HCL Volt MX Foundry-Integrationsdiensten
zu definieren, indem Swagger-Dateien importiert werden
• Es ist problemlos möglich, Identitätsdienste in HCL Volt MX Foundry für eine
ordnungsgemäße Authentifizierung (basic Auth, oAuth, …) zu erstellen
• Es ist problemlos möglich, diese Dienste aus LotusScript in Domino-Anwendungen
aufzurufen
• Die Anmeldeinformationen von Drittanbietern bleiben innerhalb der Foundry sicher
und müssen nicht weitergegeben werden, der Zugriff kann durch Aufheben der
Veröffentlichung der Volt MX-App entzogen werden
42
Vielen Dank!
Fragen?
43

Weitere ähnliche Inhalte

Ähnlich wie dachnug51 - HCL Volt MX Go Services in Domino Apps.pdf

Eine Referenzarchitektur für das Digitale Produkt
Eine Referenzarchitektur für das Digitale ProduktEine Referenzarchitektur für das Digitale Produkt
Eine Referenzarchitektur für das Digitale Produkt
Intelliact AG
 
EPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-KonnektorEPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-Konnektor
Wolfgang Hornung
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
QAware GmbH
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
Torsten Fink
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
QAware GmbH
 
API Management
API ManagementAPI Management
API Management
predic8
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
DNUG e.V.
 
Der Weg von API First zur Cloud Initiative
Der Weg von API First zur Cloud InitiativeDer Weg von API First zur Cloud Initiative
Der Weg von API First zur Cloud Initiative
Michael Frembs
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
QAware GmbH
 
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
Intelliact AG
 
C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007
Andreas Schulte
 
Referat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler AnwendungenReferat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler Anwendungen
Digicomp Academy AG
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
QAware GmbH
 
Rails goes SOA
Rails goes SOARails goes SOA
Rails goes SOA
Dirk Breuer
 
20150611 track4 2_ae21_salesforce and ibm software
20150611 track4 2_ae21_salesforce and ibm software20150611 track4 2_ae21_salesforce and ibm software
20150611 track4 2_ae21_salesforce and ibm software
DNUG e.V.
 
DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren
DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrierenDNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren
DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren
Andreas Rosen
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
Andreas Schulte
 

Ähnlich wie dachnug51 - HCL Volt MX Go Services in Domino Apps.pdf (20)

Eine Referenzarchitektur für das Digitale Produkt
Eine Referenzarchitektur für das Digitale ProduktEine Referenzarchitektur für das Digitale Produkt
Eine Referenzarchitektur für das Digitale Produkt
 
EPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-KonnektorEPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-Konnektor
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
API Management
API ManagementAPI Management
API Management
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Der Weg von API First zur Cloud Initiative
Der Weg von API First zur Cloud InitiativeDer Weg von API First zur Cloud Initiative
Der Weg von API First zur Cloud Initiative
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
«Schnittstellen sind kompliziert, darum kann ich die Digitalisierung nicht mi...
 
C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007C5 Mettenmeier Lotusday2007
C5 Mettenmeier Lotusday2007
 
Referat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler AnwendungenReferat: Architektur und Entwicklung mobiler Anwendungen
Referat: Architektur und Entwicklung mobiler Anwendungen
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Rails goes SOA
Rails goes SOARails goes SOA
Rails goes SOA
 
20150611 track4 2_ae21_salesforce and ibm software
20150611 track4 2_ae21_salesforce and ibm software20150611 track4 2_ae21_salesforce and ibm software
20150611 track4 2_ae21_salesforce and ibm software
 
DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren
DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrierenDNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren
DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
 

Mehr von DNUG e.V.

dachnug51 - Sametime 12 Deployment .pdf
dachnug51 - Sametime 12 Deployment  .pdfdachnug51 - Sametime 12 Deployment  .pdf
dachnug51 - Sametime 12 Deployment .pdf
DNUG e.V.
 
dachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdf
dachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdfdachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdf
dachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdf
DNUG e.V.
 
dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...
dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...
dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...
DNUG e.V.
 
dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...
dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...
dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...
DNUG e.V.
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
dachnug51 - Exploring real life use cases of Huddo Boards.pdf
dachnug51 - Exploring real life use cases of Huddo Boards.pdfdachnug51 - Exploring real life use cases of Huddo Boards.pdf
dachnug51 - Exploring real life use cases of Huddo Boards.pdf
DNUG e.V.
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
dachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdf
dachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdfdachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdf
dachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdf
DNUG e.V.
 
dachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdf
dachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdfdachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdf
dachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdf
DNUG e.V.
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
dachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdf
dachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdfdachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdf
dachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdf
DNUG e.V.
 
dachnug51 - Update zum DNUG Lab .pdf
dachnug51 - Update zum DNUG Lab     .pdfdachnug51 - Update zum DNUG Lab     .pdf
dachnug51 - Update zum DNUG Lab .pdf
DNUG e.V.
 
dachnug51 - State of LowCode .pdf
dachnug51 - State of LowCode        .pdfdachnug51 - State of LowCode        .pdf
dachnug51 - State of LowCode .pdf
DNUG e.V.
 
dachnug51 - Mehr Sicherheit ohne Passwoerter.pdf
dachnug51 - Mehr Sicherheit ohne Passwoerter.pdfdachnug51 - Mehr Sicherheit ohne Passwoerter.pdf
dachnug51 - Mehr Sicherheit ohne Passwoerter.pdf
DNUG e.V.
 
dachnug51 - Meetings Meetings Meetings.pdf
dachnug51 - Meetings Meetings Meetings.pdfdachnug51 - Meetings Meetings Meetings.pdf
dachnug51 - Meetings Meetings Meetings.pdf
DNUG e.V.
 
dachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdf
dachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdfdachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdf
dachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdf
DNUG e.V.
 
dachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdfdachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdf
DNUG e.V.
 
dachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdf
dachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdfdachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdf
dachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdf
DNUG e.V.
 
dachnug51 - HCL Domino Roadmap .pdf
dachnug51 - HCL Domino Roadmap      .pdfdachnug51 - HCL Domino Roadmap      .pdf
dachnug51 - HCL Domino Roadmap .pdf
DNUG e.V.
 
dachnug51 - HCL Domino Marketplace .pdf
dachnug51 - HCL Domino Marketplace  .pdfdachnug51 - HCL Domino Marketplace  .pdf
dachnug51 - HCL Domino Marketplace .pdf
DNUG e.V.
 

Mehr von DNUG e.V. (20)

dachnug51 - Sametime 12 Deployment .pdf
dachnug51 - Sametime 12 Deployment  .pdfdachnug51 - Sametime 12 Deployment  .pdf
dachnug51 - Sametime 12 Deployment .pdf
 
dachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdf
dachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdfdachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdf
dachnug51 - NIS2_DORA - Was steckt konkret dahinter.pdf
 
dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...
dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...
dachnug51 - Keynote Airbus Defence and Space - Service Management and Collabo...
 
dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...
dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...
dachnug51 - Keynote A1 Austria AG - HCL Domino alias Business Notes verbindet...
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
dachnug51 - Exploring real life use cases of Huddo Boards.pdf
dachnug51 - Exploring real life use cases of Huddo Boards.pdfdachnug51 - Exploring real life use cases of Huddo Boards.pdf
dachnug51 - Exploring real life use cases of Huddo Boards.pdf
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
dachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdf
dachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdfdachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdf
dachnug51 - Zukunft gestalten mit Notes und Domino 14 - Der Wegweiser.pdf
 
dachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdf
dachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdfdachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdf
dachnug51 - Wir möchten das auch - HCL Connections beim Kosmos Verlag.pdf
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
dachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdf
dachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdfdachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdf
dachnug51 - Von Chaos zu Struktur - Collaboration Analytics mit Neo4j.pdf
 
dachnug51 - Update zum DNUG Lab .pdf
dachnug51 - Update zum DNUG Lab     .pdfdachnug51 - Update zum DNUG Lab     .pdf
dachnug51 - Update zum DNUG Lab .pdf
 
dachnug51 - State of LowCode .pdf
dachnug51 - State of LowCode        .pdfdachnug51 - State of LowCode        .pdf
dachnug51 - State of LowCode .pdf
 
dachnug51 - Mehr Sicherheit ohne Passwoerter.pdf
dachnug51 - Mehr Sicherheit ohne Passwoerter.pdfdachnug51 - Mehr Sicherheit ohne Passwoerter.pdf
dachnug51 - Mehr Sicherheit ohne Passwoerter.pdf
 
dachnug51 - Meetings Meetings Meetings.pdf
dachnug51 - Meetings Meetings Meetings.pdfdachnug51 - Meetings Meetings Meetings.pdf
dachnug51 - Meetings Meetings Meetings.pdf
 
dachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdf
dachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdfdachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdf
dachnug51 - Kompetenzzentrum für die digitale Zusammenarbeit powered by HCL.pdf
 
dachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdfdachnug51 - HCLs evolution of the employee experience platform.pdf
dachnug51 - HCLs evolution of the employee experience platform.pdf
 
dachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdf
dachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdfdachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdf
dachnug51 - HCL Volt MX - Build exeptional secure apps - fast.pdf
 
dachnug51 - HCL Domino Roadmap .pdf
dachnug51 - HCL Domino Roadmap      .pdfdachnug51 - HCL Domino Roadmap      .pdf
dachnug51 - HCL Domino Roadmap .pdf
 
dachnug51 - HCL Domino Marketplace .pdf
dachnug51 - HCL Domino Marketplace  .pdfdachnug51 - HCL Domino Marketplace  .pdf
dachnug51 - HCL Domino Marketplace .pdf
 

dachnug51 - HCL Volt MX Go Services in Domino Apps.pdf

  • 1. HCL Volt MX Go Services in Domino Apps Bernd Gewehr Vössing Ingenieurgesellschaft mbH @bgewehr
  • 2. Bauingenieure 770 Mitarbeiter 44 Jahre Know-how 25 Niederlassungen in 5 Ländern 12.000 Projekte in 15 Ländern Bernd Gewehr Leiter IT 27 Jahre im Unternehmen 5 Entwickler in Düsseldorf 1 Azubi Domino Entwicker
  • 3. Agenda 1) APIs in Unternehmens- anwendungen 2) Mehrwerte von HCL Volt MX Foundry 3) Beispiel: UPS tracking API 4) HCL Volt MX Foundry Services in LS verwenden 3
  • 4. APIs in Unternehmensanwendungen • HCL Connections-APIs für die Veröffentlichung von Aktivitätsfeeds • MS Graph APIs für alles in M365 • Matrix 42 Web Services APIs für die Automatisierung von Asset- Daten • Bludelta API für KI-basierte Rechnungserkennung • Vodafone-APIs für Informationen zum Gerätekauf • Bechtle APIs für die Auftragsautomatisierung • UPS APIs für die Versand- und Sendungsverfolgungsautomatisierung Seit langem verwenden wir APIs von Drittanbieter-Apps in mehreren Domino-Geschäftsanwendungen: 4
  • 5. APIs in Unternehmensanwendungen • Geschäftsprozessverantwortlicher fordert Entwicklung an • Entwickler benötigt API-Zugriff auf 3rd-Party-Dienste • Fragt den Besitzer des 3rd-Party-Dienstes nach Anmeldeinformationen • Lernt die API-Nutzung aus der Herstellerdokumentation • Implementiert die API in persönlichem Code • Bietet den erforderlichen Service • Alles gut? Typischer Ablauf 5
  • 6. APIs in Unternehmensanwendungen • Unsicher und nicht gut kontrollierbar • Anmeldeinformationen für den 3rd-Party-Service muss ausgehändigt werden • Risiko der Weitergabe • Mehrere API-Implementierungen von verschiedenen Entwicklern • Hohe Anforderungen an die Fähigkeiten • Alle beteiligten Entwickler müssen über vollständige API-Kenntnisse verfügen • Dokumentation auf der Seite des API-Anbieter muss gelernt werden • Besser: alles an einem Ort, ein erfahrener API-Verwalter Alles gut? 6
  • 7. Mehrwerte von HCL Volt MX Foundry HCL Volt MX besteht aus zwei Hauptkomponenten: HCL Volt MX Foundry: • Backend Server • API proxy • App Logik Entwicklung HCL Volt MX Iris: • Desktop Programm • IDE • App frontend Entwicklung req res 7
  • 8. Mehrwerte von HCL Volt MX Foundry – One-Stop-Shop für API-basierte Dienste – Identitätsdienste (Basic Auth, oAuth und andere) – Integrationsdienste (Drittanbieter-APIs aller Art - inkl. HCL Domino) – Orchestrierungsdienste (serieller oder paralleler Fluss von Integrationsdiensten) – Objektdienste (JSON-Objekte Services zuordnen, offlinefähig) – Workflowdienste (einfacher bis komplexer bedingter Ablauf von Diensten) – Business Rule Services (einfache bis komplexe Berechnungen in MVEL) – Engagement-Dienste (Push-Benachrichtigungen für Win/Web/iOS/Android) Was bietet HCL Volt MX Foundry? 8
  • 10. Beispiel: UPS tracking API UPS Entwicklerkonto und oAuth App erstellen (https://developer.ups.com): 10
  • 11. Beispiel: UPS tracking API UPS Entwicklerkonto und oAuth App erstellen (https://developer.ups.com): 11
  • 12. Beispiel: UPS tracking API UPS Entwicklerkonto und oAuth App erstellen (https://developer.ups.com): 12
  • 13. Beispiel: UPS tracking API Neue App in Foundry erstellen 13
  • 14. Beispiel: UPS tracking API Identitätsdienst erstellen (oder wiederverwenden, falls vorhanden) 14
  • 15. Beispiel: UPS tracking API Übertragen der oAuth-App-Daten von UPS 15
  • 16. Beispiel: UPS tracking API From developer.ups.com: 16
  • 17. Beispiel: UPS tracking API Swagger-Definition für Service-API abrufen(https://developer.ups.com): 17
  • 18. Beispiel: UPS tracking API Swagger-Definition für Service-API abrufen(https://github.com/UPS-API/api-documentation/blob/main/Tracking.yaml): 18
  • 19. Beispiel: UPS tracking API Integrationsdienst erstellen 19
  • 20. Beispiel: UPS tracking API Importieren der API-Definition 20
  • 21. Beispiel: UPS tracking API Importieren der API-Definition 21
  • 22. Beispiel: UPS tracking API Identitätsdienst zuweisen 22
  • 23. Beispiel: UPS tracking API Vorgänge aus der Swagger-Definition auswählen, die Ihre App bieten soll 23
  • 24. Beispiel: UPS tracking API Body-Payload und Response-Payload komplett definiert – ein Klick 24
  • 25. Beispiel: UPS tracking API Testdaten eingeben (Body) 25
  • 26. Beispiel: UPS tracking API Testdaten eingeben (Header) 26
  • 27. Beispiel: UPS tracking API Bedienung komplett definiert – ein Klick – funktioniert 27
  • 28. Beispiel: UPS tracking API Durch die Veröffentlichung der App wird sie von außerhalb der Volt MX Foundry-Konsole verfügbar 28
  • 29. Beispiel: UPS tracking API Die veröffentlichte App wird im Entwicklerportal mit OpenAPI-Dokumentation, AppKey und AppSecret angezeigt und kann von konfigurierten Personen angezeigt werden 29
  • 30. Beispiel: UPS tracking API Die veröffentlichte App wird im Entwicklerportal mit OpenAPI-Dokumentation, AppKey und AppSecret angezeigt und kann von konfigurierten Benutzern angezeigt werden 30
  • 31. Beispiel: UPS tracking API – Obwohl dem Integrationsdienst ein Identitätsdienst zugewiesen werden kann, löst der Aufruf des Integrationsdiensts keinen Aufruf des Identitätsdiensts aus, sondern wählt nur aus, welches Token aus dem Sitzungsspeicher verwendet werden soll – Daraus ergibt sich eine Pflicht für den Entwickler: Er muss den Identitätsdienst aufrufen, bevor er den Integrationsdienst aufruft, um das Token verfügbar zu machen Wichtig zu wissen Volt MX Foundry session storage save token get token service service 31
  • 32. Beispiel: UPS tracking API Wir sind fertig in Foundry, wir wechseln zu Domino Designer und erstellen zwei Formulare, "Config" und "Track" In diesem speziellen Fall wird keine Authentifizierung eines Benutzers benötigt. Das ist ungewöhnlich in den meisten Fällen, in denen der Nutzer seine Identität nachweisen muss. Dieser Sonderfall funktioniert wie "Wenn Sie über einen gültigen appKey und appSecret verfügen, dürfen Sie die UPS Tracking API von uns verwenden". 32
  • 33. Beispiel: UPS tracking API Code flow: Start App token? TrackByNumber (integration service call) GetSessionToken (header: appKey, appSecret) yes no End GetAppToken (auth-header: sessionToken) identity service calls appToken 33
  • 34. Beispiel: UPS tracking API Vorbereitung: Klassen NotesHttpRequest und NotesJSONNavigator in Lotusscript 34
  • 35. Beispiel: UPS tracking API – UpsTracking() – Declarations – Load profile doc – Look for app token – If empty, call identity service twice for appToken Die Track-Schaltfläche führt ein Lotusscript aus: 35
  • 36. Beispiel: UPS tracking API – Call integration service – Evaluate response – Set form fields – Show activity – Show signature (if exists) Die Track-Schaltfläche führt ein Lotusscript aus: 36
  • 37. Beispiel: UPS tracking API – PrepareFoundryHttpRequest() – Declarations – Create – settings – headers – timeout – set header Die Servicefunktionen: 37
  • 38. Beispiel: UPS tracking API – GetFoundrySessionToken() – Declarations – appKey, secret – httpReq.Post – response Die Servicefunktionen (2): 38
  • 39. Beispiel: UPS tracking API – GetFoundryAppToken() – Declarations – sessionToken – httpReq.Post – response Die Servicefunktionen (3): 39
  • 40. Beispiel: UPS tracking API – TrackByNumber() – declarations – appToken – set headers – set body – httpReq.Post Die Servicefunktionen (4): 40
  • 41. Beispiel: UPS tracking API Versuchen wir es: Erfolg! 41
  • 42. Schlussfolgerung • Es ist leicht möglich, 3rd-Party-APIs mit HCL Volt MX Foundry-Integrationsdiensten zu definieren, indem Swagger-Dateien importiert werden • Es ist problemlos möglich, Identitätsdienste in HCL Volt MX Foundry für eine ordnungsgemäße Authentifizierung (basic Auth, oAuth, …) zu erstellen • Es ist problemlos möglich, diese Dienste aus LotusScript in Domino-Anwendungen aufzurufen • Die Anmeldeinformationen von Drittanbietern bleiben innerhalb der Foundry sicher und müssen nicht weitergegeben werden, der Zugriff kann durch Aufheben der Veröffentlichung der Volt MX-App entzogen werden 42