Skip to main content
SAP Cloud Application Programming Model

Was ist das SAP Cloud Application Programming Model?

Von 26. Mai 2021Mai 31st, 2021Keine Kommentare

„Was ist das SAP Cloud Application Programming Model?“ – diese Frage stellte ich mir vor ein paar Monaten. Ich hatte ja keine Ahnung, dass das Schreiben eines Buches über die SAP Business Technology Platform mich zu mehr Fragen führen würde, als mir lieb ist. Scheinbar einfache Fragen waren nämlich plötzlich doch nicht so einfach zu beantworten. Ich konnte im Buch zwar nicht auf jedes Thema ausführlich eingehen, aber ich möchte meine Gedanken mit Ihnen teilen. Es war zweifellos eine spannende Erfahrung, und ich hoffe, Sie finden es hilfreich.

Warum ein SAP Cloud Application Programming Model?

Ihr Unternehmen erfüllt anspruchsvolle Anforderungen, die Entwickler möglichst zuverlässig und effizient umsetzen müssen. Der Betrieb und das Hosting von Anwendungen in der Cloud ist die Zukunft. Der Trend geht in fast allen Branchen in Richtung Cloud, da sie zur Beschleunigung des Geschäfts beiträgt.

Für die Entwicklung von Anwendungen benötigen Sie eine konsistente und optimierte Umgebung. Sie benötigen Sie eine stabile Plattform, die die von Ihnen erwarteten Dienste bereitstellt, ohne die Nutzbarkeit anderer Anwendungen zu beeinträchtigen oder die Produktionsumgebung zu stören. Aber es geht nicht nur um Kosteneinsparungen und die Vereinfachung des IT-Betriebs. In der Cloud-Welt müssen Sie schnell reagieren, agil sein und auf Veränderungen eingehen können.

Die Bereitstellung von Anwendungen für Ihre Kunden erfordert jedoch einen strategischen Entwicklungsansatz.
In der Cloud müssen Sie sich nicht um die Bereitstellung oder Wartung Ihrer Infrastruktur kümmern. Stattdessen können Sie sich auf die Anwendungsentwicklung konzentrieren. Es dauert nicht lange, bis eine Anwendung entwickelt und dann auf ihrem Konto bereitgestellt ist. Die größte Herausforderung ergibt sich bei der Erstellung und Wartung dieser Anwendung. Sie benötigen eine stabile Umgebung für die Entwicklung von Geschäftsanwendungen, da Sie während der Lebensdauer einer Anwendung viele Änderungen vornehmen können. Die Anwendung muss auch dann funktionieren, wenn Sie die zugrunde liegende Infrastruktur oder Geschäftslogik ändern.

Die Entwicklung von Anwendungen ist schwierig. Der Wechsel in die Cloud bietet für Entwickler auch ein verbessertes Programmiermodell, mit dem sie innovative Anwendungen erstellen können, die leistungsfähiger und skalierbar sind. Das SAP Cloud Application Programming Model, auch SAP CAP genannt, zielt darauf ab, weniger technisch versierten Entwicklern die Nutzung der SAP-Services und -Systeme zu erleichtern. Dazu gehören beispielsweise SAP S/4HANA und SAP Business Technology Platform.

Die Möglichkeit, eine Cloud-Anwendung mit einem Minimum an Aufwand bereitzustellen, ist ein überzeugendes Verkaufsargument. Aber es gibt eine Menge Komplexität, die mit der Bereitstellung in der Cloud verbunden ist. Das Erstellen einer produktionsreifen Anwendung in einer Cloud-Umgebung kann Entwickler einschüchtern.

Sie möchten sicherstellen, dass Ihr Cloud-Anwendungsentwicklungsprojekt reibungslos abläuft und die Benutzer eine fantastische Erfahrung haben. Sie oder Ihr Projektmanager sagen Dinge wie: „Aber wir haben nur begrenzte Zeit und Ressourcen, ich brauche jetzt Ihr Feedback!“ oder „Wir haben Wochen damit verbracht, die Datenintegration in unsere Infrastruktur zu bauen, aber es sieht nicht richtig aus; können Sie uns helfen, eine bessere Lösung zu finden?“ oder „Unser Performance-Bericht zeigt Tonnen von Lesefehlern, wie kann ich das verbessern?“; „Welche Routinen sollte unser Team einführen, um sich auf dieses und jenes Ereignis vorzubereiten?“ und so weiter…

Sie und Ihre Entwickler suchen Anleitung und Best Practices für die Cloud-App-Entwicklung. Das SAP Cloud Application Programming Model führt Entwickler durch den Lebenszyklus von Cloud-Anwendungen – von der Idee bis zur Bereitstellung.

