Before discussing the different runtime environments we first ask a simple question: "Exactly what problem are we trying to solve?". Organizations face three challenges in regards to application development:
- Rapidly evolving customer requirements which accelerate the demand for cloud solutions
- Limited development resources, which inhibit digitalization
- Complex IT landscapes, with a growing number of applications maintained by companies
Runtime environments and programming models are the solution to this problem. The choice of which to use is one of the most important decisions to make when developing and deploying applications. Broadly speaking there are two categories of runtime environments to choose from:
- SAP Managed Environments
- Customer Managed Environments
Let's take a quick look at both of them.
Joule Studio Runtime (SAP Managed)
As discussed in Unit 2 Lesson 2: "Describing The Autonomous Enterprise", SAP Autonomous Suite is the operational core of a business organized into Autonomous Domains where people set the direction and assistants and agents execute the work. However agents just as with any other type of software application need a reliable runtime environment for effectiveness. That runtime environment needs to provide services such as:
- Infrastructure
- Deployment Pipelines
- Observability
Joule Studio Runtime is the ideal runtime for agent execution. One way to think of it is if an agent were a figure skater then Joule Studio Runttime is the "ice" on which the agent "floats". It's an SAP managed runtime environment providing everything agents need for successful execution such as:
- Managed Execution--Container-based runtime, fully managed platform.
- Auto-Scaling--Horizontal scaling, dynamic resource allocation
- Observability--Built-in logging, monitoring, alerting.
- Lifecycle Management--Building, deploying, versioning and rollback orchestration.
- Platform Integration--Seamless binding to platform services.
- Security--Authentication, authorization, tenant isolation.
By providing these services Joule Studio Runtime offers a better developer experience. Developers can concentrate on writing their agents business logic leaving the runtime infrastructure details to SAP.
Additional Runtime Environments (Customer Managed)
Regarding customer managed environments there are three to choose from:
Cloud Foundry
Kyma
ABAP
Cloud Foundry versus Kyma versus ABAP. Which Should I Use?
Programming Models
Having looked at the different runtime environments available we now turn our attention to programming models. There are two to choose from:
- Cloud Application Programming Model (CAP)
- ABAP RESTful Application Programming Model (RAP)
Cloud Application Programming Model
ABAP RESTful Application Programming Model
CAP versus RAP. Which Should I Choose?
SAP Fiori
A common way that the programming model is referred to sometimes is the "backend" of a full stack application. The backend part of the application design is not something that the end user typically sees. We now turn our attention to the part that the end user does see (the frontend). SAP Fiori is a design language and user experience (UX) paradigm that serves as a ideal solution for the frontend. SAP Fiori UIs will simplify and streamline user interactions with applications, making it intuitive, user-friendly, and visually appealing. SAP Fiori is built on modern web technologies (HTML, CSS, JavaScript) and can be accessed through a web browser on various devices, including desktop computers, tablets, and smartphones.
- Role-Based UX: SAP Fiori offers a personalized user experience based on the roles and responsibilities of each user. This ensures that users have access to the tools and information they need without unnecessary clutter
- Responsive Design: SAP Fiori applications are designed to be responsive, meaning they adapt to different screen sizes and orientations. This allows users to work seamlessly across multiple devices
- Simplified Interface: The user interface is clean and minimalistic, focusing on essential tasks and reducing the need for extensive training.
- Modern Architecture: SAP Fiori leverages SAPUI5 (a JavaScript framework) and OData services to provide a robust and scalable architecture.
For a more in depth introduction to SAP Fiori please see: Learning the Basics of SAP Fiori
Mobile Applications
Think of the following three components as a complete mobile ecosystem:
- SAP Mobile Services: The backend platform (the engine and factory). It's where mobile apps are designed, built and secured.
- SAP Mobile Start: The primary user-facing app (the front door). It's the central, native entry point for users to access all their SAP applications and tasks on a mobile device.
- SAP Mobile Cards: A content format (the information snippets). These are small, wallet-style "micro-apps" that display key information and allow for simple actions. They are often displayed inside SAP Mobile Start.
SAP Mobile Services
SAP Mobile Start
SAP Mobile Cards
How They Work Together: A Simple Workflow
SAP Mobile Development Kit versus SAP BTP SDK for iOS and SAP BTP SDK for Android
SAP Mobile Development Kit (MDK)
SAP BTP SDK for iOS
SAP BTP SDK for Android
Summary
In summary, runtime environments and programming models along with development tools such as Joule Studio provide everything needed to build, deploy, and manage modern cloud applications and extensions.