In the world of SAPUI5/OpenUI5, understanding the role of an App Router, particularly in the context of SAP BTP, is key. Before delving into the distinctions between Standalone and Managed App Routers, it’s crucial to understand the fundamental concept of an App Router.
What is an App Router?
In the context of SAPUI5, the @sap/approuter
package is part of the SAP Cloud Platform and is designed to function as a lightweight application router. It’s essentially a Node.js library that helps you set up a simple server to route incoming requests to the appropriate destinations based on defined routes and configurations.
Key features of @sap/approuter
include:
- Routing: The approuter allows you to define routes that determine how incoming requests are handled. You can specify different routes for different paths, enabling you to direct traffic to different services or destinations.
- Authentication: The router supports authentication and authorization mechanisms, helping you secure your applications. It can integrate with identity providers and handle authentication for your application.
- Single Sign-On (SSO): It supports Single Sign-On, allowing users to authenticate once and access multiple applications without having to log in again.
- Proxy: The approuter can act as a proxy, forwarding requests to backend services while handling authentication and authorization.
- Configuration: You can configure the approuter through a
xs-app.json
file, where you define routes, authentication methods, and other settings.
Types of App Routers
- Managed App Router: Offered as a service by SAP BTP, the Managed App Router extends its responsibility to routing requests for all applications within a subaccount.
- Standalone App Router: A standalone app router is not tightly coupled to the SAP BTP environment. You can configure a standalone app router based on the specific needs of your application. You have the flexibility to define specific settings including routes, authentication methods, and more. This type of router is deployed within a Cloud Foundry space and is responsible for managing the routing of requests for all applications in that space.
Comparing Standalone and Managed App Routers
The main difference lies primarily in management and control:
- Managed App Router: Managed app router is managed by SAP. This means that SAP takes care of provisioning and maintaining the app router, and that users do not need to worry about any of the underlying infrastructure.
- Standalone App Router: Standalone App Router provides greater control, flexibility, and customization. The maintenance of a Standalone App Router are the responsibility of the user or the organization. This involves handling setup, configuration, updates, and troubleshooting.
Here is a table summarizing the key differences between standalone app routers and managed app routers:
Feature | Standalone App Router | Managed App Router |
---|---|---|
Provisioning | User’s Responsibility | Handled by SAP |
Maintenance | User’s Responsibility | Handled by SAP |
Scalability | User-Implemented | Inherent Scalability |
Availability | Manual Setup Required | Built-in High Availability |
When to use Managed App Router vs Standalone App Router
- Managed App Router: Ideal for most use cases due to ease of use, high availability, and scalability.
- Standalone App Router: Better suited for specific requirements like custom routing logic or multi-tenant applications, particularly in custom or non-SAP environments.
This overview provides a comprehensive look at the Managed vs. Standalone Approuter in the SAPUI5 context, offering insights for optimal utilization in various scenarios.
In summary, choosing between a Managed and Standalone App Router in SAPUI5 depends on your priorities. Choose the Managed App Router for straightforward implementation, reliability, and automatic scaling in standard SAP settings. Alternatively, select a Standalone App Router for greater control and flexibility in custom or complex scenarios, keeping in mind the additional responsibility for maintenance and configuration.