Das SAP CAP ermöglicht es Entwicklern, sich auf die Geschäftslogik zu konzentrieren, die das Herzstück jeder Anwendung ist, und so Anwendungen zu erstellen, die direkt auf die Geschäftsziele ausgerichtet sind.

Es ermöglicht die Erstellung von Anwendungen, die schnell, sicher und skalierbar sind. Das Ziel ist es, den Geschäftswert durch die Erstellung von Anwendungen in Cloud-Umgebungen zu steigern.

Ihre Entwickler müssen dabei nicht viel Code schreiben, um wiederkehrende Aufgaben zu erfüllen, wie beispielsweise das Speichern von Datenänderungen.

So können sie Software erstellen, die skalierbar ist, um immer komplexere Anforderungen zu erfüllen und gleichzeitig die Zeit bis zur Wertschöpfung drastisch zu verkürzen.

Die Entwickler können sich auf Ihre Geschäftsdomäne konzentrieren, so dass Sie schnell Anwendungen erhalten, die Ihrem Unternehmen nutzen. Sie konzentrieren sich auf kritischere Aspekte Ihres Geschäfts und der Anwendungsentwicklung, während die Kosten für die Anwendungsentwicklung im Rahmen bleiben.

Das SAP Cloud Application Programming Model ist ein effektiver Weg, um Anwendungen und Services in der Cloud zu entwickeln. Es bietet Entwicklern die Möglichkeit, Anwendungen schnell zu entwickeln, zu testen und bereitzustellen und dabei bewährte Best Practices zu verwenden. Das Framework besteht aus einer Mischung aus weit verbreiteten Open-Source- und SAP-Tools und -Technologien.

Eine ordnungsgemäße Anwendungsentwicklung und -prüfung ist ein wesentlicher Bestandteil der Lieferung eines qualitativ hochwertigen Produkts. Die anhaltende Stabilität des SAP Cloud Application Programming Model ist der Schlüssel, um sicherzustellen, dass diejenigen, die sich auf SAP-Produkte verlassen, einen einfachen und vorhersehbaren Weg haben, um von ihnen zu profitieren.

SAP CAP bringt die Interessen von Entwicklern und Unternehmen so in Einklang, dass sie die Geschäftsziele erreichen und gleichzeitig die Entwicklungskosten senken können.

Dieser strukturierte Ansatz ermöglicht es den Entwicklern, sich auf die Geschäftslogik zu konzentrieren und die Komplexität zu reduzieren, während gleichzeitig der Fortschritt rationalisiert wird.

Die Vorteile liegen auf der Hand: Es müssen weniger Hürden genommen werden und es wird weniger Zeit für sich wiederholende Aufgaben und die zugrunde liegende Technologie aufgewendet.

Die Bausteine des SAP Cloud Application Programming Model

Das SAP Cloud Application Programming Model ist ein Framework aus Sprachen, Bibliotheken und Werkzeugen für die Erstellung von Services und Anwendungen in Unternehmensqualität. Es führt Entwickler mit bewährten bewährten Praktiken und einer großen Fülle von Out-of-the-Box-Lösungen für wiederkehrende Aufgaben auf einen sicheren Weg.

Projekte, die auf CAP basieren, profitieren von einem Schwerpunkt auf der Domäne. Anstatt sich in allzu technische Disziplinen zu vertiefen, liegt der Fokus auf einer beschleunigten Entwicklung und dem Schutz von Investitionen in einer Welt sich ständig verändernder Cloud-Technologien.

Neben Open-Source-Technologien setzt CAP vor allem auf:

Core Data Services (CDS) als universelle Modellierungssprache sowohl für Domänenmodelle als auch für Service-Definitionen.
Service-SDKs und -Laufzeiten für Node.js und Java, die Bibliotheken zur Implementierung und Nutzung von Services sowie generische Provider-Implementierungen bieten, die viele Anfragen automatisch bedienen.

Das SAP Cloud Application Programming Model ist damit offen und zugleich meinungsbildend. Genau das ist eines der leitenden Designprinzipien. Das Modell bietet Anleitung, aber auch Freiheit; es unterstützt sowohl Open-Source- als auch SAP-Tools und -Technologien.

CDS ist das Rückgrat des Programmiermodells, das die Möglichkeit bietet, Service-Definitionen und Datenmodelle, Abfragen und Ausdrücke in einfachen Objektnotationen zu erfassen.

Entwickler implementieren dann Ihre Geschäftslogik mit Hilfe der Service-SDKs und Laufzeiten. Es gibt sowohl für Java als auch für Node.js Bibliotheken, mit denen Entwickler Dienste über synchrone und asynchrone Schnittstellen (APIs) bereitstellen und konsumieren können. Die SDKs beinhalten eine Out-of-the-Box-Integration in untergeordnete Plattformdienste, wie Authentifizierung und Anmeldungsabläufe oder On- und Off-Boarding von SaaS-Tenants. Dank des White-Box-Ansatzes können Sie bei Bedarf auch auf native Funktionen der zugrunde liegenden Technologien zugreifen.

