In diesem Dokument wird eine Referenzarchitektur für die Erstellung interaktiver Google Chat-Apps für SAP beschrieben. Dabei wird die lokale oder eine beliebige Cloud-Version des ABAP SDK for Google Cloud verwendet. Mit interaktiven Chat-Apps können Nutzer nicht nur Benachrichtigungen erhalten, sondern auch direkt in Google Workspace Aktionen für SAP-Workflows ausführen, z. B. Anfragen genehmigen oder ablehnen.
Dieses Dokument richtet sich an ABAP-Entwickler, SAP-Lösungsarchitekten und Cloud-Architekten. In diesem Dokument wird davon ausgegangen, dass Sie mit den Chat-Apps vertraut sind, die in Google Workspace verfügbar sind.
Architektur
Das folgende Diagramm zeigt eine Referenzarchitektur für die Implementierung interaktiver Chat-Apps für SAP:
Diese Referenzarchitektur umfasst die folgenden Komponenten:
# | Komponente | Details |
---|---|---|
1 | SAP-Prozesse oder ‑Transaktionen | Alle SAP-Prozesse oder -Transaktionen, bei denen Nachrichten an Nutzer gesendet werden müssen. Sie ist der Ausgangspunkt für die Kommunikation über Google Chat. |
2 | ABAP SDK for Google Cloud | Die Lösung dient als Brücke zwischen SAP-Systemen und Google Cloud und ermöglicht eine sichere HTTPS-Kommunikation mit der Google Chat API. |
3 | Google Chat App-Projekt | Das Google Cloud-Projekt, in dem Sie die Google Chat API aktiviert und Ihre Chat-App konfiguriert haben. |
4 | Chatbereich | Ein spezieller Chatroom in Google Chat, in dem Ihr SAP-System mit Nutzern kommunizieren kann. Die Chat-Apps befinden sich in diesem Gruppenbereich und stellen über die Google Chat API einen Echtzeit-Informationsstream aus Ihren SAP-Systemen bereit. |
5 | Apps Script-Projekt | Das Apps Script-Projekt, in dem Sie die Logik Ihrer Chat-App zum Empfangen und Verarbeiten von Nachrichten implementieren. |
6 | Pub/Sub | Das Apps Script-Projekt veröffentlicht Nutzeraktionen wie Genehmigungen oder Ablehnungen als Nachrichten an ein Pub/Sub-Thema. Das ABAP SDK for Google Cloud verwendet ein Pub/Sub-Abo, um diese Nachrichten aus dem Thema abzurufen. So kann Ihr SAP-System diese Aktionen verarbeiten und alle erforderlichen Aktualisierungen Ihrer Geschäftsprozesse auslösen. |
Verwendete Produkte
In dieser Referenzarchitektur werden die folgenden Google-Produkte verwendet:
- ABAP SDK for Google Cloud: Hilft Ihnen, ABAP-Anwendungen zu entwickeln, die Ihre SAP-Systeme mit Google Cloud-Diensten wie Google Chat verbinden.
Google Chat: Mit dieser Funktion können Sie interaktive und kollaborative Chat-Apps erstellen, um die Kommunikation und Produktivität zu verbessern.
Apps Script: Mit dieser Funktion können Sie Google-Produkte integrieren und Aufgaben automatisieren.
Pub/Sub: Mit diesem Dienst können Sie Nachrichten zwischen unabhängigen Anwendungen senden und empfangen.
Anwendungsfälle
Mit interaktiven Chat-Apps können Sie Aktionen in SAP-Workflows ausführen, z. B. Anfragen genehmigen oder ablehnen. Das folgende Diagramm zeigt ein interaktives Chatmuster für Workflows zur Genehmigung von Bestellungen (Purchase Order, PO) und Verkaufsaufträgen (Sales Order, SO):
Die folgende Liste zeigt einige Anwendungsfälle für interaktive Chat-Apps für SAP:
Workflow-Ereignisverwaltung: Sie können mit einer Chat-App interagieren, um Ihren Workflow zu verwalten. Wenn Sie beispielsweise eine Bestellung bearbeiten müssen, können Sie über die Chat-App Folgendes tun:
- Auftrag genehmigen
- Bestellung ablehnen
- Weitere Informationen anfordern
Systembenachrichtigungen: Sie können Benachrichtigungen an einen Chatbereich senden, der für die Systemadministratoren bestimmt ist, um sie über das Erreichen verschiedener Systemgrenzwerte zu informieren. Dazu gehören beispielsweise die Laufwerksspeichernutzung, langlaufende Vorgänge, Cache-Sperren oder abgelaufene Lizenzen.
Aktualisierungen des Jobstatus: Sie können Aktualisierungen für lang andauernde benutzerdefinierte Jobs an eine Gruppe von Nutzern senden, die auf den Abschluss dieser Jobs warten und die Nachbearbeitungsvorgänge starten möchten.
Designaspekte
Wenn Sie Chat-Apps für Ihre Anwendungsfälle entwerfen, können mehrere Faktoren Ihre Designentscheidungen beeinflussen. Dieser Abschnitt enthält eine Anleitung zur Verwendung dieser Referenzarchitektur, um Architekturen zu entwickeln, die Ihnen helfen, Ihre spezifischen Anforderungen an Sicherheit, Datenschutz, Compliance und Kosten zu erfüllen.
Konfiguration der Google Chat App
Name der Chat-App: Geben Sie einen klaren und aussagekräftigen Namen für Ihre Chat-App an. Für eine reibungslose Nutzererfahrung sollte der Name der Chat-App die Funktionen oder die Dienste, mit denen sie verknüpft ist, genau widerspiegeln.
Zeitzonen: Ein Chatbereich kann von Mitgliedern verschiedener Zeitzonen gemeinsam genutzt werden. Daher ist es wichtig, Chat-Apps so zu konfigurieren, dass Nachrichten zu einer für alle Nutzer des Gruppenbereichs günstigen Zeit gesendet werden. Alternativ können Sie für wichtige Benachrichtigungen Mitglieder für Chatgruppenbereiche mit einer gemeinsamen Zeitzone festlegen und eine Logik erstellen, um zu bestimmen, an welchen Gruppenbereich die Chat-App Nachrichten senden kann.
Sicherheit, Datenschutz und Compliance
Um die Vertraulichkeit zu wahren, müssen strenge Kontrollen für die Weitergabe vertraulicher Informationen wie Kundenkontaktdaten, IBAN oder anderer für die Arbeit erforderlicher Daten in Chatbereichen implementiert werden. Wenn neuen Nutzern Chat-Gruppenbereiche hinzugefügt werden, in denen Chat-Apps hinzugefügt werden, müssen außerdem klare Regeln festgelegt werden, um diese Aktivitäten angemessen zu verwalten.
Sie können auch die Cloud Data Loss Prevention (DLP) API verwenden, um den Inhalt der Nachricht zu entfernen. Informationen zum Schutz sensibler Unternehmensdaten in SAP mit der DLP API finden Sie unter Datenschutz in SAP mit der DLP API.
Aus Sicherheitsgründen sollten Google Workspace-Administratoren die von Google empfohlenen Best Practices befolgen.
Kontingente und Limits
Die Google Chat API ist ein gemeinsam genutzter Dienst. Daher gelten Kontingente und Einschränkungen. Wenn Sie ein Kontingent überschreiten, erhalten Sie eine Antwort mit dem HTTP-Statuscode 429: Too many requests
. Weitere Informationen zu Kontingenten und Limits finden Sie unter Nutzungslimits.
Die Google Chat API selbst ist kostenlos. Google Chat ist jedoch ein Google Workspace-Produkt. Google Workspace ist eine Suite mit Produktivitäts-Tools, darunter Gmail, Docs, Tabellen, Präsentationen und Google Chat. Die Preisstruktur ist ganzheitlich, d. h., Sie können keine einzelnen Komponenten auswählen und kaufen. Weitere Informationen zu den Preisen finden Sie unter Google Workspace-Preise.
Optionen für Verbindungseinstellungen
Für die Interaktionen in Google Chat wird in dieser Referenzarchitektur Apps Script als Backend verwendet. Der Code, der in einem Apps Script-Projekt gehostet wird, muss in JavaScript geschrieben sein.
Alternativ können Sie Ihre interaktive Chat-App mit Cloud Run-Funktionen oder der App Engine mit einem HTTP-Endpunkt erstellen. Informationen zur Verwendung von Cloud Run-Funktionen für Google Chat finden Sie unter HTTP-Google Chat-App erstellen. Um die Logik der Chat-App in Cloud Run-Funktionen zu erstellen, können Sie die Cloud-Bibliotheken verwenden und aus mehreren Sprachen wie Node.js, Java oder Python auswählen. Nachdem Sie Ihre Cloud Run-Funktion bereitgestellt haben, wählen Sie in der Chat-App-Konfiguration unter Verbindungseinstellungen die Option HTTP-Endpunkt-URL aus und geben Sie die URL für den Cloud Run-Funktionstrigger an.
Hinweise
Bevor Sie eine Lösung auf Grundlage dieser Referenzarchitektur implementieren, müssen Sie die folgenden Voraussetzungen erfüllen:
Sie haben ein Google Workspace-Konto für Unternehmen oder Organisationen mit Zugriff auf Google Chat.
Sie haben ein Google Cloud-Konto und -Projekt. Für jede Chat-App ist ein eigenes Google Cloud-Projekt erforderlich. Das bedeutet, dass Sie in einem Google Cloud-Projekt nur eine einzige Chat-App konfigurieren können.
Sie haben die Abrechnung für Ihr Projekt aktiviert. Informationen dazu, wie Sie prüfen, ob die Abrechnung für Ihr Projekt aktiviert ist, finden Sie unter Abrechnungsstatus Ihrer Projekte prüfen.
Die Google Chat API ist in Ihrem Google Cloud-Projekt aktiviert.
Apps Script-Projekt einrichten
Zum Empfangen und Verarbeiten von Nachrichten implementieren Sie die Logik der Chat-App in einem Apps Script-Projekt. Apps Script bietet die Backendlogik und Automatisierung. Sie können damit Code schreiben, um Ereignisse zu verarbeiten, z. B. Nutzernachrichten zu extrahieren, Schaltflächenklicks zu verarbeiten und nachfolgende Aktionen auszulösen.
So richten Sie ein Apps Script-Projekt ein:
- Gehen Sie zu Apps Script.
Erstellen Sie ein Script, um die Logik Ihrer Chat-App für den Empfang und die Verarbeitung von Nachrichten zu verarbeiten. Informationen zum Erstellen eines Scripts finden Sie in der Google Apps Script-Kurzanleitung.
Beispielsweise müssen Sie JavaScript-Code schreiben, um verschiedene Funktionstypen zu verarbeiten. Im folgenden Beispielcode wird gezeigt, wie das
OnCardClicked
-Ereignis verarbeitet wird:function onCardClick(event) { console.info(event); let message = 'Button Clicked'; // Get the function name from parameter var functionToCall = event.action.parameters[0].value; // Get the action name from parameter var actionTaken = event.action.parameters[1].value; // Call the function dynamically if (this[functionToCall]) { this[functionToCall](actionTaken); } else { // Handle invalid function name console.log('Function not found:', functionToCall); } return { "text": message }; }
Dieser Beispielcode führt die folgenden Funktionen aus:
- Klick auf die Schaltfläche wird erfasst: Hier wird die angeklickte Schaltfläche und die beabsichtigte Aktion des Nutzers ermittelt.
- Sucht den richtigen Code zum Ausführen: Anhand der Informationen vom Klicken auf die Schaltfläche wird ein passender Code in Ihrer Chat-App gefunden.
- Code ausführen: Der übereinstimmende Code wird ausgeführt, um die vom Nutzer angeforderte Aktion auszuführen.
- Fehlerbehandlung: Wenn der übereinstimmende Code nicht gefunden werden kann, wird eine Fehlermeldung angezeigt.
Verknüpfen Sie Ihr Google Cloud-Projekt mit dem Apps Script-Projekt. Informationen zum Verknüpfen Ihrer Projekte finden Sie unter Google Cloud-Projekt verknüpfen.
Erstellen Sie eine Bereitstellung für Ihr Script. Informationen zum Bereitstellen Ihres Scripts finden Sie unter Bereitstellungen erstellen und verwalten.
Notieren Sie sich die Bereitstellungs-ID. Informationen zum Finden einer Bereitstellungs-ID finden Sie unter Bereitstellungs-ID ermitteln.
Weitere Informationen zum Einrichten Ihres Apps Script-Projekts finden Sie in der Kurzanleitung zu Chat-Apps in Google Apps Script.
Google Chat App konfigurieren
So konfigurieren Sie die Google Chat App:
Suchen Sie in der Google Cloud Console nach „Google Chat API“, klicken Sie auf Google Chat API und dann auf Verwalten.
Klicken Sie auf Konfiguration und richten Sie die Google Chat App ein:
- Geben Sie unter Anwendungsname
Quickstart SAP App
ein. - Geben Sie unter Avatar-URL
https://developers.google.com/chat/images/quickstart-app-avatar.png
ein. - Geben Sie unter Beschreibung
Quickstart app for SAP
ein.
- Geben Sie unter Anwendungsname
Wählen Sie unter Verbindungseinstellungen die Option Apps Script aus.
Geben Sie die Bereitstellungs-ID des Scripts ein, das Sie im Abschnitt Apps Script-Projekt einrichten erstellt haben.
Klicken Sie auf Speichern.
Authentifizierung für Google Chat-Apps einrichten
Sie können sich bei Google Chat-Apps auf zwei Arten authentifizieren: als App selbst oder als Nutzer.
Wenn Ihre App automatisierte Aufgaben ausführen muss, z. B. das Senden von Systembenachrichtigungen ohne direkte Nutzerinteraktion, wird ein Dienstkonto verwendet. Wenn Ihre App im Namen eines Nutzers handeln soll, z. B. eine Nachricht als diese Person senden, ist eine Nutzerauthentifizierung erforderlich. Dieser Ansatz der doppelten Authentifizierung bietet Flexibilität und Kontrolle darüber, wie Ihre App mit Google Chat interagiert.
Mit dem ABAP SDK for Google Cloud können Sie beide Authentifizierungstypen einrichten. Informationen zum Einrichten der Authentifizierung für Google Chat-Apps finden Sie unter:
- Als Google Chat-App authentifizieren: Mit Zugriffstokens authentifizieren oder Mit JSON-Webtokens authentifizieren
- Als Google Chat-Nutzer authentifizieren und autorisieren: Mit OAuth 2.0-Clientanmeldedaten bei Google Workspace APIs authentifizieren
Informationen zu Google Chat API-Methoden und ihren unterstützten Autorisierungsbereichen finden Sie unter Chat-Apps und Google Chat API-Anfragen authentifizieren und autorisieren.
In der in diesem Dokument beschriebenen Referenzarchitektur wird die Authentifizierung als Chat-App verwendet und es werden Zugriffstokens für die Authentifizierung verwendet.
So richten Sie die Authentifizierung als Chat-App ein:
- Konfigurieren Sie in der Google Cloud Console den OAuth-Zustimmungsbildschirm und wählen Sie Bereiche aus.
- Erstellen Sie in der Google Cloud Console ein Dienstkonto.
- Optional: Weisen Sie Ihrem Dienstkonto IAM-Rollen zu, um Zugriff auf die Ressourcen Ihres Google Cloud-Projekts zu gewähren. Weitere Informationen finden Sie unter Zugriff auf Dienstkonten verwalten.
Konfigurieren Sie im SAP-System einen Clientschlüssel mit den folgenden Details:
Feld Beschreibung Google Cloud-Schlüsselname Geben Sie einen Namen für die Konfiguration des Clientschlüssels an. Beispiel: ABAP_SDK_CHAT
.Name des Google Cloud-Dienstkontos Geben Sie den Namen des Dienstkontos an, dem Sie Berechtigungen für den Zugriff auf die Google Chat API gewährt haben. Beispiel:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Google Cloud-Bereich Geben Sie den API-Zugriffsbereich an: https://www.googleapis.com/auth/chat.bot
.Google Cloud-Projekt-ID Geben Sie die ID des Google Cloud-Projekts an, das Ihre aktivierte Google Chat API enthält. Befehlsname Lassen Sie dieses Feld leer. Autorisierungsklasse Geben Sie gegebenenfalls die Autorisierungsklasse an:
- Für die Authentifizierung mit Zugriffstokens:
/GOOG/CL_AUTH_GOOGLE
- Für die Authentifizierung mit JWT:
/GOOG/CL_AUTH_JWT
Token-Caching Das Flag, das bestimmt, ob die aus Google Cloud abgerufenen Zugriffstoken im Cache gespeichert werden.
Wir empfehlen, das Token-Caching zu aktivieren, nachdem Sie Ihre Verbindung zu Google Cloud konfiguriert und getestet haben. Weitere Informationen zum Token-Caching finden Sie unter Token-Caching aktivieren.
Sekunden bis Tokenaktualisierung Gibt die Zeit in Sekunden an, bis ein Zugriffstoken abläuft und aktualisiert werden muss. Der Standardwert ist 3500
.Autorisierungsparameter 1 Lassen Sie dieses Feld leer. Autorisierungsparameter 2 Lassen Sie dieses Feld leer. - Für die Authentifizierung mit Zugriffstokens:
Eine detaillierte Anleitung zum Einrichten der Authentifizierung finden Sie unter Mit Zugriffstokens authentifizieren oder Mit JSON-Webtokens authentifizieren.
Google Chat-App zu Gruppenbereichen hinzufügen
- Öffnen Sie die Google Chat App oder die Gmail App.
- Fügen Sie der Chat-App einen Chatbereich hinzu. Informationen zum Hinzufügen von Apps zu einem Google Chat-Gruppenbereich finden Sie unter Apps in Unterhaltungen oder Gruppenbereichen hinzufügen.
Interaktive Karten für Nutzeraktionen entwerfen
Karten sind eine visuell ansprechende und interaktive Möglichkeit, Informationen zu präsentieren und so die Nutzerfreundlichkeit insgesamt zu verbessern. Sie können Elemente wie Titel, Bilder und Schaltflächen enthalten, damit Nutzer direkt über die Chatoberfläche mit den Inhalten interagieren können. Eine Karte für den Workflow einer Bestellung kann beispielsweise die folgenden Informationen enthalten:
- Auftragsnummer
- Datum des Dokuments
- Dokumenttyp
- Lieferunternehmen
- Versandart
- Link zum Öffnen der Ansicht der Bestellung in der SAP Fiori App und Schaltfläche zum Genehmigen der Bestellung
Wenn Sie interaktive Karten mit dem ABAP SDK for Google Cloud entwerfen möchten, verwenden Sie die benutzerdefinierte Benutzeroberfläche ZGOOG_IF_CHAT_CARDS_V2
aus dem GitHub-Repository.
Diese benutzerdefinierte Schnittstelle enthält die ABAP-Typen, die zum Erstellen von Karten erforderlich sind.
Sie können Karten wie die folgende Beispielkarte für den Bestellvorgang erstellen:
Weitere Informationen zum Entwerfen von Kartennachrichten finden Sie unter Karten für Google Chat-Apps erstellen.
Wenn Sie mit dem ABAP SDK for Google Cloud Nachrichten von einem SAP-System an einen Chatbereich senden möchten, verwenden Sie die Methode CREATE_MESSAGES
der Klasse /GOOG/CL_CHAT_V1
.
Im folgenden Codebeispiel wird gezeigt, wie eine Kartennachricht von einem SAP-System an einen Chatbereich gesendet wird:
REPORT zsend_interactive_card
DATA lv_client_key TYPE /goog/keyname.
DATA ls_input TYPE /goog/cl_chat_v1=>ty_072.
DATA lv_space_id TYPE string.
DATA ls_widget TYPE zgoog_if_chat_cards_v2=>ty_widget.
DATA ls_section TYPE zgoog_if_chat_cards_v2=>ty_sections.
DATA ls_card_v2 TYPE zgoog_if_chat_cards_v2=>ty_cards_v2.
DATA ls_card TYPE /goog/cl_chat_v1=>ty_012.
DATA ls_rb TYPE zgoog_if_chat_cards_v2=>ty_selection_item.
DATA ls_button TYPE zgoog_if_chat_cards_v2=>ty_button.
DATA ls_param TYPE zgoog_if_chat_cards_v2=>ty_action_parameters.
lv_client_key = 'CLIENT_KEY'.
lv_space_id = 'SPACE_ID'.
TRY.
DATA(lo_chat) = NEW /goog/cl_chat_v1( iv_key_name = lv_client_key ).
CATCH /goog/cx_sdk INTO DATA(lo_excp).
" Handle exception here
ENDTRY.
"Building the Cards Structure
ls_card_v2-header-title = 'Purchase Order Workflow - Level 2 Approval Alert!'.
ls_card_v2-header-subtitle = 'PO Number: 8700000034'.
ls_card_v2-header-image_url = 'https://developers.google.com/chat/images/quickstart-app-avatar.png'.
ls_section-header = 'Purchase Order Details'.
ls_widget-decorated_text-icon-known_icon = 'INVITE'.
ls_widget-decorated_text-text = 'Document Date: 2024-10-23'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.
ls_widget-decorated_text-icon-material_icon-name = 'category'.
ls_widget-decorated_text-text = 'Document Type: Standard PO'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.
ls_widget-decorated_text-icon-material_icon-name = 'conveyor_belt'.
ls_widget-decorated_text-text = 'Supplier: 5300000061 - Cymbal Industries'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.
ls_widget-decorated_text-icon-known_icon = 'TRAIN'.
ls_widget-decorated_text-text = 'Shipping Type: RAIL'.
APPEND ls_widget TO ls_section-widgets.
CLEAR ls_widget.
ls_button-text = 'Display Purchase Order'.
ls_button-color-alpha = '1'.
ls_button-color-blue = '1'.
ls_button-color-green = '0'.
ls_button-color-red = '0'.
ls_button-on_click-open_link-url = "Add url for fiori App
APPEND ls_button TO ls_widget-button_list-buttons.
CLEAR ls_button.
ls_button-text = 'Approve Purchase Order'.
ls_button-color-alpha = '1'.
ls_button-color-blue = '0.2'.
ls_button-color-green = '0.4'.
ls_button-color-red = '0'.
ls_button-on_click-action-function = 'onCardClick'.
ls_param-key = 'functionToCall'.
ls_param-value = 'sendToPubSub'. "Function name on Apps Script
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.
ls_param-key = 'action'.
ls_param-value = 'approved'. "Indicate approval action has taken place
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.
APPEND ls_button TO ls_widget-button_list-buttons.
CLEAR ls_button.
ls_button-text = 'Reject Purchase Order'.
ls_button-color-alpha = '1'.
ls_button-color-blue = '0'.
ls_button-color-green = '0'.
ls_button-color-red = '0.7'.
ls_button-on_click-action-function = 'onCardClick'.
ls_param-key = 'functionToCall'.
ls_param-value = 'sendToPubSub'. "Function name on Apps Script
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.
ls_param-key = 'action'.
ls_param-value = 'rejected'. "Indicate reject action has taken place
APPEND ls_param TO ls_button-on_click-action-parameters.
CLEAR ls_param.
APPEND ls_button TO ls_widget-button_list-buttons.
CLEAR ls_button.
APPEND ls_widget TO ls_section-widgets.
APPEND ls_section TO ls_card_v2-sections.
ls_card-card = REF #( ls_card_v2 ).
APPEND ls_card TO ls_input-cards_v2.
TRY.
mo_chat_client->create_messages( EXPORTING iv_p_spaces_id = CONV #( p_spc_id )
is_input = ls_input
IMPORTING es_output = DATA(ls_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text)
es_err_resp = DATA(ls_err_resp) ).
CATCH /goog/cx_sdk INTO mo_excp.
"Handle exception here
ENDTRY.
IF mo_chat_client->is_error( lv_ret_code ).
"Handle error here
ELSE.
"Handle success here
ENDIF.
Ersetzen Sie Folgendes:
CLIENT_KEY
: Der für die Authentifizierung konfigurierte Clientschlüssel.SPACE_ID
: Die eindeutige ID des Chatbereichs. Wenn Sie die ID des Google Chat-Bereichs ermitteln möchten, öffnen Sie den Google Chat-Bereich in Ihrem Webbrowser. Sie finden die ID in der URL, wie im folgenden Screenshot dargestellt:
Designalternative
Für Ihr SAP S/4HANA- oder ECC-System, das in Google Cloud gehostet wird, können Sie die folgende alternative Referenzarchitektur für die Entwicklung Ihrer interaktiven Chat-Apps verwenden:
Diese Referenzarchitektur basiert auf den folgenden Überlegungen:
- Die SAP-Prozesse oder -Transaktionen, die für das Senden von Nachrichten an Nutzer verantwortlich sind.
- Das ABAP SDK for Google Cloud sendet Nachrichten, indem die Google Chat API-Methode
spaces.messages.create
aufgerufen wird. - Die Google Chat API sendet die Nachrichten an den entsprechenden Google Chat-Gruppenbereich.
- Die Nutzer des Gruppenbereichs erhalten Benachrichtigungen und können dann eine Aktion ausführen, z. B. auf eine Schaltfläche klicken.
- Die Nutzeraktion ruft das Apps Script-Projekt auf, um das entsprechende Ereignis zu verarbeiten.
- Das Apps Script-Projekt ruft die Pub/Sub API auf, um die Nachrichten zu veröffentlichen.
- Die Cloud Run-Funktion verarbeitet die Nachrichten und veröffentlicht Ereignisse mithilfe des Eventarc.
- Die Cloud Run-Funktion ruft den SICF-Knoten über einen serverlosen VPC-Connector auf.
- Das SAP-System verarbeitet das Ereignis und löst basierend auf der definierten Geschäftslogik nachfolgende Aktionen aus.
Für diese Referenzarchitektur muss Logik in drei Schichten implementiert werden:
- Die ABAP-Ebene zum Erstellen einer Chatnachricht, zum Verarbeiten des Ereignisses und zu nachfolgenden Geschäftsprozessen.
- Die Apps Script-Ebene zum Verarbeiten des Ereignisses im Chatbereich und zum Veröffentlichen von Nachrichten in einem Pub/Sub-Thema.
- Die Cloud Run-Funktionen zum Empfangen von Nachrichten über ein Pub/Sub-Abo. Optional können Sie die Nachrichten formatieren und den SICF-Dienst, der auf Ihrem SAP-System gehostet wird, über den VPC-Connector aufrufen.
Nächste Schritte
Wenn Sie die in dieser Anleitung beschriebene Beispiellösung mit minimalem Aufwand bereitstellen möchten, verwenden Sie das Codebeispiel auf GitHub.
Weitere Informationen zum Beheben von Fehlern in der Chat-App finden Sie unter Fehlerbehebung – Übersicht.
Informationen zu Google Workspace-Produkten finden Sie unter Häufige Fragen zu Google Workspace.
Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK for Google Cloud benötigen, gehen Sie so vor:
- Weitere Informationen finden Sie im Leitfaden zur Fehlerbehebung für ABAP SDK for Google Cloud.
- In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.
- Erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care. Weitere Informationen zur Kontaktaufnahme mit Customer Care finden Sie unter Support für SAP in Google Cloud.
Beitragende
Autor: Satish Inamdar | SAP-Anwendungsingenieur
Weiterer Mitwirkender: Vikash Kumar | Technischer Autor