Unveiling the Future of Enterprise Applications
Die SAP re:cap Veranstaltung im Juni 2024 stand ganz im Zeichen der Innovation und des technologischen Fortschritts – insbesondere bei der KI Integration – innerhalb des SAP-Ökosystems. Die Veranstaltung konzentrierte sich auf das SAP Cloud Application Programming Model (CAP) und stellte neue Funktionen und Verbesserungen vor, die das Entwicklererlebnis verbessern und die Entwicklung von Unternehmensanwendungen optimieren sollen. Im Folgenden finden Sie einen detaillierten Überblick über die wichtigsten Highlights und die Bedeutung für Entwickler und Unternehmensanwendungen.
Highlights
Eines der herausragenden Merkmale, die auf der re:cap 2024 vorgestellt wurden, war die verbesserte Ausfallsicherheit, die CAP durch seine Messaging-APIs bietet. Die Ausfallsicherheit von CAP stellt sicher, dass Anwendungen mit Serverausfällen problemlos umgehen können. Ereignisse, die während der Ausfallzeiten auftreten, werden in einer Warteschlange gespeichert und verarbeitet, sobald der Server wieder online ist. Diese Entkopplung bietet eine erhebliche Verbesserung, die Entwicklern die Gewissheit gibt, dass ihre Anwendungen auch unter ungünstigen Bedingungen die Datenintegrität und Betriebskontinuität aufrechterhalten
Quelle: 1. Events and Messaging | capire
Die Einführung von „Composite Messaging“ stellt einen bedeutenden Sprung in der Art und Weise dar, wie Nachrichten in CAP verwaltet werden. Diese neue Funktion ermöglicht es Entwicklern, mehrere Nachrichtenkanäle dynamisch zur Einsatzzeit zu konfigurieren, ohne den Quellcode zu ändern. Durch die Bereitstellung eines transparenten Dispatchers für ein- und ausgehende Nachrichten verbessert ‚composite-messaging` die Skalierbarkeit und Flexibilität, so dass sich Anwendungen nahtlos an veränderte Geschäftsanforderungen anpassen können
Die Verbesserungen von CAP bei den Service-Definitionen und der Ereignisbehandlung rationalisieren die Erstellung und Verwaltung von APIs. Die neuen Erweiterungen vereinfachen die Definition und Verwaltung von Diensten und Ereignissen und fördern eine intuitivere Modellierung der Geschäftslogik. Dies erleichtert Entwicklern die Implementierung und Pflege komplexer Geschäftsprozesse, verkürzt die Entwicklungszeit und erhöht die Zuverlässigkeit der Anwendung
Der Schwerpunkt der Veranstaltung lag auf der Integration von künstlicher Intelligenz (KI) in das Framework. Es wurde gezeigt, wie CAP die Entwicklung von KI-gesteuerten Anwendungen in der Cloud optimieren kann.
Eine wichtige Erkenntnis war die verbesserte Unterstützung für KI und maschinelles Lernen in CAP, insbesondere durch die SAP BTP. Entwickler können nun KI-Modelle mithilfe von vorgefertigten Services und SDKs einfacher in CAP-Anwendungen integrieren, was die Komplexität beim Einsatz von KI im großen Maßstab drastisch reduziert. Für Entwickler reduzieren die auf der Veranstaltung vorgestellten erweiterten Tools und Best Practices den Aufwand für die Erstellung skalierbarer, KI-integrierter Anwendungen weiter.
Nachfolgend eine detailliertere Zusammenstellung zu den erwähnten Highlights:
Neue Features für die CDS Modellierung
Eine sehr wichtige Neuerung ist die verbesserte Codequalität und die Fehlererkennung:
🛠️ Expressions als Annotationswerte in der CDS-Modellierung ermöglichen eine Pfadprüfung zur Kompilierzeit, wodurch Laufzeitfehler vermieden und die Zuverlässigkeit des Codes verbessert werden – siehe Annotationen für die dynamische Steuerung der Sichtbarkeit des Rabatts:
Verbesserte UI-Flexibilität und -Anpassung
🖥️ OData-Ausdrücke erleichtern dynamische UI-Elemente, einschließlich verborgener Eigenschaften, datenabhängiger Beschriftungen und client-seitiger Funktionen für komplexe Logik. Der CDS-Compiler propagiert und schreibt Anmerkungen während der Projektion automatisch um, so dass gültige Anmerkungspfade ohne manuelles Eingreifen erhalten bleiben.
Event-Queue Plugin für robuste und skalierbare Ereignisverarbeitung
Das CAP Event-Queue-Plugin für Node.js bietet verwaltete Transaktionen, Lastausgleich und periodische Ereignisse, um die Ereignisverarbeitung zu vereinfachen und die Verteilung über Anwendungsinstanzen zu optimieren. Das Plugin gewährleistet Transaktionssicherheit, indem es Ereignisse an die Datenbank überträgt und Benachrichtigungen erst nach Abschluss der Geschäftslogik sendet, wodurch die Konsistenz auch bei Instanz-Neustarts erhalten bleibt.
Die verketteten Ereignisse erleichtern hierbei komplexe Geschäftsprozesse, indem sie nachfolgende Prozesse in einer Kette aufrufen, Transaktionssicherheit und Lastausgleich bieten und gleichzeitig asynchrone Verarbeitung ermöglichen –
Ein Coding-Beispiel:
Die Aufteilung größerer Prozesse verbessert die Verwaltbarkeit und Skalierbarkeit.
Dabei sollen Auftragsketten mit mehreren Ereignissen erstellt werden, die folgende Vorteile mit sich bringen:
- Integration von Fehlerbehandlung und Wiederholungsversuchen
- Automatisches Management von Serverabstürzen und Neustarts
- Lastausgleich und Lastkontrolle für Anwendungsinstanzen: Sorgt für eine gleichmäßige Verteilung der Arbeitslasten auf die Instanzen
Es können dazu Maßnahmen zur Vermeidung von Ressourcenkonflikten zwischen Tenants in mandantenfähigen Systemen implementiert werden. Diese Grundsätze sind entscheidend für die Entwicklung robuster, skalierbarer und effizienter Geschäftsanwendungen.
Entwicklung einer Gen AI App unter Anwendung von CAP and SAP HANA Cloud Vector Engine
Das aus meiner Sicht interessanteste Thema, das vorgestellt wurde, war die AI-Einbettung in SAP CAP. Das nachfolgende Schaubild visualisiert einige allgemeine Anwendungsfälle für generative KI und große Sprachmodelle, kategorisiert nach spezifischen Aufgaben und Fähigkeiten:
Die Anwendungsbeispiele wären:
- Beantwortung von natürlichsprachlichen Anfragen zu Produkthandbüchern
- Zusammenfassen und Erkennen von Mustern in Sicherheitsvorfällen
- Abgleich von Lebensläufen mit Stellenausschreibungen
Datentypen
- Text, Bild, Sprache, strukturierte Daten
Grundlegende Modelle – Diese Modelle unterstützen verschiedene Aufgaben wie:
- Beantwortung von Fragen
- Zusammenfassungen
- Schreibassistent
- Code-Generierung
Das Problem ist, dass vortrainierte Basismodelle unzureichend oder unvollständig sein können, was zu unzureichenden oder falschen Ergebnissen führen kann. Daher kommt RAG (= Retrieval Augmented Generation) zum Einsatz. RAG verbessert LLM-Antworten durch die Bereitstellung von relevantem Kontext und die Kombination von Abfrage und Generierung, um genauere und fundiertere Antworten zu erhalten – siehe Schaubild:
🧠Text Embeddings
Die sog. Texteinbettungen wandeln Sprache in hochdimensionale Vektoren um und ermöglichen eine semantische Suche und einen schnellen Ähnlichkeitsabgleich für die Kontextabfrage.
SAP HANA Cloud Vector Engine
🚀 Die SAP HANA Cloud Vector Engine führt ultraschnelle Vektorähnlichkeitssuchen durch und findet die 5 ähnlichsten Filme aus 10.000 in nur 30 ms, wobei AI Core für die Einbettungsgenerierung verwendet wird.
Fortgeschrittene RAG-Techniken
🤖Agentenbasiertes Retrieval nutzt LLMs zur intelligenten Auswahl geeigneter Datenquellen, während LLMs durch Selbstreflexion die Kontextrelevanz bewerten und verfeinern können (=>‚self-reflection, correction‘):
Praktische Anwendung
🎬 Ein Filmdatenbankbeispiel mit CAP und HANA Vector Engine demonstriert die praktische Umsetzung der semantischen Suche in einer KI-Anwendung – hier am Beispiel Super Mario:https://www.youtube.com/watch?v=Bz2-CQramNo&ab_channel=re%3E%E2%89%A1CAP
Entwickler können also mit Hilfe der CAP-Dokumentation und GPT-4 ein Beispiel für eine Filmdatenbank erstellen, die die SAP HANA Vector Engine für die effiziente Speicherung und Abfrage von Vektoreinbettungen nutzt. Das zu Grunde liegende CAP-Datenmodell sieht in Teilen wie folgt aus:
Die CDS-Entität Movies beinhaltet also einen Vektor Datentyp und einen darauf basierenden Service. Die Embeddings werden über die SAP AI Core innerhalb der NodeJS-Applikation abgefragt:
Der Payload enthält die spezifische Eingabe, nämlich die Frage: „How do the plots of the two Super Mario Bros. movies differ?“. Der Code verbindet sich also mit SAP AI Core, ruft eine bestimmte Modell-Deployment-ID ab und sendet eine Anfrage, um Embeddings basierend auf einer eingegebenen Frage zu generieren. Am Ende werden die Embeddings aus der Antwort extrahiert und zurückgegeben.
ReCap-Fazit
Zusammenfassend lässt sich sagen, dass SAP ReCAP 2024 aufgezeigt hat, dass das Cloud Application Programming Model ein leistungsfähiges und sich weiterentwickelndes Werkzeug für Unternehmensentwickler ist, wobei die KI-Integration immer nahtloser und zugänglicher wird.