Es ist offen, weil es Ihnen die Wahl lässt. Sie können wählen, welche Technologien und Architekturmuster Sie verwenden möchten. Sie können sich die Teile des Programmiermodells auswählen, die Ihren Entwicklungsanforderungen am besten entsprechen.

Es ist aber auch meinungsbildend, weil es Richtlinien, Best Practices und Werkzeuge bereitstellt, mit denen Sie einem empfohlenen Ansatz folgen können. Das Programmiermodell wurde erstellt, um den besten Weg für die Cloud-Entwicklung zu finden.

Die Unterstützung für SAP-Services und -Tools ist erstklassig. So können Sie beispielsweise SAP HANA als Datenbank und das SAP Business Application Studio als IDE verwenden. Für diese beiden Produkte gibt es Out-of-the-Box-Funktionen, die Ihr Entwicklungsvorhaben beschleunigen können. CAP verpflichtet Sie jedoch nicht dazu, einen dieser Dienste zu verwenden. Es gibt bei diesem Programmiermodell keinen eingeschränkten, obligatorischen Pfad dem Sie folgen müssen.

Sie können SAP Fiori Elements verwenden, um Ihre Benutzeroberflächen zu erstellen, können aber auch mit alternativen Technologien arbeiten.

Es geht nicht darum, Sie zu zwingen, das eine oder das andere zu verwenden. Es geht darum, Ihnen die Entscheidungsfreiheit geben.

Wie gesagt, für die SAP-Technologien gibt es Out-of-the-Box-Funktionen, die Ihre Zeitabläufe beschleunigen, aber Sie können sie nach eigenem Ermessen kombinieren.
Das Programmiermodell ist unaufdringlich. Es versucht, frei von Annahmen zu bleiben. Hauptziel ist es, den überflüssigen Code zu reduzieren, der unabhängig von der gewählten Architektur oder Methode gleich bleibt.

Und nicht zuletzt ist das Programmiermodell plattformunabhängig. Sie können Anwendungen auf eine Weise erstellen, die unabhängig von der zugrunde liegenden Cloud-Infrastruktur ist. Dies wird durch die Verwendung eines API-zentrierten Ansatzes erreicht, der eine feste Verdrahtung mit einer bestimmten Technologie vermeidet.

Mit CAP können Sie also Technologien wählen, von der Entwicklungssprache über UI-Technologien bis hin zur Datenbank Ihrer Wahl. Sie können Ihre Architekturmuster von Multi-Tenancy und Microservices bis hin zu CQRS und Event Sourcing wählen.

Das Framework unterstützt einige dieser Auswahlmöglichkeiten bereits von Haus aus – andere sind im Rahmen eines Projekts zu implementieren. Dabei gibt CAP Ihnen Anleitung und Unterstützung für wiederkehrende Aufgaben, ohne Sie einzuschränken. Sie können CAP als Ganzes nutzen oder nur die für Sie passenden Teile davon.

Es gibt Unterstützung für SAP-Technologien, aber es ist auch für die Integration mit alternativen Lösungen ausgelegt. CAP ist frei von Annahmen. Es hilft Ihren Entwicklern, überflüssigen Code zu vermeiden, indem es Konventionen über die Konfiguration stellt und die feste Verdrahtung mit einer bestimmten Plattform durch übergeordnete APIs vermeidet. Auf diese Weise ermöglicht Ihnen das Framework, problemlos eine veraltete Technologie gegen eine moderne auszutauschen.

Fazit

Was ist also das SAP Cloud Application Programming Model?

Es ist ein Framework von SAP, mit dem Sie schneller geschäftlichen Nutzen erzielen können, indem Sie Ihren Entwicklern erlauben, sich auf die Geschäftslogik zu konzentrieren.

CAP spart Ihnen Geld, indem es den Aufwand für die Programmierung der Anwendung und wiederkehrender Aufgaben verringert und die Anbindung an SAP- und potenzielle Drittanbieter-Services erleichtert.

Es schützt Ihre Investitionen, indem es die zugrundeliegende Technologie austauschbar macht und Ihnen somit ermöglicht, mit Cloud-Technologien Schritt zu halten.

Das SAP Cloud Application Programming Model ist unser Framework der Wahl, um moderne Side-by-Side-Erweiterungen für SAP-Systeme oder Anwendungen auf SAP-Plattformen zu erstellen.

Was denken Sie darüber? Bevorzugen Sie die Verwendung von RAP mit ABAP oder ein anderes Open-Source-Framework?

Eine Antwort hinterlassen