{"ref":"capability:app-hosting","page":"/capabilities/app-hosting","json":"/capabilities/app-hosting.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"app-hosting","name":"App hosting","domain":"ui-and-frontend-bridge","ecosystems":["btp","ui5","cap"],"universal":true,"description":"Where a built frontend lives and what serves it — the static files of a frontend application after the build, reachable behind a login and beside the API it talks to, without a web server of your own.","short":"Hosting a frontend's built static files behind a login","core_coverage":{"state":"core-only","assessed_at":"2026-09-09","what_core_does":"The HTML5 Application Repository stores a built UI5 or HTML5 application and serves it through the [application router](artifact:sap-approuter); the Application Frontend Service does the same without a runtime of your own to deploy to.","sources":[{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/html5-apps-repo.json","title":"SAP HTML5 Application Repository service — SAP btp-service-metadata v1","checked":"2026-09-09"},{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/app-front.json","title":"Application Frontend Service — SAP btp-service-metadata v1","checked":"2026-09-09"}]},"coverage_by_ecosystem":{"ui5":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"The [HTML5 Application Repository](artifact:btp-html5-application-repository) stores the static HTML, CSS and JavaScript a built UI5 app compiles to, and the application router reads it from there at runtime; the [Application Frontend service](artifact:btp-application-frontend) hosts the same kind of built app as a subscribed SaaS application instead.","where_it_stops":"Neither service is UI5-specific: both store any built HTML5 frontend the same way. [SAP-samples/ui5-deployments](artifact:sap-samples-ui5-deployments) packages a UI5 app for these two paths and demonstrates the packaging, not the hosting itself.","sources":[{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/html5-apps-repo.json","title":"SAP HTML5 Application Repository service — SAP btp-service-metadata v1","checked":"2026-09-14"},{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/app-front.json","title":"Application Frontend Service — SAP btp-service-metadata v1","checked":"2026-09-14"},{"url":"https://github.com/SAP-docs/btp-cloud-platform/blob/main/docs/30-development/html5-application-repository-f8520f5.md","title":"HTML5 Application Repository — SAP BTP documentation (SAP-docs mirror of the SAP Help Portal)","checked":"2026-09-14","quote":"HTML5 applications consist of static content such as HTML, CSS, JavaScript, and other files, that run on a browser."}]},"cap":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"The answer in CAP is BTP's hosting services: `cds add portal` wires a multitenant app to the [HTML5 Application Repository](artifact:btp-html5-application-repository) behind the SAP Cloud Portal service, and `cds add app-frontend` points a single-tenant app at the [Application Frontend service](artifact:btp-application-frontend) instead.","where_it_stops":"`cds add approuter` and `cds add workzone` route to the same services and add no hosting of CAP's own: a hand-built [application router](artifact:sap-approuter), or SAP Build Work Zone's managed one through the Fiori Launchpad. CAP wires the binding; the hosting stays a BTP service either way.","sources":[{"url":"https://cap.cloud.sap/docs/guides/deploy/to-cf","title":"Deploy to Cloud Foundry — capire","checked":"2026-09-14","quote":"If you intend to deploy multitenant applications with a UI, set up the HTML5 Application Repository in combination with the SAP Cloud Portal service ... For single-tenant applications, you can use the new SAP BTP Application Frontend service."}]}},"coverage_by_flavor":{"web-components":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"A UI5 Web Components app builds to the same kind of static bundle as a freestyle one — the library's own README describes the components as suitable for anything from static web sites to complex web applications, and expects them bundled along with the rest of the app rather than pulled from a CDN — so the [HTML5 Application Repository](artifact:btp-html5-application-repository) and the [Application Frontend service](artifact:btp-application-frontend) store and serve it exactly as they do any other built HTML5 frontend.","where_it_stops":"Neither service reads what framework produced the bundle, so the flavor changes nothing about where it stops: the same boundary as the door's own assessment applies.","sources":[{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/html5-apps-repo.json","title":"SAP HTML5 Application Repository service — SAP btp-service-metadata v1","checked":"2026-09-14"},{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/app-front.json","title":"Application Frontend Service — SAP btp-service-metadata v1","checked":"2026-09-14"},{"url":"https://github.com/SAP/ui5-webcomponents","title":"SAP/ui5-webcomponents — README","checked":"2026-09-14","quote":"Suitable for building anything from static web sites to complex web applications. ... you are expected to import only the components (or other public APIs) that you are going to use and bundle them along with the rest of your application."}]}},"history":[{"date":"2026-09-14","field":"coverage_by_ecosystem.ui5","from":null,"to":"core-only","reason":"Was falling back to core_coverage's BTP sentence, unchanged for the ui5 door. No artifact whose own ecosystem is ui5 provides this capability — [SAP-samples/ui5-deployments](artifact:sap-samples-ui5-deployments) demonstrates it rather than providing it — so core-only with no community entry names who actually answers: the same two BTP services, reached from outside the door."},{"date":"2026-09-14","field":"coverage_by_ecosystem.cap","from":null,"to":"core-only","reason":"Was falling back to core_coverage's BTP sentence, unchanged for the cap door. Both [the HTML5 Application Repository](artifact:btp-html5-application-repository) and [the Application Frontend service](artifact:btp-application-frontend) have btp as their own ecosystem and serve cap rather than being CAP's own providers, and capire's own deploy guide wires cds add portal and cds add app-frontend to exactly those two services, so CAP's map borrows the BTP reading rather than asserting a separate community answer."},{"date":"2026-09-14","field":"coverage_by_flavor.web-components","from":null,"to":"core-only","reason":"Hosting is a question about a built bundle, not about what produced it: UI5 Web Components' own README describes the library as suitable for static web sites and expects it bundled into the app rather than served from its own runtime, so the same two BTP services that answer for the freestyle door answer here too, unchanged. No artifact whose own ecosystem is ui5 states web-components on a provides or demonstrates edge for this capability, so the reading rests on the same absence coverage_by_ecosystem.ui5 already recorded."},{"date":"2026-10-17","field":"description","from":"Where a built frontend lives and what serves it — the static files of a UI5 application after the build, reachable behind a login and beside the API it talks to, without a web server of your own.","to":"Where a built frontend lives and what serves it — the static files of a frontend application after the build, reachable behind a login and beside the API it talks to, without a web server of your own.","reason":"Keep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.ui5. Maintainer-requested scope audit."},{"date":"2026-10-26","field":"core_coverage.what_core_does","from":"...serves it through the approuter; the Application Frontend Service does the same...","to":"...serves it through the [application router](artifact:sap-approuter); the Application Frontend Service does the same...","reason":"Reassessed against the graph (check:capabilities): names the SAP application router package the sentence already relied on."},{"date":"2026-10-26","field":"coverage_by_ecosystem.ui5.where_it_stops","from":"Neither service is UI5-specific — ... and no artifact whose own ecosystem is ui5 hosts a built app: [SAP-samples/ui5-deployments] packages a UI5 app for these two paths, but demonstrates the packaging rather than providing the hosting itself.","to":"Neither service is UI5-specific: both store any built HTML5 frontend the same way. [SAP-samples/ui5-deployments] packages a UI5 app for these two paths and demonstrates the packaging, not the hosting itself.","reason":"Reassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts."},{"date":"2026-10-26","field":"coverage_by_ecosystem.cap.what_core_does","from":"The answer in CAP is the same two BTP services: ...","to":"The answer in CAP is BTP's hosting services: ...","reason":"Reassessed against the graph (check:capabilities): removed the count of services."},{"date":"2026-10-26","field":"coverage_by_ecosystem.cap.where_it_stops","from":"...route to the same two services rather than adding a third of CAP's own — a hand-built application router, ...","to":"...route to the same services and add no hosting of CAP's own: a hand-built [application router](artifact:sap-approuter), ...","reason":"Reassessed against the graph (check:capabilities): removed the count of services and linked the application router package."},{"date":"2026-10-26","field":"coverage_by_flavor.web-components.where_it_stops","from":"...the same boundary as the door's own assessment applies, and no artifact whose own ecosystem is ui5 hosts a built app in any flavor, web-components included.","to":"...the same boundary as the door's own assessment applies.","reason":"Reassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts."}],"drafted_with_ai":true,"framing_by_ecosystem":{"ui5":{"description":"Where a built frontend lives and what serves it — the static files of a UI5 application after the build, reachable behind a login and beside the API it talks to, without a web server of your own."}}},"sap_delivery":{"door":"btp","all":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:sap-approuter","name":"@sap/approuter","json":"/artifacts/sap-approuter.json"},{"ref":"artifact:btp-application-frontend","name":"SAP Application Frontend service","json":"/artifacts/btp-application-frontend.json"},{"ref":"artifact:btp-html5-application-repository","name":"SAP HTML5 Application Repository service for SAP BTP","json":"/artifacts/btp-html5-application-repository.json"}]},"by_flavor":{}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:sap-approuter","name":"@sap/approuter","json":"/artifacts/sap-approuter.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:btp-application-frontend","name":"SAP Application Frontend service","json":"/artifacts/btp-application-frontend.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:btp-html5-application-repository","name":"SAP HTML5 Application Repository service for SAP BTP","json":"/artifacts/btp-html5-application-repository.json","ecosystem":"btp","origin_ring":"sap-official"}],"samples":[{"ref":"artifact:sap-samples-btp-hello-world-fiori","name":"btp-hello-world-fiori","json":"/artifacts/sap-samples-btp-hello-world-fiori.json"},{"ref":"artifact:sap-samples-btp-s4hana-nocode-extension","name":"btp-s4hana-nocode-extension","json":"/artifacts/sap-samples-btp-s4hana-nocode-extension.json"},{"ref":"artifact:miyasuta-cap-redis","name":"cap-redis","json":"/artifacts/miyasuta-cap-redis.json"},{"ref":"artifact:miyasuta-cap-reuse-html5","name":"cap-reuse-html5","json":"/artifacts/miyasuta-cap-reuse-html5.json"},{"ref":"artifact:miyasuta-cap-ui","name":"cap-ui","json":"/artifacts/miyasuta-cap-ui.json"},{"ref":"artifact:sap-samples-multi-cloud-html5-apps-samples","name":"SAP-samples/multi-cloud-html5-apps-samples","json":"/artifacts/sap-samples-multi-cloud-html5-apps-samples.json"},{"ref":"artifact:sap-samples-ui5-deployments","name":"SAP-samples/ui5-deployments","json":"/artifacts/sap-samples-ui5-deployments.json"}],"explained_by":[],"normative_context":[]}}